{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":2053,"title":"Strange Number Algorithms","description":"Three integer numbers will be provided to you. Write a function to \r\n\r\n Step1: Multiply first number by 3.\r\n Step2: Add 6 with the getting result.\r\n Step3: divide it by 3.\r\n Step4: Subtract the first number.\r\n\r\n Step1: Double the second number.\r\n Step2: Add 9 with result.\r\n Step3: Subtract 3 with the result.\r\n Step4: Divide the result by 2.\r\n Step5: Subtract the result with the second number.\r\n\r\n Step1:Add 7 to the third number.\r\n Step2:Multiply the number with 2.\r\n Step3:Subtract 4 from the result.\r\n Step4:Divide the result by 2.\r\n Step5:Subtract the third number from the result.\r\n\r\nReturn a single row matrix with the three answers.\r\n\r\n","description_html":"\u003cp\u003eThree integer numbers will be provided to you. Write a function to\u003c/p\u003e\u003cpre\u003e Step1: Multiply first number by 3.\r\n Step2: Add 6 with the getting result.\r\n Step3: divide it by 3.\r\n Step4: Subtract the first number.\u003c/pre\u003e\u003cpre\u003e Step1: Double the second number.\r\n Step2: Add 9 with result.\r\n Step3: Subtract 3 with the result.\r\n Step4: Divide the result by 2.\r\n Step5: Subtract the result with the second number.\u003c/pre\u003e\u003cpre\u003e Step1:Add 7 to the third number.\r\n Step2:Multiply the number with 2.\r\n Step3:Subtract 4 from the result.\r\n Step4:Divide the result by 2.\r\n Step5:Subtract the third number from the result.\u003c/pre\u003e\u003cp\u003eReturn a single row matrix with the three answers.\u003c/p\u003e","function_template":"function amat = strange(n)\r\n  amat = n(1)-n(1)*3+6/3;\r\nend","test_suite":"%%\r\nn = [1 10 100];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [0 499 999];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [999 666 333];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [7 63 347];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":17471,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":101,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-12-15T06:55:46.000Z","updated_at":"2026-02-20T14:09:20.000Z","published_at":"2013-12-15T06:56:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThree integer numbers will be provided to you. Write a function to\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Step1: Multiply first number by 3.\\n Step2: Add 6 with the getting result.\\n Step3: divide it by 3.\\n Step4: Subtract the first number.\\n\\n Step1: Double the second number.\\n Step2: Add 9 with result.\\n Step3: Subtract 3 with the result.\\n Step4: Divide the result by 2.\\n Step5: Subtract the result with the second number.\\n\\n Step1:Add 7 to the third number.\\n Step2:Multiply the number with 2.\\n Step3:Subtract 4 from the result.\\n Step4:Divide the result by 2.\\n Step5:Subtract the third number from the result.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn a single row matrix with the three answers.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55530,"title":"Jump Search - 01","description":"Find the number of leaps you need to take to find an element in an array using the jump search algorithm.\r\nFor example, \r\na=[ 2,5,6,9,12,14,15,16,17,19,31]\r\nTo find 16 with a jump step of 3, you follow,  2 -\u003e 9 -\u003e 15 -\u003e 19 -\u003e 17 -\u003e 16\r\nSo, total number of jumps = 5\r\nnb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \r\nIf the jump step is larger than the array size, u jump to the last element of the array.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 201.438px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 100.713px; transform-origin: 407px 100.719px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the number of leaps you need to take to find an element in an array using the jump search algorithm.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea=[ 2,5,6,9,12,14,15,16,17,19,31]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo, total number of jumps = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003enb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf the jump step is larger than the array size, u jump to the last element of the array.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = jump_search(a,x,n)\r\n  y = x;\r\nend","test_suite":"%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=16;\r\nn=3;\r\ny_correct = 5;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=15;\r\nn=1;\r\ny_correct = 6;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=2;\r\nn=5;\r\ny_correct = 0;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=31;\r\nn=12;\r\ny_correct = 1;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=17;\r\nn=12;\r\ny_correct = 3;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=38;\r\nn=2;\r\ny_correct = 5;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=11;\r\nn=4;\r\ny_correct = nan;\r\nassert(isnan(jump_search(a,x,n)))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":363598,"edited_by":363598,"edited_at":"2022-09-30T16:20:21.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":"2022-09-29T13:10:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-09-08T04:51:33.000Z","updated_at":"2025-12-15T02:19:46.000Z","published_at":"2022-09-28T12:58:17.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the number of leaps you need to take to find an element in an array using the jump search algorithm.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[ 2,5,6,9,12,14,15,16,17,19,31]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, total number of jumps = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003enb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the jump step is larger than the array size, u jump to the last element of the array.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45385,"title":"Coin distribution","description":"Imagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\r\n\r\nu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\r\n\r\nThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\r\n\r\n   2000 - 1\r\n    100 - 2\r\n\r\nthe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many. \r\n\r\n  out=[2000 100;\r\n          1   2]","description_html":"\u003cp\u003eImagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\u003c/p\u003e\u003cp\u003eu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\u003c/p\u003e\u003cp\u003eThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\u003c/p\u003e\u003cpre\u003e   2000 - 1\r\n    100 - 2\u003c/pre\u003e\u003cp\u003ethe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eout=[2000 100;\r\n        1   2]\r\n\u003c/pre\u003e","function_template":"function out = coin(n)","test_suite":"%%\r\ny=[2000         100\r\n      1           2]\r\nassert(isequal(coin(2200),y))\r\n\r\n%%\r\ny=[100,20,2;2,1,1]\r\nassert(isequal(coin(222),y))\r\n\r\n%%\r\ny=[2000         500         100          50          20          10           5           2           1\r\n    3           1           2           1           1           1           1           1           1]\r\nassert(isequal( coin(6788),y))\r\n\r\n%%\r\ny=[2000         100          20           5           2           1\r\n   56728           3           2           1           1           1]\r\nassert(isequal(  coin(113456348),y))\r\n\r\n%%\r\ny=[2;2]\r\nassert(isequal( coin(4),y))\r\n\r\n%%\r\ny=[1000         100          20           5           2\r\n           1           4           2           1           2]\r\nassert(isequal( coin(1449),y))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":46,"test_suite_updated_at":"2020-03-24T19:30:04.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-24T18:58:31.000Z","updated_at":"2026-02-09T18:16:23.000Z","published_at":"2020-03-24T19:30:04.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   2000 - 1\\n    100 - 2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ethe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[out=[2000 100;\\n        1   2]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2189,"title":"Order of things - 1","description":"Let's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time. \r\n\r\nThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation. \r\n\r\n    A  B  C  D  E\r\n A  0  1  0  0  0\r\n B  0  0  0  0  0\r\n C  1  0  0  1  0\r\n D  1  0  0  0  0\r\n E  1  1  1  1  0\r\n\r\nA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\r\n\r\nIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\r\n\r\n    B  A  D  C  E\r\n B  0  0  0  0  0\r\n A  1  0  0  0  0\r\n D  0  1  0  0  0\r\n C  0  1  1  0  0\r\n E  1  1  1  1  0\r\n\r\nReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\r\n\r\n [ 2 1 4 3 5 ]\r\n\r\nYou may assume that all calculations can be executed, in some order or another.","description_html":"\u003cp\u003eLet's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time.\u003c/p\u003e\u003cp\u003eThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation.\u003c/p\u003e\u003cpre\u003e    A  B  C  D  E\r\n A  0  1  0  0  0\r\n B  0  0  0  0  0\r\n C  1  0  0  1  0\r\n D  1  0  0  0  0\r\n E  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/p\u003e\u003cp\u003eIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\u003c/p\u003e\u003cpre\u003e    B  A  D  C  E\r\n B  0  0  0  0  0\r\n A  1  0  0  0  0\r\n D  0  1  0  0  0\r\n C  0  1  1  0  0\r\n E  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\u003c/p\u003e\u003cpre\u003e [ 2 1 4 3 5 ]\u003c/pre\u003e\u003cp\u003eYou may assume that all calculations can be executed, in some order or another.\u003c/p\u003e","function_template":"function order = calculation_order(dependencies)\r\n  order  = 1:size(dependencies,1);\r\nend","test_suite":"%%\r\ndependencies = [\r\n  0  0\r\n  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 1 2 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  1  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 2 1 4 3 5 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  1  1  1\r\n  0  0  1  1  1\r\n  0  0  0  1  1\r\n  0  0  0  0  1\r\n  0  0  0  0  0\r\n];\r\norder = calculation_order(dependencies);\r\nordered = dependencies(order,order);\r\nassert(~nnz(triu(ordered-diag(diag(ordered)))));\r\n\r\n%%\r\ndependencies_ = tril(randi(2,10)-1);\r\ndependencies_ = dependencies_-diag(diag(dependencies_));\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\nclear order_;\r\norder = calculation_order(dependencies);\r\n% [~,order] = sort(order_);\r\nassert(~nnz(triu(dependencies(order,order))));\r\n\r\n%%\r\ndependencies_ = randi(2,10)-1;\r\ndependencies_ = dependencies_-triu(dependencies_);\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\nclear order_; % to prevent the evalin hack\r\norder = calculation_order(dependencies);\r\n% [~,order] = sort(order_);\r\nassert(~nnz(triu(dependencies(order,order))));\r\n\r\n%%\r\n% n = 10;\r\n% dependencies_ = tril(randi(3,n)\u003e1|diag(ones(1,n-1),-1))\u0026~eye(n);\r\n% order_ = randperm(n);\r\n% dependencies = dependencies_(order_,order_);\r\ndependencies = [\r\n     0     1     1     0     1     0     0     0     0     1\r\n     0     0     0     0     1     0     0     0     0     1\r\n     0     1     0     0     1     0     0     0     0     1\r\n     1     0     1     0     1     1     0     0     0     0\r\n     0     0     0     0     0     0     0     0     0     0\r\n     0     0     0     0     0     0     0     1     0     1\r\n     1     1     1     0     0     0     0     1     1     1\r\n     1     1     0     0     1     0     0     0     0     1\r\n     1     1     1     1     0     1     0     1     0     1\r\n     0     0     0     0     1     0     0     0     0     0\r\n];\r\norder = calculation_order(dependencies);\r\n% [~,order_correct] = sort(order_);\r\norder_correct = [ 5    10     2     3     1     8     6     4     9     7 ];\r\nassert(isequal(order,order_correct));","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":"2014-02-18T08:49:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-17T16:26:27.000Z","updated_at":"2026-01-28T10:54:41.000Z","published_at":"2014-02-18T08:49:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    A  B  C  D  E\\n A  0  1  0  0  0\\n B  0  0  0  0  0\\n C  1  0  0  1  0\\n D  1  0  0  0  0\\n E  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    B  A  D  C  E\\n B  0  0  0  0  0\\n A  1  0  0  0  0\\n D  0  1  0  0  0\\n C  0  1  1  0  0\\n E  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ [ 2 1 4 3 5 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may assume that all calculations can be executed, in some order or another.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55285,"title":"Number of leaps in binary search","description":"Binary search is one of the most popular searching algorithms (Binary Search Algorithm). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\r\nWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\r\n\r\nFor example, \r\ngiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\r\nThe item is located at index 5. But thats not what you are looking for.\r\nImplementing Binary search --\r\nstep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\r\nstep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\r\nstep - 3: mid_elem=8. match.\r\nSo, no of steps =3.\r\n\r\nIf the value is not found, return -1.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 457.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 228.65px; transform-origin: 407px 228.65px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.5px 8px; transform-origin: 199.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBinary search is one of the most popular searching algorithms (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Binary_search_algorithm\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eBinary Search Algorithm\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 108px 8px; transform-origin: 108px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 43px 8px; transform-origin: 43px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 194.5px 8px; transform-origin: 194.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003egiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 215px 8px; transform-origin: 215px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe item is located at index 5. But thats not what you are looking for.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94px 8px; transform-origin: 94px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eImplementing Binary search --\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 61.3px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 30.65px; transform-origin: 391px 30.65px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 328px 8px; transform-origin: 328px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 311.5px 8px; transform-origin: 311.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 91px 8px; transform-origin: 91px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 3: mid_elem=8. match.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 59.5px 8px; transform-origin: 59.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSo, no of steps =3.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 107px 8px; transform-origin: 107px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the value is not found, return -1.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":" function step = binary_step(a,val)\r\n  step = x;\r\nend","test_suite":"%%\r\na=[2,4,5,7,8,9,19];\r\nval=7;\r\ny_correct = 1;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=4;\r\ny_correct = 2;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=8;\r\ny_correct = 3;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=21;\r\ny_correct = -1;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44];\r\nval=31;\r\ny_correct = 3;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44];\r\nval=33;\r\ny_correct = 4;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44,3];\r\nval=33;\r\ny_correct = 4;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= randperm(200);\r\nval=47;\r\ny_correct = 8;\r\nassert(isequal(binary_step(a,val),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":363598,"edited_by":223089,"edited_at":"2022-09-14T08:41:03.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2022-09-14T08:41:03.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-12T22:28:58.000Z","updated_at":"2025-10-01T23:09:27.000Z","published_at":"2022-08-12T22:34:00.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBinary search is one of the most popular searching algorithms (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Binary_search_algorithm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eBinary Search Algorithm\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003egiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe item is located at index 5. But thats not what you are looking for.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImplementing Binary search --\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 3: mid_elem=8. match.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, no of steps =3.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the value is not found, return -1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":55290,"title":"Cut the rod","description":"A rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \r\nlength, len= [1, 2, 3, 4, 5,  6,   7,  8]\r\nprice, p     = [1, 5, 8, 9,10,17,17,20]\r\nHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\r\nSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\r\n\r\nFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\r\nThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u003e 5+5=10. \r\nFor (1,3)=\u003e9; (1,1,1,1)=\u003e 4; (1,1,2)=\u003e7, (4)=\u003e9. \r\n\r\nIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 322.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 161.438px; transform-origin: 407px 161.438px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 20.4375px; transform-origin: 391px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elength, len= [1, 2, 3, 4, 5,  6,   7,  8]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eprice, p     = [1, 5, 8, 9,10,17,17,20]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u0026gt; 5+5=10. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor (1,3)=\u0026gt;9; (1,1,1,1)=\u0026gt; 4; (1,1,2)=\u0026gt;7, (4)=\u0026gt;9. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = rod_cut(x,p)\r\n  y = x;\r\nend","test_suite":"%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=4;\r\ny_correct = 10;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=8;\r\ny_correct = 22;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=7;\r\ny_correct = 18;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=6;\r\ny_correct = 17;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[10,5,3,18];\r\nx=4;\r\ny_correct = 40;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n\r\n%%\r\np=[10,5,3,18];\r\nx=2;\r\ny_correct = 20;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n\r\n%%\r\np=[10,5,36,18,36];\r\nx=4;\r\ny_correct = 46;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[10,5,36,18,36];\r\nx=5;\r\ny_correct = 56;\r\nassert(isequal(rod_cut(x,p),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":363598,"edited_by":363598,"edited_at":"2022-08-13T23:35:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2022-08-13T23:35:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-13T23:28:51.000Z","updated_at":"2026-01-06T08:34:18.000Z","published_at":"2022-08-13T23:35:18.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elength, len= [1, 2, 3, 4, 5,  6,   7,  8]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eprice, p     = [1, 5, 8, 9,10,17,17,20]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u0026gt; 5+5=10. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor (1,3)=\u0026gt;9; (1,1,1,1)=\u0026gt; 4; (1,1,2)=\u0026gt;7, (4)=\u0026gt;9. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":56070,"title":"Jump Search  - 02","description":"Find the number of leaps you need to take to find the 'first occurrence' of an element in an array using the jump search algorithm.\r\nFor example, \r\na=[ 2,5,6,9,12,15,15,16,17,19,31]\r\nTo find 16 with a jump step of 3, you follow,  2 -\u003e 9 -\u003e 15 -\u003e 19 -\u003e 17 -\u003e 16\r\nSo, total number of jumps = 5\r\nn.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \r\n\r\nIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \r\nThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\r\nIf the jump step is larger than the array size, u directly go to the last element of the array\r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 394.75px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 197.375px; transform-origin: 407px 197.375px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the number of leaps you need to take to find the '\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003efirst occurrence\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e' of an element in an array using the jump search algorithm.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea=[ 2,5,6,9,12,15,15,16,17,19,31]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo, total number of jumps = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003en.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cul style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 20.4375px; transform-origin: 391px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4375px; text-align: left; transform-origin: 363px 20.4375px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf the jump step is larger than the array size, u directly go to the last element of the array\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = jump_search_2(a,x,n)\r\n  y = x;\r\nend","test_suite":"%% 1\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=16;\r\nn=3;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 2\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=15;\r\nn=1;\r\ny_correct = 6;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 3\r\na=[2,5,6,9,12,14,15,16,17,19,31];\r\nx=2;\r\nn=5;\r\ny_correct = 0;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 4\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=31;\r\nn=12;\r\ny_correct = 2;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 5\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=17;\r\nn=12;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 6\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=38;\r\nn=2;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 7\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=10;\r\nn=5;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 8\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=30;\r\nn=2;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 9\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=35;\r\nn=2;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 10\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=35;\r\nn=3;\r\ny_correct = 3;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 11\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=350;\r\nn=3;\r\ny_correct = nan;\r\nassert(isnan(jump_search_2(a,x,n)))\r\n\r\n%% 12\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=10000;\r\nn=4;\r\ny_correct = 7;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":8,"created_by":363598,"edited_by":363598,"edited_at":"2022-09-30T16:17:38.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":"2022-09-30T16:12:42.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-09-28T12:51:46.000Z","updated_at":"2025-08-31T14:33:49.000Z","published_at":"2022-09-28T13:13:44.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the number of leaps you need to take to find the '\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efirst occurrence\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e' of an element in an array using the jump search algorithm.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[ 2,5,6,9,12,15,15,16,17,19,31]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, total number of jumps = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003en.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the jump step is larger than the array size, u directly go to the last element of the array\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2685,"title":"FloydWarshall","description":"Our task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\r\nExample :\r\n input= [0   1  Inf Inf \r\n        Inf  0   2  Inf\r\n        Inf Inf  0   3\r\n         4   7  Inf  0]\r\n\r\n output= [0   1   3   6\r\n          9   0   2   5\r\n          7   8   0   3\r\n          4   5   7   0]","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 307.9px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 153.95px; transform-origin: 407px 153.95px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOur task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 29.5px 8px; transform-origin: 29.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e :\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 183.9px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 91.95px; transform-origin: 404px 91.95px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 96px 8.5px; tab-size: 4; transform-origin: 96px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e input= [0   1  Inf Inf \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        Inf  0   2  Inf\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        Inf Inf  0   3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         4   7  Inf  0]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e output= [0   1   3   6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          9   0   2   5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          7   8   0   3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 96px 8.5px; tab-size: 4; transform-origin: 96px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          4   5   7   0]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = floydwarshall(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [0   1  Inf Inf;\r\n    Inf  0   2  Inf;\r\n    Inf Inf  0   3\r\n     4   7  Inf  0];\r\ny_correct = [0   1   3   6;\r\n             9   0   2   5;\r\n             7   8   0   3;\r\n             4   5   7   0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   8  Inf  1;\r\n    Inf  0   1  Inf;\r\n     4  Inf  0  Inf;\r\n    Inf  2   9   0];\r\ny_correct = [0   3   4   1\r\n             5   0   1   6\r\n             4   7   0   5\r\n             7   2   3   0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   3   6  Inf Inf Inf Inf\r\n     3   0   2   1  Inf Inf Inf\r\n     6   2   0   1   4   2  Inf\r\n    Inf  1   1   0   2  Inf  4\r\n    Inf Inf  4   2   0   2   1\r\n    Inf Inf  2  Inf  2   0   1\r\n    Inf Inf Inf  4   1   1   0];\r\ny_correct = [0 3 5 4 6 7 7\r\n            3 0 2 1 3 4 4\r\n            5 2 0 1 3 2 3\r\n            4 1 1 0 2 3 3\r\n            6 3 3 2 0 2 1\r\n            7 4 2 3 2 0 1\r\n            7 4 3 3 1 1 0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   3  Inf  5;\r\n     2   0  Inf  4;\r\n    Inf  1   0  Inf;\r\n    Inf Inf  2   0];\r\ny_correct = [0 3 7 5\r\n             2 0 6 4\r\n             3 1 0 5\r\n             5 3 2 0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":32478,"edited_by":223089,"edited_at":"2023-01-03T06:19:00.000Z","deleted_by":null,"deleted_at":null,"solvers_count":32,"test_suite_updated_at":"2023-01-03T06:19:00.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-11-23T22:43:29.000Z","updated_at":"2026-03-30T15:58:21.000Z","published_at":"2014-11-23T22:44:41.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOur task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e :\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ input= [0   1  Inf Inf \\n        Inf  0   2  Inf\\n        Inf Inf  0   3\\n         4   7  Inf  0]\\n\\n output= [0   1   3   6\\n          9   0   2   5\\n          7   8   0   3\\n          4   5   7   0]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":43642,"title":"Euclidean distance from a point to a polynomial","description":"A not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\r\n\r\nAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\r\n\r\nGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum \u003chttps://en.wikipedia.org/wiki/Euclidean_distance Euclidean distance\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\r\n\r\nThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\r\n\r\nAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\r\n\r\n  x0y0 = [-2 -5];\r\n  P = [0.5 3 -5];\r\n  D = distance2polynomial(P,xy)\r\n  D =\r\n          1.89013819497707\r\n\r\n(Be careful plotting these curves in case you want to plot your solution. The command \"axis equal\" is a good idea.)\r\n\r\nThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\r\n\r\nDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.","description_html":"\u003cp\u003eA not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\u003c/p\u003e\u003cp\u003eAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\u003c/p\u003e\u003cp\u003eGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum \u003ca href = \"https://en.wikipedia.org/wiki/Euclidean_distance\"\u003eEuclidean distance\u003c/a\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\u003c/p\u003e\u003cp\u003eThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\u003c/p\u003e\u003cp\u003eAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex0y0 = [-2 -5];\r\nP = [0.5 3 -5];\r\nD = distance2polynomial(P,xy)\r\nD =\r\n        1.89013819497707\r\n\u003c/pre\u003e\u003cp\u003e(Be careful plotting these curves in case you want to plot your solution. The command \"axis equal\" is a good idea.)\u003c/p\u003e\u003cp\u003eThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\u003c/p\u003e\u003cp\u003eDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.\u003c/p\u003e","function_template":"function D = distance2polynomial(P,x0y0)\r\n  % compute the minimum Euclidean distance between a point and a polynomial\r\n  D = rand;\r\nend\r\n","test_suite":"%%\r\nx0y0 = [-2 5];\r\nP = [0.5 3 -5];\r\ny_correct = 4.3093988461280149175163000679048;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [pi, pi];\r\nP = [10];\r\ny_correct = 6.8584073464102067615373566167205;\r\ntol = 7e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [0.25,50];\r\nP = [1 2 3 4 5];\r\ny_correct = 1.6470039192886012020234097061626;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [-3 -3];\r\nP = [-2 1];\r\ny_correct = 4.4721359549995793928183473374626;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [0 5];\r\nP = [1 0 1];\r\ny_correct = 1.9364916731037084425896326998912;\r\ntol = 2e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [-2 -5];\r\nP = [0.5 3 -5];\r\ny_correct = 1.8901381949770695260066523338279;\r\ntol = 2e-13;\r\n(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":2,"created_by":544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":33,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":37,"created_at":"2016-10-28T21:00:14.000Z","updated_at":"2026-02-08T12:58:41.000Z","published_at":"2016-10-28T21:08:10.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Euclidean_distance\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eEuclidean distance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x0y0 = [-2 -5];\\nP = [0.5 3 -5];\\nD = distance2polynomial(P,xy)\\nD =\\n        1.89013819497707]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(Be careful plotting these curves in case you want to plot your solution. The command \\\"axis equal\\\" is a good idea.)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2190,"title":"Order of things - 2","description":"This problem is closely related to \u003chttp://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1 Problem 2189, Order of things - 1\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other. \r\n\r\n* However, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\r\n* Furthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\r\n\r\nAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A |1| indicates that the calculation on that row depends on the one mentioned at the top of that column.\r\n\r\nReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\r\n\r\n   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  1  0\r\nD  1  0  1  0  0\r\nE  1  1  1  1  0\r\n\r\nThe above problem can not be solved, since |C| depends on |D|, which in its place depends on |C|. The returned value would be |[]| .\r\n\r\n   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  0  0\r\nD  1  0  0  0  0\r\nE  1  1  1  1  0\r\n\r\nThe returned matrix should be \r\n\r\n [\r\n   2 1 3 4 5 \r\n   2 1 4 3 5\r\n ]\r\n\r\nGood luck!","description_html":"\u003cp\u003eThis problem is closely related to \u003ca href = \"http://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1\"\u003eProblem 2189, Order of things - 1\u003c/a\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other.\u003c/p\u003e\u003cul\u003e\u003cli\u003eHowever, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\u003c/li\u003e\u003cli\u003eFurthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A \u003ctt\u003e1\u003c/tt\u003e indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/p\u003e\u003cp\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\u003c/p\u003e\u003cpre\u003e   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  1  0\r\nD  1  0  1  0  0\r\nE  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eThe above problem can not be solved, since \u003ctt\u003eC\u003c/tt\u003e depends on \u003ctt\u003eD\u003c/tt\u003e, which in its place depends on \u003ctt\u003eC\u003c/tt\u003e. The returned value would be \u003ctt\u003e[]\u003c/tt\u003e .\u003c/p\u003e\u003cpre\u003e   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  0  0\r\nD  1  0  0  0  0\r\nE  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eThe returned matrix should be\u003c/p\u003e\u003cpre\u003e [\r\n   2 1 3 4 5 \r\n   2 1 4 3 5\r\n ]\u003c/pre\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function order = calculation_order(dependencies)\r\n  order  = 1:size(dependencies,1);\r\nend","test_suite":"%%\r\ndependencies = [\r\n  0  0\r\n  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 1 2 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = sortrows([ 2 1 4 3 5 ; 2 1 3 4 5 ]);\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\nassert(isequal([],order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  1  1  1\r\n  0  0  1  1  1\r\n  0  0  0  1  1\r\n  0  0  0  0  1\r\n  0  0  0  0  0\r\n];\r\norder = calculation_order(dependencies);\r\nordered = dependencies(order,order);\r\nassert(~nnz(triu(ordered-diag(diag(ordered)))));\r\n\r\n%%\r\ndependencies_ = [\r\n  0  0  0  0  0\r\n  0  0  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  0  0\r\n  0  1  0  0  0\r\n];\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\norder_ = 0;\r\norder = calculation_order(dependencies);\r\nassert(isequal(size(unique(order,'rows'),1),30));\r\nfor ii = 1:size(order,1)\r\n   ordered = dependencies(order(ii,:),order(ii,:));\r\n   assert(~nnz(triu(ordered-diag(diag(ordered)))));\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2014-02-19T08:24:05.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-18T08:49:38.000Z","updated_at":"2014-02-19T08:24:05.000Z","published_at":"2014-02-19T08:24:05.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is closely related to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 2189, Order of things - 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHowever, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFurthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   A  B  C  D  E\\nA  0  1  0  0  0\\nB  0  0  0  0  0\\nC  1  0  0  1  0\\nD  1  0  1  0  0\\nE  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe above problem can not be solved, since\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e depends on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eD\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which in its place depends on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The returned value would be\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e .\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   A  B  C  D  E\\nA  0  1  0  0  0\\nB  0  0  0  0  0\\nC  1  0  0  0  0\\nD  1  0  0  0  0\\nE  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe returned matrix should be\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ [\\n   2 1 3 4 5 \\n   2 1 4 3 5\\n ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGood luck!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":57715,"title":"Easy Sequences 96: One-line Code Challenge - Polynomial Folding Function","description":"The Matlab fold function is a very useful functional programming construct. Unfortunatlely, fold is not available io Cody players.\r\nIn this problem we are required to create the function foldPoly, that takes in 2 inputs, a polynomial vector P and a values vector V. Assuming V is never empty, we define the function as follows:\r\n    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);\r\nwhich is equivalent, in older Matlab, to:\r\n    function z = foldPoly(P,V)\r\n        z = V(1);\r\n        for i = 2:length(V)\r\n            z = polyval(P,(V(i)+z));\r\n        end\r\n    end\r\nThe challenge here is to write the foldPoly function in just one (1) line of code, excluding the function start and end line.\r\n-----------------\r\nNOTE: Empty lines and comment lines (starting with %) shall not be counted, but semicolons (;) will be considered as an end-of-line character.\r\nHINT: It is helpful to have a Matlab in your computer (or you can use Matlab Online), to be able check if your implementation behaves the same way as the built-in fold function.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 468px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 234px; transform-origin: 407px 234px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe Matlab \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/help/symbolic/fold.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; text-decoration-line: underline; \"\u003efold\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e function is a very useful functional programming construct. Unfortunatlely, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efold \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eis not available io Cody players.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eIn this problem we are required to create the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efoldPoly\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e that takes in 2 inputs, a polynomial vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eP\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e and a values vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eV.\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e Assuming \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is never empty, we define the function as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ewhich is equivalent, in older Matlab, to:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 120px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 60px; transform-origin: 404px 60px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efunction \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ez = foldPoly(P,V)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        z = V(1);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efor \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ei = 2:length(V)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            z = polyval(P,(V(i)+z));\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe challenge here is to write the\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efoldPoly\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003efunction in \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003ejust one (1) line of code\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, excluding the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efunction\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e start and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e line.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-----------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eEmpty lines and comment lines (starting with \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003e%\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) shall not be counted, but \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003esemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; text-decoration-line: underline; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003e) will be considered as an end-of-line character.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHINT:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e It is helpful to have a Matlab in your computer (or you can use \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/products/matlab-online.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eMatlab Online\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e), to be able check if your implementation behaves the same way as the built-in \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efold \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003efunction.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function z = foldPoly(P,V)\r\n    z = V(1);\r\n    for i = 2:length(V)\r\n        z = polyval(P,(V(i)+z));\r\n    end\r\n%end","test_suite":"%%\r\nP = [1 2 1]; V = 0:3;\r\nz_correct = 2809;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 -2 -3 4]; V = 0:5;\r\nz_correct = 22624;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 1]; V = 1:10;\r\nz_correct =  [5 8 11 14 17 20 23 26 29 32];\r\nassert(isequal(arrayfun(@(v) foldPoly(P,[v v v]),V),z_correct))\r\n%%\r\nP = [1 -1 1 -1 1 -1 1 -1]; V = 0:3;\r\nz_correct = 40408373573655;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 3 3 1]; V = ones(1,5);\r\nz_correct = 3.0554;\r\nassert(isequal(round(foldPoly(P,V)/1e39,4),z_correct))\r\n%%\r\nP = [-5 5 -5 5 -5]; V = zeros(1,5);\r\nz_correct = -9.1460;\r\nassert(isequal(round(foldPoly(P,V)/1e60,4),z_correct))\r\n%%\r\nP = repmat([-1 0],1,10); V = [1 1 1];\r\nz_correct = 1.1108;\r\nassert(isequal(round(foldPoly(P,V)/1e111,4),z_correct))\r\n%%\r\nfiletext = fileread('foldPoly.m');\r\nnot_allowed = contains(filetext, 'str2') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":3,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-24T05:42:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-02-18T09:51:56.000Z","updated_at":"2023-03-24T05:42:25.000Z","published_at":"2023-02-19T08:39:40.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Matlab \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/help/symbolic/fold.html\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e function is a very useful functional programming construct. Unfortunatlely, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eis not available io Cody players.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eIn this problem we are required to create the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efoldPoly\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that takes in 2 inputs, a polynomial vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a values vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Assuming \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is never empty, we define the function as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich is equivalent, in older Matlab, to:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    function z = foldPoly(P,V)\\n        z = V(1);\\n        for i = 2:length(V)\\n            z = polyval(P,(V(i)+z));\\n        end\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe challenge here is to write the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efoldPoly\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003efunction in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ejust one (1) line of code\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, excluding the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efunction\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e start and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-----------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eEmpty lines and comment lines (starting with \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e%\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) shall not be counted, but \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e) will be considered as an end-of-line character.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHINT:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e It is helpful to have a Matlab in your computer (or you can use \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/products/matlab-online.html\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eMatlab Online\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), to be able check if your implementation behaves the same way as the built-in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003efunction.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57735,"title":"Easy Sequences 98: One-line Code Challenge - Ternary Operator Function","description":"Ternary operation is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\r\n    y = (p \u003e q) ? m : n;\r\nwhich means that y is assigned the value of either m or n, depending on whether the statement (p \u003e q) is true or false, respectively.\r\nUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\r\n    if p \u003e q\r\n        y = m;\r\n    else\r\n        y = n;\r\n    end\r\nBut that is 5 lines of Matlab code versus just a single line in C!\r\nIn this problem we are required create the function ternaryFunc, which takes on the following parameters:  data values a and b; a conditional function C, that outputs true or false, and functions T and F which are applied to a and b, depending on the value of C(a,b). We can write the function as follows:\r\n    function x = ternaryFunc(a,b,C,T,F)\r\n        if C(a,b)\r\n            x = T(a,b);\r\n        else\r\n            x = F(a,b);\r\n        end\r\n    end\r\n-------------\r\nNOTE: The following restrictions apply:\r\nThe function should only have one (1) line of code, excluding the function start line.\r\nSemicolons (;) are considered end-of-line characters.\r\nUse of if, while and switch statements is not allowed.\r\nRegular expressions and string manipulation are not allowed.\r\nUse of variable length arguments is not allowed.\r\n-------------\r\nHINT:  As an exercise you may want to first solve Problem #44243.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 780px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 390px; transform-origin: 407px 390px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Ternary_conditional_operator\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003eTernary operation\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    y = (p \u0026gt; q) ? m : n;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ewhich means that \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ey\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is assigned the value of either \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003em \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, depending on whether the statement \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003e(p \u0026gt; q) \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eis true or false, respectively.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 100px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 50px; transform-origin: 404px 50px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eif \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ep \u0026gt; q\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        y = m;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eelse\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        y = n;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eBut that is 5 lines of Matlab code versus just a single line in C!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem we are required \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecreate the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eternaryFunc\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, which takes on the following parameters:  data values \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e; a conditional function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, that outputs true or false, and functions T and F which are applied to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, depending on the value of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC(a,b)\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. We can write the function as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 140px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 70px; transform-origin: 404px 70px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efunction \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = ternaryFunc(a,b,C,T,F)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eif \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eC(a,b)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            x = T(a,b);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eelse\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            x = F(a,b);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe following restrictions apply:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 100px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 50px; transform-origin: 391px 50px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) are considered end-of-line characters.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUse of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eif\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ewhile\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eswitch\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e statements is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRegular expressions and string manipulation are not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUse of variable length arguments is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHINT:  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAs an exercise you may want to first solve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/44243\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003eProblem #44243\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = ternaryFunc(a,b,C,T,F)\r\n    if C(a,b)\r\n        x = T(a,b);\r\n    else\r\n        x = F(a,b);\r\n    end\r\nend","test_suite":"%%\r\na = 20; b = 2; \r\nC = @gt;\r\nT = @(a,b) a ^ b;\r\nF = @(a,b) b ^ a;\r\nx_correct = 400;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\nC = @le;\r\nx_correct = 1048576;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 123; b = 456; \r\nC = @lt;\r\nT = @(a,b) round(sind(b/a),4);\r\nF = @(a,b) round(sind(b*a),4);\r\nx_correct = 0.0647;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\nC = @ge;\r\nx_correct = -0.9511;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 'A'; b = 'A'; \r\nC = @eq;\r\nT = @(a,b) log(a/b);\r\nF = @(a,b) log(a*b);\r\nx_correct = false;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 1000; b = 2000; \r\nC = @gt;\r\nT = @(a,b) char(a + \" is greater than \" + b);\r\nF = @(a,b) char(b + \" is greater than \" + a);\r\nx_correct = '2000 is greater than 1000';\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = repelem('1',5); b = repelem('2',100); \r\nC = @(a,b) all(lt(a,b(1:length(a))));\r\nT = @(a,b) arrayfun(@(i) i,1:str2num(a));\r\nF = @(a,b) arrayfun(@(i) i,1:str2num(b));\r\nx_correct = 1:11111;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 1; b = 0; \r\nC = @lt;\r\nT = @(a,b) a * length(1:1/b);\r\nF = @(a,b) b * length(1:1/a);\r\nx_correct = 0;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = randi(1000); b = randi(1000); \r\nC = @le;\r\nT = @(a,b) a * length(1:b/a);\r\nF = @(a,b) b * length(1:a/b);\r\nif C(a,b)\r\n    x_correct = T(a,b);\r\nelse\r\n    x_correct = F(a,b);\r\nend\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\nfiletext = fileread('ternaryFunc.m');\r\nnot_allowed = contains(filetext, 'str2') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin') || contains(filetext, 'if') || contains(filetext, 'while') || contains(filetext, 'switch') || contains(filetext, 'vararg');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-29T18:12:50.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2023-03-01T19:53:27.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-02-26T08:27:07.000Z","updated_at":"2026-02-27T16:09:27.000Z","published_at":"2023-02-27T08:38:47.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Ternary_conditional_operator\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTernary operation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    y = (p \u003e q) ? m : n;]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich means that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is assigned the value of either \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, depending on whether the statement \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(p \u0026gt; q) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eis true or false, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    if p \u003e q\\n        y = m;\\n    else\\n        y = n;\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut that is 5 lines of Matlab code versus just a single line in C!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem we are required \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecreate the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eternaryFunc\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, which takes on the following parameters:  data values \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e; a conditional function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, that outputs true or false, and functions T and F which are applied to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, depending on the value of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC(a,b)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. We can write the function as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    function x = ternaryFunc(a,b,C,T,F)\\n        if C(a,b)\\n            x = T(a,b);\\n        else\\n            x = F(a,b);\\n        end\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eThe following restrictions apply:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) are considered end-of-line characters.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUse of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eif\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewhile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eswitch\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e statements is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRegular expressions and string manipulation are not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUse of variable length arguments is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHINT:  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eAs an exercise you may want to first solve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44243\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem #44243\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45367,"title":"Sieve of Eratosthenes - 02","description":" \"Sift the Two's and Sift the Three's,\r\n  The Sieve of Eratosthenes.\r\n  When the multiples sublime,\r\n  The numbers that remain are Prime.\"  ...anonymous\r\n\r\n\r\nSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\r\n\r\ngiven a limit n, u've to find all the primes up to n.\r\nThe built-in prime function of matlab is restricted.","description_html":"\u003cpre\u003e \"Sift the Two's and Sift the Three's,\r\n  The Sieve of Eratosthenes.\r\n  When the multiples sublime,\r\n  The numbers that remain are Prime.\"  ...anonymous\u003c/pre\u003e\u003cp\u003eSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\u003c/p\u003e\u003cp\u003egiven a limit n, u've to find all the primes up to n.\r\nThe built-in prime function of matlab is restricted.\u003c/p\u003e","function_template":"function y = sieve(n)","test_suite":"%%\r\nassert(isequal(sieve(50),primes(50)))\r\n%%\r\nassert(isequal(sieve(5000),primes(5000)))\r\n%%\r\nassert(isequal(sieve(19),primes(19)))\r\n%%\r\nassert(isequal(sieve(6660),primes(6660)))\r\n%%\r\nassert(isequal(sieve(20050),primes(20050)))\r\n%%\r\nassert(isequal(sieve(200500),primes(200500)))\r\n%%\r\nfiletext = fileread('sieve.m');\r\nassert(isempty(strfind(filetext, 'primes')),'primes() forbidden')\r\nassert(isempty(strfind(filetext, 'isprime')),'isprime() forbidden')","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":137,"test_suite_updated_at":"2020-03-16T19:32:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-16T19:27:09.000Z","updated_at":"2026-03-30T17:27:11.000Z","published_at":"2020-03-16T19:32:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ \\\"Sift the Two's and Sift the Three's,\\n  The Sieve of Eratosthenes.\\n  When the multiples sublime,\\n  The numbers that remain are Prime.\\\"  ...anonymous]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003egiven a limit n, u've to find all the primes up to n. The built-in prime function of matlab is restricted.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45463,"title":"Word Ladder","description":"Given a set of words, and two other words - start and destination,\r\n\r\nFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set. \r\n\r\nAll the words are of the same length.\r\nThe starting word is not in the set but destination word would be.\r\n\r\nFor example, \r\n\r\n Start = 'COLD'\r\n Destination = 'WARM'\r\n set ={ CORD CARD DART FORT WARM FARM WARD}\r\n\r\n COLD → CORD → CARD → WARD → WARM","description_html":"\u003cp\u003eGiven a set of words, and two other words - start and destination,\u003c/p\u003e\u003cp\u003eFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set.\u003c/p\u003e\u003cp\u003eAll the words are of the same length.\r\nThe starting word is not in the set but destination word would be.\u003c/p\u003e\u003cp\u003eFor example,\u003c/p\u003e\u003cpre\u003e Start = 'COLD'\r\n Destination = 'WARM'\r\n set ={ CORD CARD DART FORT WARM FARM WARD}\u003c/pre\u003e\u003cpre\u003e COLD → CORD → CARD → WARD → WARM\u003c/pre\u003e","function_template":"function out2 = word_lad_2(ary,st,des)","test_suite":"%%\r\nary={ 'CORD', 'CARD', 'DART', 'FORT', 'WARM', 'FARM', 'WARD'}\r\nst='COLD'\r\ndes='WARM'\r\ny_correct = {'CORD','CARD','WARD','WARM'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'pan','can','fan','pat','mat','fat','lot','opt','apt','act','ape','put','aut'}\r\nst='man'\r\ndes='ape'\r\ny_correct = {'pan'\t'pat'\t'put'\t'aut'\t'apt'\t'ape'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'leg','hot','dot','dog','lot','log','cog','hog','zog','fog'}\r\nst='hit'\r\ndes='fog'\r\ny_correct = {'hot','hog','fog'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'safer', 'rifer','upper','rifre', 'rider','tider' ,'cider','coder','loder', 'cooer', 'cooey', 'gooey', 'goosy' , 'goose' ,'loose','nosey','doose'}\r\nst='refer'\r\ndes='loose'\r\ny_correct = {'rifer'\t'rider'\t'cider'\t'coder'\t'cooer'\t'cooey'\t'gooey'\t'goosy'\t'goose'\t'loose'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2020-04-16T07:12:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-16T07:11:43.000Z","updated_at":"2026-02-10T01:03:52.000Z","published_at":"2020-04-16T07:12:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a set of words, and two other words - start and destination,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAll the words are of the same length. The starting word is not in the set but destination word would be.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Start = 'COLD'\\n Destination = 'WARM'\\n set ={ CORD CARD DART FORT WARM FARM WARD}\\n\\n COLD → CORD → CARD → WARD → WARM]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55305,"title":"Chain multiplication - 02","description":"Following up on the problem in 55295, you found the number of multiplications needed to multiply two matrices.\r\nNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \r\nsay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\r\n\r\nyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\r\nA(1,2), B(2,3), C(3,2)\r\nA(BC) =\u003e BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\r\n(AB)C =\u003e AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\r\nTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\r\n\r\nHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\r\nhere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 414px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 207px; transform-origin: 407px 207px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFollowing up on the problem in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55295-chain-multiplication-01\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55295\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you found the number of multiplications needed to multiply two matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003esay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(1,2), B(2,3), C(3,2)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(BC) =\u0026gt; BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e(AB)C =\u0026gt; AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ehere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chain_mul_02(a)\r\n  y = x;\r\nend","test_suite":"%%\r\na=[1,2,3,2];\r\ny_correct = 12;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[4,10,3,12,20,7];\r\ny_correct = 1344;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n\r\n%%\r\na=[1,2,3,4];\r\ny_correct = 18;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n\r\n%%\r\na=[81,213,78,96,2,1,98,102, 1200,4];\r\ny_correct = 179067;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[40, 20, 30, 10, 30];\r\ny_correct = 26000;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[7,1,5,4,2];\r\ny_correct = 42;\r\nassert(isequal(chain_mul_02(a),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":363598,"edited_at":"2022-08-14T21:58:45.000Z","deleted_by":null,"deleted_at":null,"solvers_count":21,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-14T20:23:49.000Z","updated_at":"2026-02-10T20:51:38.000Z","published_at":"2022-08-14T21:45:21.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFollowing up on the problem in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55295-chain-multiplication-01\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55295\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you found the number of multiplications needed to multiply two matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003esay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(1,2), B(2,3), C(3,2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(BC) =\u0026gt; BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(AB)C =\u0026gt; AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ehere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45389,"title":"Knight's Watch","description":"  \"Night gathers, and now my watch begins\"\r\n\r\nA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\r\n\r\nAny knight's move that places him outside the board should be considered invalid.\r\n\r\n For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\r\n\r\nBrief explanation:\r\n\r\n  Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\n positions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\r\n","description_html":"\u003cpre class=\"language-matlab\"\u003e\"Night gathers, and now my watch begins\"\r\n\u003c/pre\u003e\u003cp\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\u003c/p\u003e\u003cp\u003eAny knight's move that places him outside the board should be considered invalid.\u003c/p\u003e\u003cpre\u003e For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\u003c/pre\u003e\u003cp\u003eBrief explanation:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eSay the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\npositions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\u003c/pre\u003e","function_template":"function prob = knights_watch(x,n,k)","test_suite":"%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,3,2),0.0625))\r\n%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,4,4),0.0176))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,6,9),0.012))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,8,25),0.0011))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,8,15),0.0042))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,16,15),0.4666))\r\n%%\r\nx =[3,1];\r\nassert(isequal(knights_watch(x,16,50),0.0037))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-25T18:55:22.000Z","updated_at":"2026-01-23T12:14:39.000Z","published_at":"2020-03-25T18:55:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[\\\"Night gathers, and now my watch begins\\\"]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAny knight's move that places him outside the board should be considered invalid.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ For simplicity, the knight's position on the chessboard is defined with the numeric\\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBrief explanation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\\npositions are valid i.e. the knight remains within the chessboard and they are -\\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45426,"title":"The Tortoise and the Hare - 02","description":"Previous problem \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003e\r\n\r\nSuppose in an infinitely long line, the tortoise is standing in position 0.\r\n\r\nFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward. \r\n\r\nSo one possible scenario can be -\r\n\r\n 0 [i=1] --- 1 step forward\r\n 1 [i=2] --- 2 step forward\r\n 3 [i=3] --- 3 step forward\r\n 6 [i=4] --- 4 step backward\r\n 2 [i=5] --- 5 step forward\r\n 7 [i=6] --- 6 step backward\r\n 1 [i=7] --- 7 step forward\r\n 8\r\n\r\nIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x). \r\n\r\nThe question is what is the minimum number of moves it'll take to reach destination x.\r\n\r\nFor example -- \r\n\r\n if x=8\r\n  \u003e\u003e in the above example, it takes 7 steps\r\n  \u003e\u003e but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.\r\n\r\nSo 4 is the optimum way.\r\n","description_html":"\u003cp\u003ePrevious problem \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003c/a\u003e\u003c/p\u003e\u003cp\u003eSuppose in an infinitely long line, the tortoise is standing in position 0.\u003c/p\u003e\u003cp\u003eFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward.\u003c/p\u003e\u003cp\u003eSo one possible scenario can be -\u003c/p\u003e\u003cpre\u003e 0 [i=1] --- 1 step forward\r\n 1 [i=2] --- 2 step forward\r\n 3 [i=3] --- 3 step forward\r\n 6 [i=4] --- 4 step backward\r\n 2 [i=5] --- 5 step forward\r\n 7 [i=6] --- 6 step backward\r\n 1 [i=7] --- 7 step forward\r\n 8\u003c/pre\u003e\u003cp\u003eIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x).\u003c/p\u003e\u003cp\u003eThe question is what is the minimum number of moves it'll take to reach destination x.\u003c/p\u003e\u003cp\u003eFor example --\u003c/p\u003e\u003cpre\u003e if x=8\r\n  \u0026gt;\u0026gt; in the above example, it takes 7 steps\r\n  \u0026gt;\u0026gt; but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.\u003c/pre\u003e\u003cp\u003eSo 4 is the optimum way.\u003c/p\u003e","function_template":"function y = rabbit(n)","test_suite":"%%\r\nassert(isequal(rabbit(8),4))\r\n%%\r\nassert(isequal(rabbit(18),7))\r\n%%\r\nassert(isequal(rabbit(-600),35))\r\n%%\r\nassert(isequal(rabbit(6600),115))\r\n%%\r\nassert(isequal(rabbit(99999),449))\r\n%%\r\nassert(isequal(rabbit(-16),7))\r\n%%\r\nassert(isequal(rabbit(45237929),9513))\r\n%%\r\nassert(isequal(rabbit(46),11))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":5,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-07T05:20:53.000Z","updated_at":"2026-03-30T18:12:01.000Z","published_at":"2020-04-07T05:20:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrevious problem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSuppose in an infinitely long line, the tortoise is standing in position 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo one possible scenario can be -\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ 0 [i=1] --- 1 step forward\\n 1 [i=2] --- 2 step forward\\n 3 [i=3] --- 3 step forward\\n 6 [i=4] --- 4 step backward\\n 2 [i=5] --- 5 step forward\\n 7 [i=6] --- 6 step backward\\n 1 [i=7] --- 7 step forward\\n 8]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe question is what is the minimum number of moves it'll take to reach destination x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example --\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ if x=8\\n  \u003e\u003e in the above example, it takes 7 steps\\n  \u003e\u003e but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo 4 is the optimum way.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45422,"title":"Coin Distribution - 02 ","description":"Prev prob \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003e\r\n\r\nGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given.\r\nAssume, there is an infinite supply of all the coins.\r\n\r\nFor instance,\r\n\r\n Amount = 10\r\n Coins  = [ 2,3,5]\r\n\r\n possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\r\n so total no. of ways = 4.","description_html":"\u003cp\u003ePrev prob \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003c/a\u003e\u003c/p\u003e\u003cp\u003eGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given.\r\nAssume, there is an infinite supply of all the coins.\u003c/p\u003e\u003cp\u003eFor instance,\u003c/p\u003e\u003cpre\u003e Amount = 10\r\n Coins  = [ 2,3,5]\u003c/pre\u003e\u003cpre\u003e possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\r\n so total no. of ways = 4.\u003c/pre\u003e","function_template":"function out = coin_lev(coins,amount)","test_suite":"%%\r\ncoins= [ 2,3,5];\r\namount = 10;\r\nassert(isequal(coin_lev(coins,amount),4))\r\n\r\n%%\r\ncoins= [2,3,5,10];\r\namount = 15;\r\nassert(isequal(coin_lev(coins,amount),9))\r\n\r\n%%\r\ncoins= [ 2,3,5];\r\namount = 50;\r\nassert(isequal(coin_lev(coins,amount),51))\r\n\r\n%%\r\ncoins= [2,5,10,1,20];\r\namount = 1225;\r\nassert(isequal(coin_lev(coins,amount),49884828))\r\n\r\n%%\r\ncoins= [ 11,19,23];\r\namount = 12252;\r\nassert(isequal(coin_lev(coins,amount),15681))\r\n%%\r\ncoins= [ 11,19,23,100];\r\namount = 50;\r\nassert(isequal(coin_lev(coins,amount),0))\r\n\r\n%%\r\ncoins= [1,2,3,4,5,8,10,15,20,25];\r\namount = 200;\r\nassert(isequal(coin_lev(coins,amount),119495730))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":32,"test_suite_updated_at":"2020-04-02T19:38:33.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-02T19:03:04.000Z","updated_at":"2026-02-09T20:05:28.000Z","published_at":"2020-04-02T19:38:33.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrev prob\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given. Assume, there is an infinite supply of all the coins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Amount = 10\\n Coins  = [ 2,3,5]\\n\\n possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\\n so total no. of ways = 4.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45416,"title":"Don't be Greedy!","description":"A list of assignments is given to the students along with the submission deadlines. Each of\r\n the assignment contains particular marks.\r\n\r\nIf the student can submit a particular assignment within its deadline, he'll get marks.\r\n\r\nBut he can submit only one assignment per day.\r\n\r\nFor instance,\r\n\r\n Assignment = [ a1, a2, a3, a4, a5, a6]\r\n Marks      = [ 60,100, 20, 40, 20, 10]\r\n Deadline   = [  2,  1,  3,  2,  1,  3]\r\n\r\nNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026 a5.\r\n\r\nHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines.\r\nCan u help him?\r\n\r\nThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.","description_html":"\u003cp\u003eA list of assignments is given to the students along with the submission deadlines. Each of\r\n the assignment contains particular marks.\u003c/p\u003e\u003cp\u003eIf the student can submit a particular assignment within its deadline, he'll get marks.\u003c/p\u003e\u003cp\u003eBut he can submit only one assignment per day.\u003c/p\u003e\u003cp\u003eFor instance,\u003c/p\u003e\u003cpre\u003e Assignment = [ a1, a2, a3, a4, a5, a6]\r\n Marks      = [ 60,100, 20, 40, 20, 10]\r\n Deadline   = [  2,  1,  3,  2,  1,  3]\u003c/pre\u003e\u003cp\u003eNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026 a5.\u003c/p\u003e\u003cp\u003eHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines.\r\nCan u help him?\u003c/p\u003e\u003cp\u003eThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.\u003c/p\u003e","function_template":"function yy=greedy_01(marks,deadline)","test_suite":"%%\r\nmarks      = [ 60,100, 20, 40, 20, 10]\r\ndeadline   = [  2,  1,  3,  2,  1,  3]\r\nassert(isequal(greedy_01(marks,deadline),[2,1,3]))\r\n\r\n%%\r\nmarks      = [10,10,50,40,30,100,20,10]\r\ndeadline   = [1,2,3,3,5,5,1,3]\r\nassert(isequal(greedy_01(marks,deadline),[7,4,3,5,6]))\r\n\r\n%%\r\nmarks      = [50,100,40,80,200,220,10]\r\ndeadline   = [2,1,2,1,1,1,4]\r\nassert(isequal(greedy_01(marks,deadline),[6,1,7]))\r\n\r\n%%\r\nmarks      = [50,100,40,80,200,220,10,150]\r\ndeadline   = [2,1,3,6,2,2,6,7]\r\nassert(isequal(greedy_01(marks,deadline),[5     6     3     7     4     8]))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":15,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-02T00:18:30.000Z","updated_at":"2026-03-10T13:00:11.000Z","published_at":"2020-04-02T00:18:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA list of assignments is given to the students along with the submission deadlines. Each of the assignment contains particular marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the student can submit a particular assignment within its deadline, he'll get marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut he can submit only one assignment per day.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Assignment = [ a1, a2, a3, a4, a5, a6]\\n Marks      = [ 60,100, 20, 40, 20, 10]\\n Deadline   = [  2,  1,  3,  2,  1,  3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026amp; a5.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines. Can u help him?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45458,"title":"Minimal Path - 03 ","description":"Given a matrix, find the minimal path sum from the top left to the bottom right corner.\r\n\r\nNow you can move up, right \u0026 down.\r\n\r\nShow the path using linear indices.","description_html":"\u003cp\u003eGiven a matrix, find the minimal path sum from the top left to the bottom right corner.\u003c/p\u003e\u003cp\u003eNow you can move up, right \u0026 down.\u003c/p\u003e\u003cp\u003eShow the path using linear indices.\u003c/p\u003e","function_template":"function yy = minimal_path_4(x)","test_suite":"%%\r\nx =[1 12 4 6 8 10 100 ; 1 5 7 87 98 2 200;20 56 74 1 34 56 21]\r\ny_correct = [1     4     7    10    13    16    17    18    21];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n%%\r\nx =[1 122 4 6 8 10 100 ; 1 5 7 87 98 2 200;20 56 74 1 34 56 21]\r\ny_correct = [1     2     5     8     7    10    13    16    17    18    21];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n%%\r\nx = [2     2     2     2     2\r\n     0     0    10     1     2\r\n    20     0    20     1     2\r\n    30     0     0     3     2];\r\nx=flipud(x);\r\ny_correct = [1     5     6     7     8    12    16    20];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n%%\r\nx=[131\t673\t234\t103\t18\r\n201\t96\t342\t965\t150\r\n630\t803\t746\t422\t111\r\n537\t699\t497\t121\t956\r\n805\t732\t524\t37\t331];\r\n\r\ny_correct = [1     2     7    12    13    18    19    20    25];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-14T22:57:31.000Z","updated_at":"2020-04-14T22:57:31.000Z","published_at":"2020-04-14T22:57:31.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a matrix, find the minimal path sum from the top left to the bottom right corner.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow you can move up, right \u0026amp; down.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eShow the path using linear indices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55355,"title":"Chain multiplication - 05","description":"Following up on the problem in 55305, you found the optimal way of multiplying a chain of matrices.\r\nIn problem 55315, you had to calculate the number of multiplications required based on the positions of parenthesis.\r\n\r\nThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\r\nFor instance, array= [1,2,3,2].\r\nSo there are three matrices A, B, and C.\r\nyou can multiply in two ways - A(BC) or (AB)C.\r\nA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 252px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 126px; transform-origin: 407px 126px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFollowing up on the problem in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55305-chain-multiplication-02/solutions/new\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55305\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you found the optimal way of multiplying a chain of matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn problem \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55315-chain-multiplication-04/solutions/new\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55315\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you had to calculate the number of multiplications required based on the positions of parenthesis.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor instance, array= [1,2,3,2].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo there are three matrices A, B, and C.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eyou can multiply in two ways - A(BC) or (AB)C.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chain_mul_05(array)\r\n  y = x;\r\nend","test_suite":"%%\r\narray= [1,2,3,2];\r\ny_correct = \"(AB)C\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [1,2,3,4];\r\ny_correct = \"(AB)C\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [4,10,3,12,20,7];\r\ny_correct = \"(AB)((CD)E)\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [7,1,5,4,2];\r\ny_correct = \"A((BC)D)\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-25T00:36:44.000Z","updated_at":"2022-08-25T00:36:44.000Z","published_at":"2022-08-25T00:36:44.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFollowing up on the problem in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55305-chain-multiplication-02/solutions/new\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55305\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you found the optimal way of multiplying a chain of matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn problem \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55315-chain-multiplication-04/solutions/new\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55315\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you had to calculate the number of multiplications required based on the positions of parenthesis.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance, array= [1,2,3,2].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo there are three matrices A, B, and C.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eyou can multiply in two ways - A(BC) or (AB)C.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57760,"title":"Easy Sequences 101: One-line Code Challenge - n-th Digit of Fibonacci Sequence","description":"For a given index , the -th Fibonacci number,  is defined as:  for  or , and  for . \r\nWhat this problem requires is find the digit , which is the -th digit when the Fibonacci numbers are laid side by side.\r\nFor example, for , , and if , .\r\n\r\n--------------------------------\r\nNOTE: The following restrictions apply:\r\nThe function should only have one (1) line of code, excluding the function start line.\r\nSemicolons (;) are considered end-of-line characters.\r\nPlease suppress the function end line. Keyword 'end' is not allowed.\r\nImporting libraries is not allowed.\r\nRegular expressions and string manipulation are not allowed.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 377px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 188.5px; transform-origin: 407px 188.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor a given index \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-th \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Fibonacci_number\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eFibonacci number, \u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAoCAYAAACb3CikAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIqADAAQAAAABAAAAKAAAAABIyrn1AAACTklEQVRYCe2XT0gXURDHNa0g7I8Q2sGDh0iCRDwUQigigqEhdAvr7kkoQqhTHiIIEhS8efASdAjEi9FFD3YrRElEjCCJSgQVrFNQ6edrO/Ba3v52f/52DWIHPs68ebPzZmf3vd9aVpZL3oG8A8V1oDwm/BnzPRAX50sziHPcN+HzVfqcju82djVMQZvjf439EnZAOU7CBbgK50Gy/kel+3eMdLsB39Fa2CcqahoUW+sLiPIdiZoI+S8541lsFeOTnzjVvU+w4QuI8iUp5AQXtzgJXjm2z/yN861volRfNwnssUjXJ0hYkSDmr5AkHelyrljFXnPGMs/BJpzWIJBfZqSptbh1ZCSUWDfyHN6E/EUP47ZvPRm1LU30Al4B7ZqLcAM64D5kKv1kt24U0nZ2ZFbMpFPIHPZlaAV1Ygi0Xd9BpqLHppPTOnHPs9oKvocef6ou3bkVIe0earbQVoTf5lPRj8hihXzxZNSOeeDxp+7S6WiFTKSePWHCs8TpULJCbia8LvWwPqcI/XaosFLkWOhifd9oM8TKDBHWjeXY6OiAu0wtgLr7NAjTd81X+AwFi+klwIqQXoeivi2IN6nBOAXfQKdyAyyBTuInECnvmXGLMFt3VEpnXgR5P6Kb4Z/JHVbWTY1GVaCz4DDkw2EsErfGcQLmQR2R9spB/k3wJirgHGZuGzqhFapBx0EV6MXdl4Lbx4IOoLWg+AGNcA2OQjsMgMa3IHN5zAp6FItwJlhNW1e7T1v5euDLXOm9aIJwx+vw6VzJJe9A3oH/pwN7Ko53GpRHxG4AAAAASUVORK5CYII=\" width=\"17\" height=\"20\" style=\"width: 17px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is defined as: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAoCAYAAABkfg1GAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAVqADAAQAAAABAAAAKAAAAABfdlBJAAADFElEQVRoBe2YW6gNURjHt9shuR0JhdoPIkXiwSWRJCQpz3iUJ0VeKHUe1EG5pLx49ybFAyFKeVES5RaJQ3JScj0v7n5/zarVNGZm71mTPbO/r36tNevyzVr/mVnrW9NomJkCpoApYAqYAqZArRVoMrvjMKXoLM/g4AN8bIMdRW/eQf1nMZbT8A1+w2xItZGptY3GNup74Tys8treJH8JPoF8jIc5sALcTQfJV91mMIH9oJekp4zJnMKpnpT4AhIyySTyRVC7aUkNKlZ2jvEehO3wHZwG7uWhqJjdoLtzeiHDlZ7uy4w2Vax+wKCdBpnCDs8xw7G0Wea1u+zlk7K/KLydVFHxsqHQ49+IQ/eklDZz3GBEjjZVa3KLATsdgryx6z0FnpAf8K6VnQ7vYKIuIvvpMt2a5lkKNnjixJcB9T8Bz0ERglmkgHbxNGtSqTDK2VsyS0BRwTzYAmtgH5RlS3Gs0K6o3cHBuqJO8vbPEtZfBuSz/x+OFZaUZRrj5ADOJwTwkdtFK8LqULAXxoCOdAvhADyCZ1CWPcTxzgDOXwXwEcSFRNe66XZCiRq3xxT0xQtreh0sKliOQP7ncyVBsKmUlbkMJNyyGkVpUYG/vr5hOjp5+Ka+RyFe7rfp2nzaGusLezVBIZ2wDiWUhy6qVVSgzWmxp1DSMuBVl5qtVVSgeM8tE9q8rhWUrof++pfpbBgZHXt/uIKUtFOiAo25sF3Hg4sGNLF2bQ8d74KOuFqPZfqvqzX7NaQtRVR3lA0wGqfJ/HZGttlzIEeD0O6/VUUNiiw+g05tc+E+6KR2BKpg+rJ2gxNV6TEYBbntKS19By6vN67Im3s28vuCdBFUxQ4z0CFwOvipYvz/HhG5J36yKooWHafboIr6yepf5pE36961rR/NzPRnSZ+R0q6wICFEhlJa6N/DWlgJvaA4eRxoI6ullRXuSEDxFRaAfpZrF10Nu0DXW8GsRQX6aa9P/x5Mivoq1FJ0odBrU1RmSYsKaF3V/9r4FzGTMv+PWYturbkpYAqYAqaAKWAKmAKmgCnwV4E/2bubgdXiCasAAAAASUVORK5CYII=\" width=\"43\" height=\"20\" style=\"width: 43px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAACV0lEQVRoBe2YzUtUURiHLQxMbBNWgkEYpetW4SJaJJpYIPRBi4RAYXTZtn9Ag1pEi9xYm3ZJQa4kcmGBq5Bo0SYSEWwh1UKRWpQ+v7hHDs6M95y5g81w3xce33PP53t+956PsaHBzBQwBUwBU8AUqAMFDhLjbRipg1j3PUSJcws+wxY8B7NEgQP4a/AJJI4jSCQpmwfrZ5JDcB9m8jDhrHO8Tgf2JaWouJFSXlScl+VWNPGYjMaUyocp74Fz8Acegf8m+nhW+Tt4DbkzbXLrIHHcGn7gqfDQy5dwzV5ZLScve3EHnW57TaaTwhY4CRJBQul+IbsLynsKX+ENhNhLKn2vApdCBitTp6oi+WO84sF9Tb2kf4GWWqxJTNdPFq+JVmrRIqXtSS6QeRKDycMsXstOPtYmaPAitlGJ+h9K5P33rPNE4N78Mul62X9KCRf9JYVeARYZTUtMpre4+S+Vkz+hImlZuqO/Oyfa7EwzdE/SHtSatGrDn4EvyXOM0+l2MaZBmbo3yX9bpqzq2SEiXWHUAjyBsSSCC/hKRDpCu6NJH1ncoSyNY9umiXSCDqdAX5JOplHQvx0k0jNQsI/hHvyANKuF003xZzKJNgBnoQnewwI4MT+S1in3LcmbxM9B5oHpY7/sDgO5k3q6kkGHvQ70k2QNTnkdjXvlq6R1e/bLvao1mTxNVO5FSyjNrys20hs0cCpr+ew+yTrI+53U+YnXsqsHayfIFfgLbn7OK28JChBsujjqp0e5C+Nxyq7CMTAzBUwBU8AUMAVMAVPAFDAFTIG9FNgG8tGVnS2kWTkAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e or \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e2\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"107\" height=\"20\" style=\"width: 107px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADiUlEQVRoBe2YW4hNURjHx4wxTMIoJjEhzIOHIQ+OScqlZl5c8uDBi5III2YeFGFcosmtyGU8aJ5ISYQnkSYpJQ/mSe73e26Ru+H3z1m1OrN3c/bZ6xxOZ331a62197e+71vfWnutdU5RkRefAZ8BnwGfgbzKQI+8ijZesKV0nwY1UA334Qpchc9Q8DKODFyH3wG84VkCClrGMHqtlKAEmWcfeT+9ULOk7eQS/IIWGAIlMCrZ/k5pEnWN+n8hVURRmcNIavGlJKwP8bk4+V46SmRFiF5OHzfjTUt/LwzNgedt+LgBxSG+tNJug1lNs4P0wjoH6bp4pmD6wEq4C60wArIlAzC8CTpDHCieDutdmJ6l0rWqAc0CrYB10BdsqaexEwJnwFZM1ntTroAnYGbvB/U20Ab7L+QITk0sY6MGsJ0O2vX1rRojuywju63nn6iXW++6q5ah0ACPwdj+Sf0oRA6UPnHkMp0Vw81MjOjCpZUzDJQEGdL3LWkCPdMKuAfnIRNRspaDnaxO2idgPGRbBuNAK1lja4zr7FTSkIzVwVfQp+ZKemFoGTwC+TCcpT4RsiWrMSxf2pdK4zrRyjGBq9Q+lA1RspbCQ7D9naM9BVyK7kzv4QtMcGE4gRETtAYQZf/JxL+StQQegPGrsh2mQlzR0X8S9GnPi2vM9FfQyrgClfFcSD+cbAE7SRrUAQfOjV19bs5EK+c1KODnzqwGG+rP4w3wFkyCdPLpqHZx8i1I2m2hdCoHsWYCVjnaqfW/xpScjfAOjC/9tjoM+q3lQuZgRKdZqwtjto2ZNHRXshO10FaIWTe3Yjs5+rT3QVVM23b3GTR0KusuVmy/sOoV1Lda7bSqlWi9BF0sZUB7gma5DSQ6Ng/BQDUiiuxtBp0wZuXo8roD5NelTMKY7nVnoGeIYY3lNBxLfa9d3hYZqIdboAveBSgBHb/aFzqgBl6AZnk/VINmSQNNR5ScJlgF2pwlSpRWzh7QXuRSFG87yO9x0CpNFU3yZFCpsVyEUFnEG3tWtVkPt7S12Zn3z6jrXz37vaUaWJ3L0w9gbLyivhZMsqg6FU2gJtT46668g27qwukSkO4MxpBmtDZFYyTtb0kd7SFaYVGkGWXZfwqNUA7ZFP1cMuNJp1yTbjAJFOsgbAD6vaN/BgZBVJlPB92oy6J29Po+Az4DPgM+Az4DPgM+Az4DPgN5mYE/cbXxvE/rUlYAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eWhat this problem requires is find the digit \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJqADAAQAAAABAAAAKAAAAAA7wp46AAACvElEQVRYCe2XS4hPcRTHx2DGa8EomiJZkZFoJilWHrPBjjSSDUvbWUxNymI2JorFTCSTNM3GhoWImpRHiYU80iglokQzNB7z8Ph8dX/9j+v+7v/31/3fke6pb/ec3zm/c87v/J63pqagogJFBf6tCkxLSacF3UUwN8VmDN1zMASeAdk/BLnQHqL8MJiA7wT7QTvoA5+BbL6DC2AZqDo1EsEm1pUQcRFt143dC/jlCXaZNm03AZXgWo/3hbQrITcITe0Mj20mzcdNsDfwaetyk7FVgpruqtFjPLsqnCsTRUmPGPu7Zez/Wr3EBFFybQGeBk2f0QD7RJPaxNZS47YS+2vHXTOyj31kFDpqFhs5mC2XWKvxdB/+nZF9bH1MsSAmB4lpiUm31Xi5Yvg0VseLpddWyIJvxolb9PpuDHCqxf/W9PsQ0Kdikw4TYBh+eoCHdaaPBtMX0Kdik0ETRNdMCB3DSAk5rA7pVInNPIzHTICDAZ118ut4cEmFrskA1yWTHSaAAi0tqbxcr+kzDh+yJr3OfIqTJsgTn5Fp19XjKjUJv8voMmWfmkAnUjzXoTsC3LR/g9+XYi/VTKPXkWRlo/qTXUGTG72+vvWlC1vVdLa64NtAEu2mcQBowLeBdvhhoHv1I2gBv1H8WdKAVq8JS4cQFPwTWAmaIojXufUSHAVnwFeQRHdo1GGtQXeCHqDNchPoWbUB3AOJpFFNAleB+Fev01fgFugHXWAv0HSG0FmM5PM0OBV16I7atkTylHxUWSV2A9RHGaiSqvLsSM79s4qIbga0BETzgWYo8cWSdomrc1bUGjnSNGoDiDYDbYKrEqaKLhNYFVtjEtAGcG1aq7OMLhdW60k7eigW7QHyF3AAnI/pqvsXEwVbz3cOuBQL/h5ZSe8EvvMv1iUfUc/uxnxCFVGKChQV+I8r8BN9PqxA5cOzLAAAAABJRU5ErkJggg==\" width=\"19\" height=\"20\" style=\"width: 19px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, which is the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e-th digit when the Fibonacci numbers are laid side by side\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADGUlEQVRoBe2XS4iOURjHZ1ySy4xcSiyISCLSsCCl3JONBRsrJaVkLKRs2FASsbBSQ5ISRZOFwmiaKQu5jVggucRYYDEYZNx+/897cr7jzPeed3z4Luep33cuz/Oc9zzP+77Peb+amigxAzEDMQMxA2WVgdqy2m1xNjuHZXxx1zG/M6GtOJcqz1WWs+3vBehEN7A8QyverlsKJEjJ2+W7lO+x89lVwlwDQVyHVmgHV14z0QTdrqKaxqcI9itMqaags8Q6CeMvoCepPotjNdkeJlhTsPU03YH9MBP+SEbjvRS2w2prpQn0N8NBWGzNl2p3FBtTnTFJcttmdGOybv4ADs+dRdcli6ynfe/o5ia6Um10U8/DY/gGbpI0fgbjIFimYrkWPoMW6IERsAX0XusJugDmYpvoh8pZDN8Ugb4+wUO5tm7qMdBrZ2JQexP6Q7Dog+odyPkK6HX7AMtA0gjmAityM2E/lyw/49+XNss1e9vZbBRXnf2YNybPZ0De6NdgHt1hyVBF7jhshIvJnF3wOpK5kGYvRmdCDFNsbqToQ9S3MFKydeKZzwKVk5MQJLuxMnf4Kf0jjtf9RH/XmS/H4Qw2rTKieB9mCeBa4iTHBzDEch5v6VTkK0HuEYRi7QoNRkemXdQWOY4bGJunTH8YK0FOEIRi0lvzm/hq0hKs+iWWqkEq3Lbo20nyCdpyvfAfnW4Lw817tdTp29KrNrtCsUhe/mzyf31JMieYLA/lm+eSZ47fdnQfHX3asA6DkWlGAXqdvsWUWclizb5FCyXpFQ46sm3RsanXUWJOuib6elxbIU1K6XQze11AR99OPaBYUmUaFqbeuCeanLdaeiVsD+hEGA6lKIPY1GXohHMwGWzRDe8AxdxoKwr17SSs8hjuY84kUa9bF9jfTB6X/zqlvZn9qlV52AH6V7EGdHJrfhsEy2ks5dQNgz1eK5kz/39e0J/vsSm1qaPWnu2EKQ4dJA1pG65NM/DopzNXD7cha+H2LPdPpiZyFX00joW38AQegepulJiBmIGYgZiBmIGYgZiBmIGYgb+XgR86bt7unlNPCAAAAABJRU5ErkJggg==\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAoCAYAAAB+Qu3IAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAWqADAAQAAAABAAAAKAAAAADKbjgYAAAEc0lEQVRoBe2aa6hVRRTHj6lpPhK1ru/6kKD4QRQjDXyBKD6+iVam+UBFRD+IoCQqiC9U0A+ighKpSEWUiohRRPihJBGDIBVR8PoOFZ+Ej66v3x/OwGIze5+559yr55w7C/7sNWvWWnvW2jNrZg4nl4sUMxAzEDMQMxAz0MQz0KyJx19M+N0x6uExVC4Hg/FgXLK/RVJg2h/CHwJtjSzJPkFwAZwD54H0/wHVTPsJbkhGgAsz+jK7PqX3hUEd/AowHSwBu8FDIJ3n4EfwPqhGGkZQNhdJ/gH97X2Bh5SObhheN8br4Zebttga8C0YpQZ0GYwEtaCa6DDBjAWbwDNPYD8hO+6RB4kmoGW/3IAUq87ILxldlZKs0pTipmzF/RiZVuy+xhrhFhy7RP8Ln7UKhhpd2ai8VAt9TSCKaRLIykHR8Z7Ov0Av2VvAiwZwz+ifKKBfKd06aWjjdxPuNrzKyBcg67BAdxj1RM0513NKgNlRY/NfgH4lqGw0Mdl8iL8DPi8UxBsFFEabftWnX007jT1lOvS1u5h2pbI3GbhWp2/idET+DVgJiqbvsHRfMLQM7DI2su1b9Nv9hgcQa+mWCndC8r/FL1VpfA9o76kFLjfuORFZvUmz/RZwTlYHelDtcjZ6vh1oF6qmVWX9F8vrmFYKtcJ4KbC1+yxtb5XI2j0HYXQSONKJ4phrpDzl7wZ4N9+vA3yHPN9QD83EDxrA2UF8aCKVSvNxsMM40aXmD9MuyC5Dw82Wu/DNC1rkcgONjWx3B9hUg8r3Ju6pvoCyLhRjjMFv8M9MO42dlujYnGj3op0cSH9ke8EvCd1Kaupnh0/yA66pz8DboWxrz5wAY90MtSu7VfCzx2a76Xd6l5GFrBaPu7IRqZS5eGb5RpU2o0ei/KYxCJlta9F3h/c6+DXGXuw7YAaYB+4DR3/DhKwWp69TxwjXKOGpGaiV2hD02DjR7TmYtqLpvtCZACsdd5z+U/hJHptVyH4H3l3Zo58mKpdThx3feBqKX3vZW7bD8Wkz2tZnBZZGmvXLwZd5BV1qZgLVLEttaCwEKi+6oh8FXwEdBetLGzD4ob5GHv2/PLJiRYvzhtprHoU66YOim516ptVnHfc0252ulswU4KOPEJ4HKhFOX08NrNQZjotGJV2va4F+81kAkuOdi0yx6AxdA4KoE1pHgE2Gauhs8BlYBTSblGDNXulpM9NsbQ0KkZbVKHAcuHcsK2T0mvu1J7ix6vknGA50z9gCJDsHuoMgmoyW6qt1ankl9irQpUV3+3VAX9tumjSDqBla24D86yqtdrmSVuM1YHPheMkXAZXGTHqdAbZkZFoZvUFXcAOUK2msHwPdA5TUK6AWXAB1oOxpDyPU7AhedmUfUcoAk4U9Ra3RxP/j+SG42WhviI5zrcjBRaBjXqQGysAx/FwC84D2Ba2knUBHvqovG8T4ykh/rHE7tc6b2kT2gCaT5Fd56uhDYnuAO0CJ1m/VkWIGYgZiBmIGYgZiBmIGYgZiBioxAy8BU49B0T/6PsEAAAAASUVORK5CYII=\" width=\"45\" height=\"20\" style=\"width: 45px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, and if \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAkCAYAAAANdf2OAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAWKADAAQAAAABAAAAJAAAAADbokXeAAAEI0lEQVRoBe2YV2hUQRSG1xK7EVGxYEGNiNgQGxYUNFb0wQcFFUFBBEHUBxF8MS8KIhYEH8ReQRQMoiJWJKJiL+iDJViwYUHsvXy/uUMmN7N3b0ww2WQOfDsz55yZnTl37pnZTSS8+Aj4CPgI+Aj4CFTSCFSrpOtKtqyOGAZCD6gD5+Ec5EMc6YOTK2YN0S8OyIszUGXzyWBBOfANfjvYiq4GRMkojK6+RvcUu76nSsoGVm0CkazMxadWRHROpBgjx9XXtd1dfumsG8Hkj8ItmAdnoDb0hxXQHYyMp3LQNKyyN/VLcApOQ1heodgEH8OGqtA+wiIfQ3PHYuuiuwdmV692+Ei1G35CJzW8FEagAdWvMLlQVaw2DY0J8JVi1kSiA7ofoB2c6bBXaZVuC8cg6gDrht0EWEEMy1oUxq5dfANWgMYulTSlt/LXQphgjdSO+hzQ6zTc0qdrNYuJmwDuCS2iCW3lVWMPl/uxuVJPaJiizZU0lbPswaYGLjMoP4RsfQNbuhbZ1nqmhBbRjvYBuA+/wI6JqT9C3wpiS2c8J4G5M36n3hjmgnKRdu5hMF8wm3pc2Yfj6zKgLN+cNcxHa3kO+vGRTOpj0GbaAkoVZv0qr0BUGsJcVDJovgd1PglKEZ9gJEh03TFfMPqvJt6H8qHpV5qyJN8ZNbN6GF8Ec9Kmiiu9cDwL9hrMW15kjJpFWoWNAVQbBE0l9W0wC3SflNgJ/nqBKtbnMrz2xvKMdrocbY5tzcGzGSj3hvNv1CBXMeoh61A0Vzelz10QS5bgZZ7OQ+rrQ71uB/abIX06NfswWaW/C6D78L9INzopbSpWd0sygL7UBPgO9XpW57aWTQdiOkprJv0E8qFFKRdwi/6K1du44+hqYifxYaGOM2mb4OsPkHSTTCasV1wBbl8Gk9/BGIqH3vRi4srB2XhVDzyVc3XI2TIiaHyhzLMNMeq6RQyN4ZfKRQfSiVRODrtSga5dbWAI3IfSiuIgeVZQpP7chIvZoWNC7gr8q8BuDryQS2SzPG8RGczsELwDXbeSyXQM/ZIZHXqTThc5bAnXDjZXsZd0UEBs0fVEKURiAqwHotfkFKSS8rpFaGPshGGgTXMRXKJdvQ56uowO3WB0elg6LBWHlNIFD7N71zu851t2BXsp6PRsBBVVqjGxjaB1PYWtDrajU17+CXkg0V+ax0F9ciELbNFG0xVV486zDVF1O4DjHI7L0ZkHcJq6Tk77TuzoUu6qVczAzDlOOS2YsdZl+3+mrTSgX7oT4Q7IvgBiyx481ekj6EAIy1gUv0A+T2AgVGQZxOTsIKWqv8HfXvdm2ma9dl/pdGD3hkjR61NS6UqHTLgGeqqVXXSV0w+KlqAD8gHkg84oLz4CPgI+Aj4CPgI+Aj4CPgI+Aj4CPgL/PwJ/ALG4VQ76ZkD7AAAAAElFTkSuQmCC\" width=\"44\" height=\"18\" style=\"width: 44px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAZKADAAQAAAABAAAAKAAAAACyuGsJAAAEw0lEQVRoBe2ZWchVVRTHtXJokOakCekh6iHCwgrKikaCgiKaLBussJemlyCpB1+EXhqIIhpIfegpGySiGY0GKgsiLSLBVCILGq1E04bfT87OzeGefc659+Z3vXf/4f+dPay9ztpr773WPvcbNy4jeyB7IHsgeyB7IHtgKDwwfihmMTiT2A9Tjm5hzmfIbonlUwsyA8GlcO94QKmssjXwK7gaKr8SjioeYuJ3tJj8NGTXt5DfLnolf/+JuJXyvfA6eBdcCDdBZf6GS6AvGjXsyYR/hrGvUmU3cVc4lFGx4gUdtBxC25uR3DrKR3WQG+amOcX8V/C8E14LZ3fgb7Tpz/tgV7iQUfGCTK/QciDtLkSQNYTtUSE7jM0fMqnX4cTE5A6mbxvURycl5JJdDxQKVLIBjk9Iz4xklTesjQImM8m3oNEkhbl06hc3btf4nJEqkYtrtLhYvxSyyn9UIz9q3W8Uvnmw24kfUSgICzKrgaJl0ZjfG8iPikgcrowkHbFbx9YdjeftKG6/QbnCdVgVCXhlnhrVR7l4CZPfHX4H369yRF3SPT8a+AnlH6J6VXFSqWN/6t+X2nZG9XlecmYfXnQFOswPveLyQsELPP086IjUgnh6zo1GvRqVU8VyYvs2Jfw/9k1B9wF90D+hDzoOQsdZhZ7nUvpSC3ICA1UU8FooJJ4m9VOi/o2U5VjAe/6zfXixkaFXGK709Y/w7W6VzWNgSOZ+gRr/6uAihjE+F9YNGJF+N7P+eLpuvqkTEucPY+hfdcron12SuT+qGwJvhGdAQ8nH8BnoB2QZR9JwTanxeOqLYZOTWho6plU/mM8uLEiGq5SV+9C5BYbdfnNKuOjzxV5zw5g453i6/IoNfeHpJWEGLONRGoJMeK6nrckpLesa6/pNxVx+5TmxW2MuKpQEZ7hj6/AYAkH+T8qnRQNup/wlNJb6u9f1cBVU3tMXw7zlws6F/rAZeAzlNvCWZczulee0eWkHWTem8zQadI2HGRmc+0UDLf5EEuS3Ub6sNMYv9uNKbcdSd8xmGF+V51N/BxrieoHfTMGmXp4X9GCEUWNrYcelTfRU5ZA4fzixKngE74F3FwLer2+AS4q6D29eJjNPRAxPjCfBBdRosRe8FToRf4JZBp+CL8G2GIRb1sUYrY83QU9KVzA0xDuqKn/MRM7TE2Q3UJ4Fm+IwBB37YjTgZMqroReIoNenybzXE4OKnY5XeKP2xxu0lRHefl4ulASHfErdxHQVnA+927sQngZlTLbu6smwDcwNji+HN3X4zx5j9wcw2DGP8q4EfWku1f42G/W/Ofppb/gIDig/XYBv4HvQBLUAXg27vTksZ6zhKAXD3SNQW0zO1ncVzMFQ7d4Mpwy60bdh4EroSajDBAQMY05uap3wAPVPw5bT4YkDZFNHU7y1fA01uCkWIeiCmHcy+uiBU9HlYpS/KeryzxOM+QN6Y8nokwemo2ct9PeuGPtSWQGrwtck+tbCunyDSEZTD3gi/J+IXB7xXcr+pPAkFF4Y1sFboAncq+7j0BySwxVO6Ad0qk42B1TR7w+xFAYZPxzXwEVwZBbDXTho8DQdDn+CLshGmJE9kD2QPZA9kD2QPZA9kD2QPZA9MDwe+BcXQUOCFyk7ugAAAABJRU5ErkJggg==\" width=\"50\" height=\"20\" style=\"width: 50px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 114px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 57px; text-align: left; transform-origin: 384px 57px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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EEAAAQQQQAABBBBIuwALmdNOzoQIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggwEJmXgMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHYBFjKnnZwJEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICFzLwGEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCDtAixkTjs5EyKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAC5l5DSCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBA2gVYyJx2ciZEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAARYy8xpAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQLsJA57eRMiAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIsZOY1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJpF2Ahc9rJmRABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEWMjMawABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE0i7AQua0kzMhAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCLCQmdcAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKRdgIXMaSdnQgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBg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HXfIAQccUPZuq7ZtfT+tWrVKXnjhBRk+fLh88803UlRUFOdeu3Zt6d69u9x5553Sp0+fuPtt2mFbTlu2bJFzzz1XJkyYkBLzWWedJffff39KjzX5INtyKm21detWefjhh2XIkCEye/Zscc+FZb/cD0S5H+b461//KgMHDix7tzXbUc5J5fcFtp8no5KTie8LVL4OdL8xo5KTydf7s88+W/w9ofuhKneRnmtSr149OeOMM+SZZ57RHUGg+qZz0v19ge76gZAVDDKdU+mnoPv7guXLlxe/b0aMGCELFiwoPXXxbdeiZcuWctVVV8kll1wi+fn5cWNM7UhnTun674Hu85ju+oleC7py0v19ge7/numunyiLZPt05aTjeV5xxRXF14mSPZ+g99WpU0dGjRol++yzj/cQ3fW9iVK4oSunFA6FhyCAAAIIIIAAAggggAACCCCAAAIIZJkAC5kVB+5d7ItYR2ZVC5lz2jodmf9LR2bFL5uUy7mdRm6++WZ59NFHZdeuXb46AwYMkKFDh/r22bbhvZ9sO/Ayx0tOZUAisOkuhH3wwQfl3nvvLe7qG+SQ8vLy5Morr5Tbb79datasGeQhkRpj4/tp+/btxQuT3QWXiRZalgd89tlny+DBg63sKGtjTiNHjpSTTz65vDgq3O9+WMBdEGbTl405xXxffPHF4u8d/o+9MwGzojj398fOgICA4o4issQFNRCTqHGNxi3xuqAYNeTmGuG6RCUStyTGJLhcRQOPqLgGboyiosR/wKvGkKhJTNS4K+BKhLig7JssM3+qk26655xheqmtz7z9PPOc7jpVX1W9v+rqmj5ff52F+T777CM33XSTDB48ODRTik9fddK5LqiFedIHnVysC3SOAxsnpA86uR7vKnL97rvvLqodjbdevXqJctZ0vfmgk+l1gWn7NjT0Qaewn6bXBdOmTZMzzzwzisAc1tvUp4rQrB5gPOCAA5rKYi3dlk42rwem5zHT9quJb0In0+sC09cz0/ar6dBcmgmdTPazZ8+eqe8VNdd39f2UKVPkpJNOirKath9VlHHHhE4Zm0B2CEAAAhCAAAQgAAEIQAACEIAABCAAgRZMAEdmA+IHN/3KEJG5rrW02rpNJgIdv72V1B25ZaYyXmaugYjMjz32WBCFWb2atdpWC47Mql9lv4mOTtVGp/u04447TtSP6nm2I488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p3g72IcABCAAAQhAAAIQgAAEIAABCEAAAhBomQRwZDage3DTj4jMBshqNElEZo0wzZqqtZvoun6YNEs9u/Va0ylO4Morr5TLLrssniT77befPP3004m0MhzUmk7qh8Gf//zncscddwQOs3ENlGPzzJkzA6fzeHoZ9sumU2OHIsW4ffv2smbNmgC3cmLu3bu37LzzzsFDAbvssoucfPLJQVoZ9GiqjWXTSfVDOShffvnlFV1SfRk+fHjg+K8cmNWP/fFNOTGr6IgHHHBAPLkU+77rZHpdUJZ50ned4oPdxLrA9DiIt7/Ivu866Rrvp512mtx9990Rqm222UZmz54tXbp0idJ8dWRWDXStk+l1gWn7kciGd1zrpLpnYl2wcOFC6dmzZ4LerrvuKq+++mqqdbl6aGDs2LGJ8h999JH06tUrkWbrwLZOuq4Hpucx0/az6mtbp3j7TKwLdF3P4u2M75u2H68rvm9bJ1v9/J//+R+56KKL4l2V//qv/5Lbb789kZb3wLT9xu2yrVPj+jmGAAQgAAEIQAACEIAABCAAAQhAAAIQaLkEcGTWrH10s68EEZnbHNhZOhyV/IFpUzja9q6Ttn07bSpLab4jInM5pIrOp3I0N1Urdf0wmaoyS5lqUacQnYp8M2DAAPn444/DpODzxhtvlLPPPjuR5vtBmXWaNm2aTJo0KYgk29DQICoC2JtvvilKn2rbMcccIyoac11dXbWvvU4ro07VHIqag6wiVJ1zzjmiIvR17969uezefV9GnUKI11xzjVx88cXhYbOf2223ndxzzz3yla98pdm8vmUog0661gVlnifLoFM4tk2tC3SNg7CdJj590snkeFcPqjWe7371q1/JqaeemsDqqyOzDzqZXheYtp8Q2tCBDzqFXTOxLujWrZssXbo0rCL4TPOmFPUmj+OPP14efvjhRNm33nqr4g05iQyGDlzopON6YHoeM20/q5wudArbWHRdYPJ6ptpo2n7IIc2nSZ1c9nPt2rXBA7vz5s1LYHj55Zdljz32SKTlOTBtv3GbTOrUuC6OIQABCEAAAhCAAAQgAAEIQAACEIAABCDQmACOzI2JaDgObvqVICJz5q62bSU9ntpLpBbeDk9E5szyuypQazfRdfww6UqLTdVbazqFfVXOyjfddFN4GHxuu+228sYbb0jXrl0T6WU4KKtOKrryk08+2SziLbbYQsaPHx9ElW3btm2z+X3NUDadpkyZIsOGDcuFUzkxT506VQ4++OBc5V0WKptOcVaPPfaYnHXWWfL222/Hkyv2TzrpJLnttttKOd+FnfFdJ13rgrLPk77rFI4nU+sCXeMgbKepT190MjXelRPl4MGD5aWXXooQ7r///vLUU09Fx+GOr47Mqn2udTK9LjBtP9TY9KdrneL9070uOP/882XcuHHxKqRTp05yww03yJlnnplIVwfr1q0LoqCPGTMmeFgxnqF169aiHARVZHQXm22dil4PTM9jpu3n1di2TmE7i64LTF3PwvaZth/Wk/bTlE4u+/nrX/+64mEn9b/t73//+7RYNpnPtP1qlZvSqVpdpEEAAhCAAAQgAAEIQAACEIAABCAAAQhAIE4AR+Y4DQ370c2+EkRkztPd7o/uLq26t8tT1KsyRGT2So4mGxOdT03mKN8XRX+Y9LHHtaiT4vzcc8/JF7/4Ramvr09gV9F+jj322ERaGQ7KrNO+++4rf/nLX1JhVs7MJ5xwgqjocioaXNm2Muo0d+5c+fKXvxxEylYO/j169AjYt2/fXhYsWCD//Oc/Zc2aNU1KoRxTVMQqpV1ZtjLqFGerHIauv/76ilcgx/OoffVq+J/85CcycuRIKePDAWXQSde6oMzzZBl0UueDyXWBrnGg2mlq80knU+N9woQJwdsCQoZt2rSR559/Xvbcc88wKfr01ZHZB51MrwtM249ENrjjg07x7uleF6j138477yzLly+PVxPsDxw4UAYNGiQ77bSTfPjhhzJ79myZNWuWLFmypCJvmKA07927d3ho7dOFTkWvB6bnMdP284jrQifVTh3rAlPXs5CjafthPWk+Terksp9DhgwJ1gpxBjrvGZm2H2+32jepU+O6OIYABCAAAQhAAAIQgAAEIAABCEAAAhCAQGMCODI3JqLhOLjpV4sRmTew6f74HtKqW3mjXEbyEpE5QuH7Tq3dRC/6w6SvetWaTupH93322SeIvBxnPnToUFGvRS7rVladLrzwQhk7dmwm7DvssINMnjxZDjrooEzlfMhcRp0aGhoCp3/l9NV4U98pR5VJkyYFEbM/+OCDxlmChwPUD75l2sqok+KrIosqx+TXX389NW71WuTf/OY30qdPn9RlfMnou0661gVlnyd918n0ukDXODB93vmik4nx/sknn0j/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cII88MADFek+J5RJJ/Ua3TfeeCM4p0aNGhVEVFZOs9W2p556Sn74wx/Kk08+WfH1tGnT5Nhjj61I9zmhTDpVi+y11157yaRJk5p0SP70009l9OjRctdddyVk6Nq1q6jv2rZtm0j39cB3nYqsC2ppnnSpkw/rgiLjwOa551In38a7LQe9PPq61Mn0usC0/Ty885ZxqZPpdcHbb78t9957r6i1xle/+lVREcqrbW+++aacfPLJoiLfxjeVX/1ftt9++8WTnezb1snm9cD0PGbafnxA6NTJ9LrA9PXMtP0496z7OnVy0c9jjjkmeHtXvN8/+MEP5Jprrokn5d43bT9tw3TqlLZO8kEAAhCAAAQgAAEIQAACEIAABCAAAQhAQBHAkVnzOIhu9tV6ROY1DbLwyJdFlm0Is/zvre2Jm0vXH/QJD4PPxWfPkvpnV0Vp7Yb3lC5n946OXe2UNSKzcuRr/ArDkOGzzz4b7gaf6se/atES999/f7n++usTeX09iM4nXxvYRLvQqQkwniRfffXVcskll1RtTbt27aqmN5V4yimnBI6ATX3vU3rZzqf+/fuLcm6IbypS9pAhQ6RPnz6yzTbbBBG1VZ6//e1vol4T23jr3bt3MGd279698VfeHpdNp6233joRgVKdQ1/60peCSL/bbrutNDQ0yHvvvSdz5sxp8vp11llnyYQJE7zVpFrDyqbT5MmTZfjw4RVdUf046qijgoja6nzp2LGjzJ8/X2bPni2/+tWvZPny5RVl7r///iByYsUXHib4opOpdUGtzJOudbK1LjA1Dmydeq518m2823TQy6Kxa51MrwtM28/Cukhe1zqZXhdce+21opz71LbZZpsFa8PPf/7zwRtS2rRpIx9++KH86U9/kqeffroqRtW+008/vep3NhNN6eTL9cD0PGbafjgWdOtkel1g+npm2n7IPeunbp1s91M9vLvbbrsF/9+GfVfz2TvvvCPq/6iim2n7adunW6e09ZIPAhCAAAQgAAEIQAACEIAABCAAAQhAAAKKAI7MBsZBcNOvxiMyK2yrn14oK0fN3UiwdSvpes8AadvnX6+FX/3khu8vjH2/RRvp8f82vIa8zcYizvZKGJFZORN16dKlMLK6ujpRr5Mty1a2m+jo5P/IGjlypEycOFFLQ3faaSd59913tdiyYaRM55N6Zat6tWreTf2o+Ic/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nnves//7+yW7MzvzP2efZ85h93jmbMkO74/wBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIGCZRgIrNB2igKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABECgggAmMuNCAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQME4AE5mNI0eBIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACmMiMawAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMA4AUxkNo4cBYIACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGAiM64BEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAB4wQwkdk4chQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCAicy4BkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABIwTwERm48hRIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAACYy4xoAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwTgATmY0jR4EgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKYyIxrAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e--------------------------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe following restrictions apply:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 100px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 50px; transform-origin: 391px 50px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) are considered end-of-line characters.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ePlease suppress the function end line. Keyword '\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eend'\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eImporting libraries is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRegular expressions and string manipulation are not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function d = D(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 1:25;\r\nd_correct = [1 1 2 3 5 8 1 3 2 1 3 4 5 5 8 9 1 4 4 2 3 3 3 7 7];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 100:100:1000;\r\nd_correct = [0 4 3 7 4 0 7 9 7 8];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 1000:1000:10000;\r\nd_correct = [8 9 7 6 8 1 0 4 3 4];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 10000:10000:100000;\r\nd_correct = [4 7 9 9 9 6 3 7 9 1];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 100000:100000:1000000;\r\nd_correct = [1 9 2 5 9 3 2 8 9 3];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 1000000:1000000:10000000;\r\nd_correct = [3 5 7 3 3 5 8 2 9 1];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 10000:10000:10000000;\r\nh_correct = [100 96 109 85 105 115 82 107 100 101];\r\nassert(isequal(histc(D(n),0:9),h_correct))\r\n%%\r\nfiletext = fileread('D.m');\r\nnot_allowed = contains(filetext, 'import') || contains(filetext, 'str2') || contains(filetext, 'num2') || contains(filetext, 'sprintf') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin') || contains(filetext, 'end');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-10T18:11:52.000Z","deleted_by":null,"deleted_at":null,"solvers_count":1,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-03-09T11:37:24.000Z","updated_at":"2025-11-15T13:27:27.000Z","published_at":"2023-03-10T18:10:42.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given index \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-th \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Fibonacci_number\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFibonacci number, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x=1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex=1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e or \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x=F_{x-1}+F_{x-2}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u0026gt;2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhat this problem requires is find the digit \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_{n}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, which is the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e-th digit when the Fibonacci numbers are laid side by side\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_5=5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and if \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=25\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_{25}=7\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e--------------------------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eThe following restrictions apply:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) are considered end-of-line characters.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease suppress the function end line. Keyword '\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend'\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImporting libraries is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRegular expressions and string manipulation are not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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EEAAAQQQQAABBBBIuwALmdNOzoQIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggwEJmXgMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHYBFjKnnZwJEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICFzLwGEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCDtAixkTjs5EyKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAC5l5DSCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBA2gVYyJx2ciZEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAARYy8xpAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQLsJA57eRMiAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIsZOY1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJpF2Ahc9rJmRABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEWMjMawABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE0i7AQua0kzMhAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCLCQmdcAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKRdgIXMaSdnQgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBg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HXfIAQccUPZuq7ZtfT+tWrVKXnjhBRk+fLh88803UlRUFOdeu3Zt6d69u9x5553Sp0+fuPtt2mFbTlu2bJFzzz1XJkyYkBLzWWedJffff39KjzX5INtyKm21detWefjhh2XIkCEye/Zscc+FZb/cD0S5H+b461//KgMHDix7tzXbUc5J5fcFtp8no5KTie8LVL4OdL8xo5KTydf7s88+W/w9ofuhKneRnmtSr149OeOMM+SZZ57RHUGg+qZz0v19ge76gZAVDDKdU+mnoPv7guXLlxe/b0aMGCELFiwoPXXxbdeiZcuWctVVV8kll1wi+fn5cWNM7UhnTun674Hu85ju+oleC7py0v19ge7/numunyiLZPt05aTjeV5xxRXF14mSPZ+g99WpU0dGjRol++yzj/cQ3fW9iVK4oSunFA6FhyCAAAIIIIAAAggggAACCCCAAAIIZJkAC5kVB+5d7ItYR2ZVC5lz2jodmf9LR2bFL5uUy7mdRm6++WZ59NFHZdeuXb46AwYMkKFDh/r22bbhvZ9sO/Ayx0tOZUAisOkuhH3wwQfl3nvvLe7qG+SQ8vLy5Morr5Tbb79datasGeQhkRpj4/tp+/btxQuT3QWXiRZalgd89tlny+DBg63sKGtjTiNHjpSTTz65vDgq3O9+WMBdEGbTl405xXxffPHF4u8d/o+9MwGzojj398fOgICA4o4issQFNRCTqHGNxi3xuqAYNeTmGuG6RCUStyTGJLhcRQOPqLgGboyiosR/wKvGkKhJTNS4K+BKhLig7JssM3+qk26655xheqmtz7z9PPOc7jpVX1W9v+rqmj5ff52F+T777CM33XSTDB48ODRTik9fddK5LqiFedIHnVysC3SOAxsnpA86uR7vKnL97rvvLqodjbdevXqJctZ0vfmgk+l1gWn7NjT0Qaewn6bXBdOmTZMzzzwzisAc1tvUp4rQrB5gPOCAA5rKYi3dlk42rwem5zHT9quJb0In0+sC09cz0/ar6dBcmgmdTPazZ8+eqe8VNdd39f2UKVPkpJNOirKath9VlHHHhE4Zm0B2CEAAAhCAAAQgAAEIQAACEIAABCAAgRZMAEdmA+IHN/3KEJG5rrW02rpNJgIdv72V1B25ZaYyXmaugYjMjz32WBCFWb2atdpWC47Mql9lv4mOTtVGp/u04447TtSP6nm2I488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p3g72IcABCAAAQhAAAIQgAAEIAABCEAAAhBomQRwZDage3DTj4jMBshqNElEZo0wzZqqtZvoun6YNEs9u/Va0ylO4Morr5TLLrssniT77befPP3004m0MhzUmk7qh8Gf//zncscddwQOs3ENlGPzzJkzA6fzeHoZ9sumU2OHIsW4ffv2smbNmgC3cmLu3bu37LzzzsFDAbvssoucfPLJQVoZ9GiqjWXTSfVDOShffvnlFV1SfRk+fHjg+K8cmNWP/fFNOTGr6IgHHHBAPLkU+77rZHpdUJZ50ned4oPdxLrA9DiIt7/Ivu866Rrvp512mtx9990Rqm222UZmz54tXbp0idJ8dWRWDXStk+l1gWn7kciGd1zrpLpnYl2wcOFC6dmzZ4LerrvuKq+++mqqdbl6aGDs2LGJ8h999JH06tUrkWbrwLZOuq4Hpucx0/az6mtbp3j7TKwLdF3P4u2M75u2H68rvm9bJ1v9/J//+R+56KKL4l2V//qv/5Lbb789kZb3wLT9xu2yrVPj+jmGAAQgAAEIQAACEIAABCAAAQhAAAIQaLkEcGTWrH10s68EEZnbHNhZOhyV/IFpUzja9q6Ttn07bSpLab4jInM5pIrOp3I0N1Urdf0wmaoyS5lqUacQnYp8M2DAAPn444/DpODzxhtvlLPPPjuR5vtBmXWaNm2aTJo0KYgk29DQICoC2JtvvilKn2rbMcccIyoac11dXbWvvU4ro07VHIqag6wiVJ1zzjmiIvR17969uezefV9GnUKI11xzjVx88cXhYbOf2223ndxzzz3yla98pdm8vmUog0661gVlnifLoFM4tk2tC3SNg7CdJj590snkeFcPqjWe7371q1/JqaeemsDqqyOzDzqZXheYtp8Q2tCBDzqFXTOxLujWrZssXbo0rCL4TPOmFPUmj+OPP14efvjhRNm33nqr4g05iQyGDlzopON6YHoeM20/q5wudArbWHRdYPJ6ptpo2n7IIc2nSZ1c9nPt2rXBA7vz5s1LYHj55Zdljz32SKTlOTBtv3GbTOrUuC6OIQABCEAAAhCAAAQgAAEIQAACEIAABCDQmACOzI2JaDgObvqVICJz5q62bSU9ntpLpBbeDk9E5szyuypQazfRdfww6UqLTdVbazqFfVXOyjfddFN4GHxuu+228sYbb0jXrl0T6WU4KKtOKrryk08+2SziLbbYQsaPHx9ElW3btm2z+X3NUDadpkyZIsOGDcuFUzkxT506VQ4++OBc5V0WKptOcVaPPfaYnHXWWfL222/Hkyv2TzrpJLnttttKOd+FnfFdJ13rgrLPk77rFI4nU+sCXeMgbKepT190MjXelRPl4MGD5aWXXooQ7r///vLUU09Fx+GOr47Mqn2udTK9LjBtP9TY9KdrneL9070uOP/882XcuHHxKqRTp05yww03yJlnnplIVwfr1q0LoqCPGTMmeFgxnqF169aiHARVZHQXm22dil4PTM9jpu3n1di2TmE7i64LTF3PwvaZth/Wk/bTlE4u+/nrX/+64mEn9b/t73//+7RYNpnPtP1qlZvSqVpdpEEAAhCAAAQgAAEIQAACEIAABCAAAQhAIE4AR+Y4DQ370c2+EkRkztPd7o/uLq26t8tT1KsyRGT2So4mGxOdT03mKN8XRX+Y9LHHtaiT4vzcc8/JF7/4Ramvr09gV9F+jj322ERaGQ7KrNO+++4rf/nLX1JhVs7MJ5xwgqjocioaXNm2Muo0d+5c+fKXvxxEylYO/j169AjYt2/fXhYsWCD//Oc/Zc2aNU1KoRxTVMQqpV1ZtjLqFGerHIauv/76ilcgx/OoffVq+J/85CcycuRIKePDAWXQSde6oMzzZBl0UueDyXWBrnGg2mlq80knU+N9woQJwdsCQoZt2rSR559/Xvbcc88wKfr01ZHZB51MrwtM249ENrjjg07x7uleF6j138477yzLly+PVxPsDxw4UAYNGiQ77bSTfPjhhzJ79myZNWuWLFmypCJvmKA07927d3ho7dOFTkWvB6bnMdP284jrQifVTh3rAlPXs5CjafthPWk+Terksp9DhgwJ1gpxBjrvGZm2H2+32jepU+O6OIYABCAAAQhAAAIQgAAEIAABCEAAAhCAQGMCODI3JqLhOLjpV4sRmTew6f74HtKqW3mjXEbyEpE5QuH7Tq3dRC/6w6SvetWaTupH93322SeIvBxnPnToUFGvRS7rVladLrzwQhk7dmwm7DvssINMnjxZDjrooEzlfMhcRp0aGhoCp3/l9NV4U98pR5VJkyYFEbM/+OCDxlmChwPUD75l2sqok+KrIosqx+TXX389NW71WuTf/OY30qdPn9RlfMnou0661gVlnyd918n0ukDXODB93vmik4nx/sknn0j/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cII88MADFek+J5RJJ/Ua3TfeeCM4p0aNGhVEVFZOs9W2p556Sn74wx/Kk08+WfH1tGnT5Nhjj61I9zmhTDpVi+y11157yaRJk5p0SP70009l9OjRctdddyVk6Nq1q6jv2rZtm0j39cB3nYqsC2ppnnSpkw/rgiLjwOa551In38a7LQe9PPq61Mn0usC0/Ty885ZxqZPpdcHbb78t9957r6i1xle/+lVREcqrbW+++aacfPLJoiLfxjeVX/1ftt9++8WTnezb1snm9cD0PGbafnxA6NTJ9LrA9PXMtP0496z7OnVy0c9jjjkmeHtXvN8/+MEP5Jprrokn5d43bT9tw3TqlLZO8kEAAhCAAAQgAAEIQAACEIAABCAAAQhAQBHAkVnzOIhu9tV6ROY1DbLwyJdFlm0Is/zvre2Jm0vXH/QJD4PPxWfPkvpnV0Vp7Yb3lC5n946OXe2UNSKzcuRr/ArDkOGzzz4b7gaf6se/atES999/f7n++usTeX09iM4nXxvYRLvQqQkwniRfffXVcskll1RtTbt27aqmN5V4yimnBI6ATX3vU3rZzqf+/fuLcm6IbypS9pAhQ6RPnz6yzTbbBBG1VZ6//e1vol4T23jr3bt3MGd279698VfeHpdNp6233joRgVKdQ1/60peCSL/bbrutNDQ0yHvvvSdz5sxp8vp11llnyYQJE7zVpFrDyqbT5MmTZfjw4RVdUf046qijgoja6nzp2LGjzJ8/X2bPni2/+tWvZPny5RVl7r///iByYsUXHib4opOpdUGtzJOudbK1LjA1Dmydeq518m2823TQy6Kxa51MrwtM28/Cukhe1zqZXhdce+21opz71LbZZpsFa8PPf/7zwRtS2rRpIx9++KH86U9/kqeffroqRtW+008/vep3NhNN6eTL9cD0PGbafjgWdOtkel1g+npm2n7IPeunbp1s91M9vLvbbrsF/9+GfVfz2TvvvCPq/6iim2n7adunW6e09ZIPAhCAAAQgAAEIQAACEIAABCAAAQhAAAKKAI7MBsZBcNOvxiMyK2yrn14oK0fN3UiwdSvpes8AadvnX6+FX/3khu8vjH2/RRvp8f82vIa8zcYizvZKGJFZORN16dKlMLK6ujpRr5Mty1a2m+jo5P/IGjlypEycOFFLQ3faaSd59913tdiyYaRM55N6Zat6tWreTf2o+Ic/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nnves//7+yW7MzvzP2efZ85h93jmbMkO74/wBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIGCZRgIrNB2igKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABECgggAmMuNCAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQME4AE5mNI0eBIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACmMiMawAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMA4AUxkNo4cBYIACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGAiM64BEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAB4wQwkdk4chQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCAicy4BkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABIwTwERm48hRIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAACYy4xoAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwTgATmY0jR4EgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKYyIxrAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwDgBTGQ2jhwFggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIYCIzrgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAHzBHbgj5WAZ7AiD4/g4F8IuA5wHeA6QDtAP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6Aa39gH/tSv792DtIllCE2VovNtQb/1j6zRXXAa4DXAdoB+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD8Q9AP+tSD1V+IHewXhj4lASUmJ33sRbR/BlIgYCQIlZc/BkwRY5kx4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5tiEJ+bc1DhMZE4lwrBdMZl523CGJESIESh9luBJjC5fMDzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fNjzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fNjzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fduBJeL1kTGTmU1aRhBWZmYEKxSXuFMDK2UKEeWLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefITnnjisqZgInNWNPFfwEq/8dkZOzO4UwArZxtDHqsgeIqFzfhJ8GQceawC4SkWNuMnwZNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzfhI8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqvAwBNWZI6Fr9pOworM1YY+r4ITdwpgRea8uJk+GJ5ME49XHjzF42b6LHgyTTxeefAUj5vps+DJNPF45cFTPG6mz4In08TjlQdP8biZPgueTBOPVx48xeNm+ix4Mk08XnnwFI+b6bPgyTTxeOXBUzxups+CJ9PE45UHT/G4mT4LnkwTj1cePMXjZvoseDJNPF558BSPm+mz4Mk08XjlwVM8bqbPgifTxOOVB0/xuJk+K+FJuGCsyCwAGCsyC0DljgzuFMCKzNxkefPgiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXMDT1iRmZerdBpWZJYmzJOfuFMAKzLzABVKgSchsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKS3gSyg9isSJzQILxESsyM8KUigruFMCKzFKEeXLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefIDT1iRmYenqRSsyGyKdGHlJO4UwIrMhYEUPhuehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOCbhSbqcHd6fcBlFF48VmRUoD+4UwIrMdsuCJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLux8CT8DTjEkxk5r0OsCIzL0+ptMSdAliRWQoxSy48sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUkDCE0ta9hBMZM7OJvYrWJE5NjpzJwZ3CmBFZnPM45QET3GomT8Hnswzj1MiPMWhZv4ceDLPPE6J8BSHmvlz4Mk88zglwlMcaubPgSfzzOOUCE9xqJk/B57MM49TIjzFoWb+HHgyzzxOifAUh5r5c+DJPPM4JcJTHGrmz4En88zjlAhPcaiZPweezDOPUyI8xaFm/hx4Ms88TonwFIea+XPgyTzzOCXCUxxq5s+BJ/PM45QYeMKKzHHoVd85WJG5+tjnU3LiTgGsyJwPNuPHwpNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzfhI8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqtAeIqFzfhJ8GQceawC4SkWNuMnJTwJl4wVmQUAY0VmAajckcGdAliRmZssbx488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosb27gCSsy83KVTsOKzNKEefITdwpgRWYeoEIp8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJxCU9C+UEsVmQOSDA+YkVmRphSUcGdAliRWYowTy488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowT37gCSsy8/A0lYIVmU2RLqycxJ0CWJG5MJDCZ8OTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKxyQ8SZezw/sTLqPo4rEiswLlwZ0CWJHZblnwZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9GHgSnmZcgonMvNcBVmTm5SmVlrhTACsySyFmyYUnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCkh4YknLHoKJzNnZxH4FKzLHRmfuxOBOAazIbI55nJLgKQ418+fAk3nmcUqEpzjUzJ8DT+aZxykRnuJQM38OPJlnHqdEeIpDzfw58GSeeZwS4SkONfPnwJN55nFKhKc41MyfA0/mmccpEZ7iUDN/DjyZZx6nRHiKQ838OfBknnmcEuEpDjXz58CTeeZxSoSnONTMnwNP5pnHKRGe4lAzfw48mWcep0R4ikPN/DnwZJ55nBIDT1iROQ696jsHKzJXH/t8Sk7cKYAVmfPBZvxYeDKOPFaB8BQLm/GT4Mk48lgFwlMsbMZPgifjyGMVCE+xsBk/CZ6MI49VIDzFwmb8JHgyjjxWgfAUC5vxk+DJOPJYBcJTLGzGT4In48hjFQhPsbAZPwmejCOPVSA8xcJm/CR4Mo48VoHwFAub8ZPgyTjyWAXCUyxsxk+CJ+PIYxUIT7GwGT8Jnowjj1UgPMXCZvykhCfhkrEiswBgrMgsAJU7MrhTACsyc5PlzYMnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzQ08YUVmXq7SaViRWZowT37iTgHHVmT+fvVm2rRpO9WrV0YNG9XkgVWNKa542lS+jRYs2ECLFm2gVas2Ubt29ahXr8ZOOPIvD1c8bVi/lRYu3EDffbexwlObNnWpW7dG1KJl7WpsBXxFu+IpK5EdRFu2bKeaNUu9izLrUda/4Lwn6w1Eq6DLnpYs3kgzZ66h9V6f2Mj7LOH3hZ07N6QSr2lp+3PZkzYXVdXXNU9Ll5TTrFlraPnycmrbth517dqQmrfQ/1nCJU/z5q6nJUs2Vjjyr02/j+vSpQHVrlNW1aWq4jUtniS+t/qf5f3vXN99t4FWe9+LmzatVfFvWPv29ale/RpW+StmT8kiJK6D5PxCnxerJ23jF8XqSdv4RbF6ytoPWTp+AU9ZjVn1AjxV6rB5/AKeKj3Z/KzYPWkZvyhmT5rGL2z1ZOL7DcYjCu/pTXhKriXGI5JpRH8u7Uk6P/o7jXZksfZ7GI+Idn3kOqrarneMR+RSE3q92jyFamHPRqLfE64SVmQWAIwVmQWgckcGdwo4siLzZxNW0plnj6NJkzcmSJ1/bnu69949E9sqnyj2tH7dVnryyTk0ctQCGvve994Ec+9TQcpfu3ZltMfuTejG63enPfo1S3lV0aZiTytXbKLHHp9NL3mePhm3lrZtS+feuHEJ9e/XiG66YQ/ae0jL9AO07FHsqSrE/3h4Fl1/0zRvEvpW8m/+KvEmMTdrVkrDT2hLDz44uKpT7XxNoaeNG7bRKT/7gCZO+j4W05+e1J5uuaV/rHOr7SSFnrKxmjljDd12+zT6csr3NGPmBlqzJv3fq3r1SujAoc3o3LO705E/aZctyr79yjxdeOEE73PDIhaOTRrXoFdfPoh23qUeS55oiDJPqSzKN26jO+/6ip55dh59M7uc1q1Lb0ONGpVQr5716PLLdqUTh7dPjdCxrdzTsqXldMONX9Kol7+j+fO3pjH3Pz907FiDLr6gJ51zTneqWUvh3Rv+u7LcE/v3Vq+5Pf/8fHr8idn0+hsraWu6WqpVq4SOOLw5/fpXXemYY3dOc18tO4rNUwpk9usgJZ9ts4g8qR6/KCJPqscvishTVX2Q9eMXReDJifGLIvCUrR2pGr9w3JMz4xeOe0ptS2rHL4rMk9rxC4s8Gfl+g/GI1C4m720jnlJqhfGIFCARNqU9SedHeIvxDymifg/jEfEvk+Qzq/N6x3hEsomqn0t5cmo8AisyV30R2fYqVmS2zUjm+iTuFFC+IrN/x9M1106mu+6ZS9u3h9/rCce3pOefOyC8U9mWRk/bt+2g2++YTn+5Zaa3qm+KlCz8y7zF3y66oCNdf90eVL+BXauFZalyaLdGT1s2b6cbb5pCd9z1TcYJR6E3mLRxysmt6d579lS5sqJGT0noMz79ZtZa2rXvm7R5c/qksVatSmnp4hMynmfzTo2eXnl5ER117Cexsfo3dSycf3zs86vjRI2eUjn5qw5cd/2XdN8DczNO/Eo93t/2J/otmHsktdtZweRYv75lz3k3OHj9g5LPe81bvhD5s0MmP6n7nvnvIBpxUofU3dZta/OUDPCf3s1Qf/jjl97NNBnuhEo+MOn5noPq09/u34v6D9B1E5tmTy+NXEBnnD3BW4E52mfzzp1r0uOP7E377d8qyZyOp7Z6kvje6v/H3dN++RG9OWZ1ZDk/Pak1Pfi3wdS4SfX+elExeUqWI3EdJOdzPy8GTy6MXxSDJxfGL4rBU64+SMP4RTF4cmH8ohg8pbYnjeMXrntyZfzCdU/JbUnz+EUxedI8fmGDJ1PfbzAekdy75P/clKfkmmE8IplGtOfSnqTzo73Lwo4qhn4P4xGFXSPB2dV9vWM8IjBR9aO0J6fGI6pGWfCrWJG5YITpAViROZ2JdXssukMqLpsxby6mM88ZT3PnZlh2ygt1YSKz7SuKZXJ3/AljaeRLKzK9lHPfEYc3o1dfOSjncdYdoLA9FeLpmKNb0Esjh1qnIWeFFHrK9Z6O/Mk79NrrqzIepnUis8Z+71/e6vOn/WpiRg9Rdu68cxktmKdrIrNGT8kuJny6ko446j1auTLapL7kcz8bfyANGNg8eZe9z5X1e81avECrV+fvJJuAUS8OpqOPsWT10WyV9Pcr8xS8lfvvm0nnXzQl2MzrsXXrMpoy+Qhq2apOXudV68EKPfkDT2eeNY4eeSz/lc6bNCml8R8Po+49GlUr9rwLt9CTxPdW/yeQB+71Wl43EQQsh+zdgN579zCqUdO7O6e6/orEUzJeiesgOV/keRF4KuR7sTXjF/BU5eVvzfhFEXiqUoT3oorxiyLw5MT4RRF4Sm5PascvHPfkzPiF456CtqR+/KIIPDkxfmGBJxPfbzAeEfQs8R9NeEquHcYjkmlEfy7tSTo/+jst4Mgi6PcK8YTxiMprqxCOHONvGI+odFHVM2lPTo1HYEXmqi4l+17Disz2OclUIxvukMpUryj7Vq3cTJdcOoGe+NfiKg93YSKzNk9bt+ygWnWf91Z/TFfjr2LZpk1ZxUqL5eUZDvjfKU8+3p9+flrn9ACL92jzRB7+GrWfo20piyfWrev/7Hsd6tq1kTeRbBN9OWUtLV2actD/PDzxWH867RfwVJ2X5ehRC+mY48dlrYLWiczq2pNnoNAP3iee0JKee/aArC5tfEGjp4Dj4u82epO/Xqfvvkvv33baqYyGHdSS2rWr562+XELLlpXTZ5+vpKnTyhO//DD584Np9z2aBnFWP2rzNOyQt+jtd75nY/rKqL29CRPt2PKkgrR58jlMm/q9147eptTPdI0bl9CJx7elzp0bUM2apTRv3np69fXvMt54yDEAJeUkU65GT39/aBadde4XaW+nfv0SGtC/Ie3etyktWbqRxo1fRQsWpN8c2rVrTZr02U+oQUM9v5hikyep763+d66hB71JH328Ns1tp041aJB3s029umU059t1ntu1GX+548LzO9Dddw9KO9/UjmLwFLCUug6CfMlH1z25Mn7huidXxi+c95SjM9IyflEMnlwYvygGT0GT0jx+4bonV8YvXPfktyUXxi+KwZML4xfV7cnE9xuMRwT/Qsd/NOEpqB3GIwIS+T9Ke5LOz/8dxzvD+X7PkfkUznvKcfliPCIHoP+9bKJfcmo8IhrW2EdhRebY6LKfiBWZs7Ox5hUL7pCKw+L55+bTOed/FulnkV2YyKxthb7yjduoboMXE2rr1Cmhn5/als48ozv16dOE6nj/Qd2/s/qLL1bT+Rd+Sh9/si5xbPCkefNS+m7BcVSrdmmwy/5HZe1p29Yd3kTm5xNce/asRZdc2ItO8yaQ161XltjvH3fHndPp2j/NSJuo1KtnbZo+7ejEsSqeKPNUFdNN5duod5+Xac6cLVkP0zqRWVu/5wtI/eA9oH89euThvbO6SX2hV6/Guvo8/w0obU9+29l/6Jv06YT1IQ3+pL5/PDSARozoQGU10leo9FeaGD16AS1bXk5XXL5b9a5iGap5jg1lnvyfuJs27Yccbyr95a1bt9OQ/d4LvVCrVgktWXQ0NW1WK7Tfyg1lnnyGmf6j7Sknt6b779srjbn/82t33f0VXXHlV2n4Z804jLp2a5i238odyjyt+WELde0xOu1702GHNqVnntqfGjWuGcJ8151f0SW/mxba52/cfcdudOFFPdP2W7vDEk+S31vvvWcGXXjJ1JCCUu+r09//tgedfnoXKi2r/Hds1tdr6ZzzxqfdJFLmfeT/Zubh1LFTg1COsY0i8OSzlLwOjLhy3JMz4xeOe3Jm/MJxT1X1SarGL4rAkxPjF0XgyW9T6scvHPfkzPiF4578tuTE+IXjnpwZv6hmTya+32A8wu9VCvsz4cmvIcYj7PZk6joojEKEsx3v9zAeEeEaiHBIdV7vGI+IIOh/h5jw5NR4RKaVPaPjznkkJjLnRJTfAViROT9e1XV0dd95E+d9L1m8kdq1fyWxImKQ0bJlKf31z7vT76/+IvQf6l2YyKzRU8PGz9O6dTvoZ6fsRLfdOoB2alM3UBV69Cc0Dz/pfXpx5PLQfn9D02qXfn01emre8gW/6vSna3rTeef1CE14qHgh6f/uuXsGXXRpeLJEDW9hvvVrTlA1+VKjpyQNoac33jiFrvnjzMQ+/6aBQw9pTqNGr0js0zqRWaOn1A/eRx7RjF55+aCECxefaPTke0htO/6+pk1L6dXR+9PgvVv4m079afWUr4Rnn5lHJ50yIXSa/znkX//aN7TP1g11nryVCBo1fZ7WrvWe/O9v19616fMJR1LtOpU3RAWvBY9nnz2OHnp4YbBZ8fjc03vSicPbh/bZuqHN0xVXTKRbb58Twun/AoA/iTl5omvyAQ/+7WvvptEvk3dRjx61aMa0Y7wPvKHd1m7Y4Enye6u/MkLnbi+lraB9/Z+60zXX9M3oxR+EHLjnqzRt+qbQ6xec14Huuad6VmV23ZMPWvI6CIkU3CgGTy6MXxSDJxfGL4rBU7buKPU7mM3jF8XgyYXxi2Lw5Len1Lbj79M0flEsnnwv+fzZNn7hvCdHxi9c9+TK+IUNniS/32A8Ip/evupjJT35JWM8omr+UV+V9iSdH/V9FnKc6/2ezwbjEYVcIZXnVtf1nvqdCuMRlU4yPZP25NR4RCaAjPswkZkRZhDl5IrMm7bT1gXltGO7t5Jpq9pU0kTPz+sGXkKP1XyHVKguETcmTVxF/Qe9kzjaX0XqnLPa04039KPGTWpS6zYveD8Bvz3xugsTmTWuePnp+BVUv34N2nW3JgkX2Z4sWriBuvd6jTZsqJwI4x/75OP96efe6sBq/hS2p5UrNlFdb4Xsep6rXH/+pPOOXdInTHwx8WDqu3vTXKfb87pCT5ngzZ+3nnru+jpt3FjZbq79QzdvQtkWuvPuuYlTtE5k1tjvufDBO3HhRH2isD35d0+37zSSvvtuW+Jd+r8CMPbtg2g371cDnPxT6CmOh8F7v0bjPw2vsv3pJwfSoD2bx4kzf44yT9/MWkvder4R4nTzTT3pyit3C+1L3Zj4+SoasGflZ3n/df/fr+uu2z31UDu3lXnq4k12Tf7lBv+709dfHU6du1S9Am/f3V+mKVPLQw7Gvr0fHTC0dWiftRsWeJL83ppp4sMhw5rQG68No5IqftAmU/ur1s+Kjnvy24fkdWCs/RWBJyfGL4rAkxPjF0XgKVPfpG78ogg8OTF+UQSenBi/KAJPmfq9XPusG79w3JMz4xeOe3Jm/MICT5LfbzAekauHj/66pCe/FhiPiO6iqiOlPUnnV/Xe2F5zvN/zOWE8gudqqY7rHeMR+buT9uTUeARWZM7/AqvOMzStyLx96Wb64fJZtGPljxNaSpqXUePbulFpqx9/gnr78s20/j+Lacvo74nWVE6QreDr/ex4ab86VO+3balWv0bViTxW2TbcIZVvxWd89QP12m1MxWn7DGlID9y3Z2gSpYsTmTV6ytfrQQePoXfHhn9G/uoru9BNN/XLN6raji8GT0cd/S698urKEOPXXh5Chx/RNrTP5g1XPJ04/D164cXKlcw7dKjhrZR4NF39f5OcmMis0ZMTH7zzbLwaPWUabL3uj93p2mszr2CZJxIrD9foKV+QH3+0nPbZ/73QaYP3akCffHx4aJ/NG9o8vfbqIjry6E9CSB9/pB/98lddQvtSN5YvK6dWbV4O7f7D1V3phhv2CO2zdUOTp83eTbj1Gr5A2yrv26DhJ7aiZ5/ZPyfev/51Gl159Veh4266oQddfXWf0D5bN2zwJPm99Te/+YQefXxRCP+EcQfSwEG5b9zo03c0TZ0WXpV52peHUO9dG4fyTGy47slnKHkdmHDkl1EMnvJlaeP4BTylW7Rx/KJYPWkbvygGTy6MXxSDJxfGL4rBU/q/QFXvsXH8wnVProxfuOzJpfELGzxV3Qulv5rP9xuMR6TzM7UnH09+nTAeYcpMuJx8PYXPzr0lnZ+7BulHuN7vpb/j3HswHpGbUZQjOK53jEdEIV3YMfl6cmo8ojB0Oc/Gisw5EeV/gJYVmcvfXUkbfj8/9Abr3dKe6gxtTuufXkyb7l5K5K3eV+VfSQnVvrgV1T9Fz2S+ivdjwR1SVXLN8OIOby75nXdNp+7dGtFRR++cdoSLE5k1rkyaJibHjjPO+IT+8Wj4P8ZrmtRS8fYUtqccWtJePvCgMTT2vfCE8ymTh+laxdQBT2+NWUyHHP5RyM8Lz+5Jx5/Qni699DMnJjJr7Pdc+OAduqiibChsTwcPG0PvvFvZj9WsSbRg7lHUeqc6Ud6xzmMUesoXdOpghH/+U/8eSCf/tGO+UdV3vDJPqat6+OCuvKIL3Xxz1Tehvf/eUjrgoA9CnP/z5EA65dSOoX3WbijyNH3aD7Rr3x9vAA14/vnGnnTVVVWvmu0f669U0LHLa5R8Q3nUSdBBWdX6aIEnye+tO7d/kRYtqpyh3rhxCa1afgKVlpXkxH7TTVPoD9fODB334P196ayzu4f2Gdlw3JPPUPI6MOLIL6QIPOXL0srxC3hK02jl+EURelI5flEEnpwYvygCT06MXxSBp7R/gHLssHL8wnFPzoxfOOzJqfELCzzl6IbSXs7n+w3GI9LwGduRjye/UhiPMKYmVFC+nkInR9iQzo9QhfRDHO/30t9w7j0Yj8jNKMoRhV7vGI+IQrnwY/L15NR4RPJ/QCscZVoCJjKnISlsh6YVmTNOZL65PZW/tIK2j9uQF4iyIxpS4+u65nVOdR6s8Q6pXLxcnMjsoqdUj6ee+gH992nvpoGkv3vv6kPnX9AjaY/dT5335N3P0bTFC/T99+GV6TesPZ7q1vN+p1zJn3ZPW7fsoD57jKYZMzYniPs/Jf7mG8Mqtl2ZyKzRkxMfvBNXVbQn2jz5P8vaoPELVF5eeYPaqT/dif79732jvWGlR2nzlC/mObPXUbeer9P2pH+e2rUro3lzjqMy79dTtPxp87Rxwzaq3+jF0ERXfzLl9ClHUtt2dbNiP/yIt+mNN1eHXp85/VDq3kPHr9to8jTyxQV0/PDxIdb/+ucA+tnPO4X2Zdvo2XsUzZxZ+XmjW7ea9PWMY7MdbtV+DZ7ifm9dvWozNWs5KsT7qJ80p9GjDgzty7Yx5s3FdOgR4RviLrukE91224Bsp4jtd9lTVGhxr4Oo+RzHwVM6RRvHL+ApxZOl4xfF5knr+EUxeHJh/MJ1T66MX7juKeVfn5ybto5fuO7JlfELlz25NH6hwVNqZxX1+w3GI1LJmd2O6ilqrTAeEZVUfsdxe0otXTo/tbwo2y73e1Hef9oxGI9IQxJ3RyHXO8Yj4lLP/7x8PTk1HpE/rrzOwETmvHBFO1jzisxU05v04E0Wi/NX/95OVHuvJnFONX+OwjukckHS8ME713tIe91BT6nvccDAV2jipI2h3c/8dxCNOKlDaJ/VG457euD+mXTehVNCCvr2qUNfTD4qtM/6DeWebr99Ov3uiukJzP5qslMmH0o9ev44AcyVicw2rPyWgBzxiQsfvCO+1crDlLWnqVO+924EeKuy/t6zkc/vRccet0ton3Mbyjzly//iiyfQ3ffOC50WddXZ0EnVvaHQU6afjBqydwMaNfJAat6idhrRe+6eQRddOjW0X9Uqv37NFXl68YX5dMKIT0O8H3pgdzrzrG6hfdk2fnLUO/Tqa6sSL5d5961t3Tw8sW31EwWe4n5vTf5p0MDBHbfuSpdc2ivYrPJx3twfV9tOPujEE1rSc88ekLzLzHOHPUUFGPc6iJrPchw8pWG0cvwCnkKerB2/KDJPascvisCTE+MXjntyZvzCcU+hf3wibFg7flEEnpwYv3DYk1PjFwo8pXZXUb/fYDwilZzZ7aieotYK4xFRSeV3HLen1NKl81PLi7TtcL8X6f2nHITxiBQgBWwWcr1jPKIA8Hmemq8np8YjsCJznldLNR+ufUXmTPhK96xLNfdr7P0Wh/cfcL9cR9vGrveepE92Luldm5o+3jtThHX7NN4hlQuiig/eud5Eyusuekp+i9/OWUedu72evItKvHsJ5s4+gtp3qB/ab/OGy54mfLqS9j9wbGgVU9/Fs08NouEjFE029+qs2dOSxRupe69Xae3ayn97Lr+sM91yS/9E03BlIrNGT9k+ePs/4bVt2w4qLfXmv0X4yfeETAVPtHl64p9z6Je/nhgiO/WLYbTrbpU3oPl36a5YUe6tPr+ZdtqpLjVpWit0vMYNbZ7yYfzD91to5w6jaN26yn6xTp0SWjjvqIwTafPJNn2sRk8TP19FA/d6J7Qqs8+tY8ca9Mx/96NBezavwOj3g9ff8CX96fqvQ1jr1y+hyZ8fSl27NQztt3lDkyffz4A93wnh/L+rutKNN+4R2pdt45xzxtODf18QelnLL3Fo8BT3e+t7Y5fS0IM/CHnJ56Ycvz3Wa/h86HP9oIH16dPxR4QyTWy47Ckqv7jXQdR8juPgKUzR1vELeKr0ZPP4RTF50jx+UQyeXBi/cN2TK+MXrnuq/Ncn9zObxy+KwZML4xcue3Jp/EKDp+QeK5/vNxiPSCZn9nk+nqLWDOMRUUlFP07CU3Lp0vnJZeXz3OV+Lx8O/rEYj8iXWPbjC7neMR6RnSv3K3E8OTUewQ00JQ8rMqcA4dhUvSJzMoCmZdTw7i5Us2d4QuWWGetp7VnfEG30/ktgyl+j//SgGl3rpey1cFPhHVK5KGr44J3rPaS97qCn5Pd4881T6eo/zEjeRfsMaUgffnBYaJ/1Gw56WrhgA91405f0j0cXehMxwwYO2L8RjX3nUG9mcHi/9VuKPZ122of0r/8sSSBu06aMvv7qaGrQsEZinysTmTWteBnAT/3g7e+vVauENm/+cYKlv5Jl+/Y1qHOnBtS1i/e/ro3oZG/V+V3ahz9fBHkqHpW1pyuumEi33j4nhHbdD8fRpEmr6Kmn59J77y+ladM3hSZltm5dRr16NqDevRrTr0/vQgMG/jgxMxRi+4YyT/ngvPXWaXTFlV+FTvntr9vRww/vHdqnYkOppxu8CcrX/ik8Qdnn7d+U9qtftKURwzt4E5i/pE8neDeBJv35k5hfe3k/2m//Vkl7FTxV5CnTT3727lWbpk05OtLnt8sv/5xuu+PbkJRli4+ilq3qhPZZuaHAU9zvrc8+M49OOmVCCPs7Y/alAw/aKbSvqo0OnUbS/PlbE4f06FGLZkw/JrFt7InDnqIyjHsdRM1nOQ6eQhitHb+AJ1IxflFEnlSPXxSBJyfGLxz35Mz4heOeQh8ScmxYPX5RJJ7Uj1847Mmp8QsFnpK7q3y+32A8Ipmc2ef5eIpaM4xHRCUV/TgJT8mlS+cnl5XXc4f7vagcMB4RlVT04wq53jEeEZ1zoUfG8eTUeARWZC70EjJ7visrMpd0rklNHu5FJQ292UcZ/jaN/57WXxD+j7v+YbXOa0UNftkuwxl27dJ2h1QUeio+eEd5I0nHuOgpeHv+SgTde42mZcvCNwTcf08fOve8HsFhKh41e3pp5AJ6/InZFZP3/H9vF3sr/876ZqO3ImnYSyDiqJ80p2ef3p/q1M3cNwbH2fio1dNHHy6nfQ94L4T0308MoFN/1im0z5WJzBo9ZfrgHZKTYcNfOfaC8zrR1VftpnLlX22efvvbT+iRxxaFTOzq/ZKGP3k5yl8N756Bq6/sRtf8oS/VqKnnLg5tnqK48I/xV8/u1HUkLVwYvtNmyuRhtFufylW2o+ZV93GaPd1yyzT6/VXhCeVV8WzXroye+vc+tO9+yiYxe29Km6fGTZ+nNWt+vKEmcBLlFzW2e78kcPyJ79Go0SuC0yoeZ399OHX2bsax/U+Dp7jfW++7dyZdcPGUkILPxh+Y1402vXYdRTNmbE5k+Ddazfv2uMS2qScue4rKMO51EDWf4zh4qqRo8/hFMXnSPH5RLJ60j18UgycXxi9c9+TK+IXrnio/JVT9zPbxi2LypHn8wnVProxfaPAU9Fj5fr/BeERAzuxjvp6i1g7jEVFJRTtOylNQunR+UE6cR5f7vVQeGI9IJSKzXcj1jvEIGSeZUuN6cmo8IhMYxn1YkZkRZhClfUXmkrY1qOlTuxLV8X4Lvoq/VUd9SbQsPIGixvAm1OiK8OSyKiKq7yVld0hFAaXhg3eU9xE6xkFPwfs7//xP6f6/zQ82Kx7bti2jGdOOooaNaob2W7+h2NMBQ9+k9z9YkxNxixaldO9d/WnEiA5UVkPPJL7QG1PoyZ9M1H/gK/TFl+WJt7LvPg3pg/fTVy13ZSKzxhWZn3l6Hp18aniFxISwHE+aNi2lF57dh4Ye2DrHkZa9rKw9jTjpfXru+WUFQxy8VwP6yPvVgNIyJf2gMk9RBf33P3Pp1NM+Cx1+4NDG9M7bh4T2qdlQ7mnMm4vpHO9z3ezZW6pEftKI1vSPvw/W9zkveFfKPF1yyWd01z1zg9pXPNarV0J33d6XzjizW2i/v7Ft6w7697+/pRtvnkKzZoVdlnpfixfN/wnt1KZu2nnW7VDgKe731muumUw3/tn7Zaikv6+/Ooy6dW+YtKfqpwO8z5UTJ21MHNSyZSktW3JCYtvYE4c9RWUY9zqIms9yHDwlMFo9flFEnlSPXxSBJyfGL4rAkxPjF457cmb8wnFPiQ8JOZ5YP35RZJ7Ujl847smZ8QsFnoIuK9/vNxiPCMiZfczXU9TaYTwiKqlox0l5CkqXzg/KifXocL+XygPjEalEZLbjXu8Yj5DxkS01rienxiOwInO2y8PO/epXZK5XSk1f6E0lzXJPpFx751za8t/VIRFl+9Wnxrd3D+2zcUPTHVJR+an44B31zfzvOBc9+W/t889W0p57v0vbUxb9femFwXTMsTvnSan6D9fsacg+r9Mn49ZFguhPZh5+Qjv661/6U6PGufvISKEGD9Lo6YH7Z9J5F1auvFfmLYQ9ccLB1Hf3pmnkXJnIrNHT/HnrafA+b3ormm+jRo1KqFmzMmrcqAbVqlVGy1dsou++20abN4dXxUwW2KZNGU2ZfCQ1b1E7ebfVz7V5OvyIt+mNN8Of2ZIBN2hQQnsOakQ7ta5LK1Zuoq9mrKUFC7YmH5J4/ujD/ej0X3dJbNv8RJunqCwHDnqVPp+4IXS41s8Q/pvQ7smfAHvHndPpiiurXpm5efNSuu7aXenss7urvClKm6cVyzd5K5e/TOvWpf/707NnLerbpyl16lifliwppxkzf/D+t4F++CH92KChzf/2CNqlff1g09pHDZ7ifm/NNEC4YO6RtPMu9SL7SF2RuUuXmvTN18dGPp/rQJc9RWUU9zqIms9xHDz9SNH28Yti8qR5/KIYPLkwflEMnlwYv3DdkyvjF657ivpZy/bxi2LzpHX8wnVProxfaPDk911xvt9gPCJqr893XBxPUUvHeERUUrmPk/Tkly6dn/sdVn2Ey/1e6jvHeEQqEf7tQq53jEfw+8iWWIgnp8YjsgFi2o8VmZlAJsdoXpG5xPuZ8aaP905+O1mfr//vd7TpzqWh10u8/yjc9AlvNWfb/xTdIRUVpYYP3lHfS+I4Bz2tX7eVBu31mjdJbFPibfpPRgxvRc88vX9on5oNxZ4uv/xzuu2Ob/NCvcsuNejJx/emA4ZiBdm8wOV58EpvAmy3nq/Q6tWVM/7PP7c93XvvnhmTXJnIrHFF5goh3tyv7dt3ZF6p13ttyZKN9M8n5tDd935dMeE5VeKxx7SgkS8OTd1t77ayfm/f/d6gjz5eG+JZ4i2qfOIJreics7rTAQe0TptYOX7cCvrZLz5KW2V2553L6JuZx1DtOt6dBbb/KfMUBecH7y+j/Q98P3Ro587eRLyZx1JJ1T+mEjrHqg3Fnj78YBmddc54mv5V+HNdVXz77FaHRo0cSh07NajqMPteU+gp35/OrQr6D6uO1XEjmwJPcb+3XnzxBO9zxLyQpm+/OTyvtpQ66N6hQw2aO+e4UKaRDYc9ReUX9zqIms9yHDyRivGLIvKkevzCcU/OjF847inxb4P28QvHPTkzfuG4p0R7quKJivGLIvKkevyiCDw5MX6hwFPc7zcYj6iisxd4Ka6nqFXBeERUUlUfJ+1JOr/qdxfxVYf7vVQCGI9IJcK7Xcj1jvEIXhdVpRXiKZHryngEVmROKFXxRPuKzPlMZC5/eyVtuGp+yEtJuxrU9MU+oX02bmi5Qyofdio+eOfzhrxjnfPk/cM04uT36bnnl4VINGtWSl9NPZJata4T2q9lQ7undWu30o7//WO7Zs0WmuetLjt37joaN34FPfLYfNqwwROX8le3bgl9MfHQvH7KOiXC+KY2T2edNY7+/o+FCU7+itizZhxFTZrWSuxLfuLKRGZtnpIdRHm+ZfN2OuVnH9DzLyxPO3zihIOoX/9maftt3KHN04EHjaGx7/2QQFm/fgmNfXsoDRzUPLEv05O1Xp/YpftoWr688oYC/7jRIwfTUUfb/wsC2jxlcpC679jjxtKo0StCu++6fVe66OJeoX2aNrR6euKfc+i3Z02kLVvCtP3PdZdd0o2WLi2nB/8+P+OK9C1bltKoF/enwXu3CJ9s8ZZWTyNfXEBnnjMhrR/Lhtq/ySN1DMbft33LcO/LSbaz7NmvwVPc761XXTWJ/nLL7BDsGdMOpR49G4X2VbXRf8ArNGnyxsQhgwbWp0/HH5HYNvXEZU9RGca9DqLmcxxX9J6UjF8Umyet4xeue3Jl/MJ1T/n+22Dr+IXrnlwZv3DdU5T2pGH8olg8aR+/KBZP2scvrPdUwPcbjEdE6fWZjinAU9QaYDwiKqkqjpP2JJ1fxVvL5yWX+71MHDAekYkKw74Cr3eMRzA4iBJRoKcoRSQfY/14RHJlBZ5jRWYJqN5/6dyxzfsPnZb/lb/rTUT+fcpE5DxWZN78xRpad0b4PySWtPUmMo+0fyKz2hUvq7imNHzwrqL6mV9ScCdb5opn3pvpy26Zt6Dl66/sQ8MOaZP5JA17HfOUjNz/Wa+b/jyF7rpnbvLuiudD9m5AH75/uJ4VMBV5yvSzHA8/uDv99oxuaR6CHa5MZHbx36fAUfDoT44dsOerNGtWePbfow/3o9N/3SU4zO5HRe3JB3n0Me/Sy6+sTDD1J1EuW3JCYruqJ3/5y1S66v9mhA65+47d6MKLeob2WbmhzFMuht/MWks9er/hrX5eeWTDhiW0aP4x1LBRzcqd2p4p9HTXnV/RJb+blkb67DN3oZv/3C9x043/U1G/u+Jzeva58E1s/on16pXQ1C8Oo06dlazMrNBTIMj/PPeHaybRy68upkWLtgW7E48NGpRQ1y516ID9W9H55/Wk667/gv71nyWJ15s2LaVVK6L1mYmTquuJAk9xv7def/2X9Mfrvg6RnTDuwJw35SSf0GvXUTRjxubErp8c2ZxeHn1gYtvYE4c9RWUY9zqIms9yXJF7UjN+UeSekq91q8cvHPbk1PiFw56S20o+z60cv3DckzPjF457ytWO1IxfFIEnJ8YvisBT0KZUj19Y7qmQ7zcYjwiuUPnHQjxFrR3GI6KSyn6ctCfp/OzvLM9XHO738iRBGI/Il1jl8YVc7xiPqOQo/awQT3HrZvV4ROpqQHHfZJbzMJE5C5i4u4tpReYtU9fS2l9/E0KlZSKz9XdIhahG21DxwTvaW0kc5ZKne++ZQRdeMjXx3oIn997Vh86/oEewqfLRJU/ZBJx77nj620ML0l4e+/Z+dMDQ1mn7bdyhydNBB4+hd8dWrh47cEA9+nTckVVOGndlIrMmT4Vc5w89+DWdfd6XoYgLz+9Ad989KLTP1g1tnk499QP679NLEzj9FZnXrTkxsV3Vk1lfr6Xuvd4IHXLxhR3pzjsHhvbZuKHNUy6G55//Kd3/t/BNiJraTbb3p83T1zPXUJ89xoRWWq5Vq4QeuHd3+s1vu2Z8m489OpvOv2hy2q88HDKsCb35xrCM59i2U5unbPwWLtjgrc5cTqtWbaa6dcuoS5eG1Hqn8K+i7D3kde+XOdYlIvbfrxG9N/bQxLbNTzR4ivu99Y47ptNll08P4R/14mDvZp3ovxDQqMnztHatt3zC//5+/at29Mgjewebxh5d9hQVYtzrIGo+x3HF7EnT+EUxe8p2nds4fuGyJ5fGL1z2lK29RNlv2/iF655cGb9w3VOutqNl/MJ1T66MX7juKVt70jZ+YbOnQr/fYDwi21XKu79QT1Frg/GIqKQyHyftSTo/87uKt9flfi8eESKMR+RHrtDrHeMR+fGOe3ShnuKW659n7XhEIW8qwrmYyBwBUr6HVExmLoIVmTVPZHZxxUsNH7zzbUuuePrXk3PoF6dPTPuZ6ssu6US33TYgbyzWnWD5HYccvLZt3eGtgjmKZs8OryB7+6296dJLe3MUIZ+hxNP3qzdT0xaj0nj06FErbV/yjrlzt9CmTZUTU/zXks/p6k1UGv3SgVVOhk7Oq7bnSjwVyueTj5fTkP3eC8VU26qIoVpE3FDm6YwzPqF/PLoo9ObWfn8cNWhYI7Qv08bGDduoXsMXQy+d/su29OijQ0L7rNxQ5qkqhqu9SZc7dxgdmgjr/QgMff3VYdS1W8OqTrX/NWWeDj3sLRrz1vchrg/e35fOOrt7aF/qxpg3F9NhR36U9nnwkw+H0uC9W6Qebt+2Mk+FAGy10wveZOfKpc9/d2knuvVWJZ/ZFXiK+7312Wfm0UmnTAipjdL2ghNWrthELVqPDjYrHq+8ogvdfHO/0D4jGw57isov7nUQNZ/luCL1pG78okg9VXWNWzl+4agn58YvHPVUVXuJ8pp14xeOe3Jm/MJxT1W1HVXjF457cmb8wnFPVbWnXK9ZNX5hqSeO7zcYj8h1JRb+OoenqLXAeERUUunHSXuSzk9/RwXucbjfi0sG4xHRyRV6vWM8IjrrQo4s1FMhZfvnWjsegRWZC1Vr9nysyFyDmo7sYxZ6jNJsvkMqxtupOEXFB+8835wLnl4auYCGnzyetm4Nv/nfnN6O/vEP86t/hWvBs+WCpygkfvObT+jRx8MTATV51OLJ/+nBbj3Dq79G8RPlmG9mHkZduto94U+Lpyi8qzpm9jdrqWuPsOeDD2pCb43ByqRVcYv72h//+AVdf+Os0OlTJg+j3fo0Ce3LtOEPPNSo/XzopdN+1oaeeGKf0D4bN1xqT3/5y1S66gxLkDIAAEAASURBVP9mhDCrmvwfqnl4Q5On8o3bqEHjF2nbtsr3MGTvBvTRB4cTeRPLc/1ddtlndMddc0OH3X9PHzr3PPt/nUOTpxDgPDfGj1tBg/cZGzrrqX8PpJN/2jG0z9YNDZ7ifm/9dPwK2mvI2BD6889tT/feu2doX7aNcZ+soL33DZ9/x6270iWX9sp2ith+lz1FhRb3Ooiaz3FcMXrSOH5RjJ6iXN+2jV+46sm18QtXPUVpM1UdY9v4heueXBm/cN1TVW1G0/iFy55cGr9w2VNVbSnXa7aNX9joiev7DcYjcl2Nhb3O5SlqLTAeEZVU+DhpT9L54XfDs+Vyv1cIIYxH5KbHcb1jPCI350KP4PBUaB2sHY8o9I3lOB8rMucAFOdlrMhs/0RmV1b6Tb4+NXzwTq5vpOeW3skWqe7eQW+NWUxHHftx2iqxJ57Qkp55an8qLYsw4yVqYdV5nHJPUdHdfPNUuvoP4UlkZ/xmZ/r73wdHjaje45R4+nbOOurc7XURVnNnH0EdOtYXyWYLVeKp0Pf72quL6MijPwnFHH9cS3rh+QNC+6zdUObpuWfn0Yifhlex/Nc/B9DPft4pJ+I5s9dRl+7hNnndH7vTtdf2zXlutR+gzFM2Xls2b6eOXV6i775Lmj3rHTzm9X1o2CFtsp2mZ78iTxM/X0UD9nwnxPbPN/akq67aLbQv20amu6cvv6wz3XJL/2yn2LNfkadCoI046X167vlliQh/5fN5c46gXdpb/vkhqLECT3G/t2ZaUXnQwPr06fgjgndf5eP1139Jf7zu69Axr47em444sl1on5ENhz1F5Rf3Ooiaz3JckXlSO35RZJ6iXtvWjV846sm58QtHPUVtN9mOs278wnFPzoxfOO4pW3tRN37hsCenxi8c9pStLUXZb934hWWeOL/fYDwiyhUZ7xhOT1FrgPGIqKQqj5P2JJ1f+U6Ynznc7xVCCuMRVdPjut4xHlE150Jf5fJUaD2sHY/AisyFqjV7PlZkxorMZq+4ytJUfPCurG6kZzbeyRap4t5B/kSVQw5/n9av3xE65cgjmtFLLx5INWo6MonZe3eaPYXk5Ng488xx9PAjC0NH3XxTT7ryymiTl0InVsOGFk+bN233JjK/RIsWhSfsFYqsY8caNHP6MVSrdmmhUaLna/FUKIRMq7NceH4HuvvuQYVGGzlfm6eZM9ZQz13fDLH59a/a0SOP7B3al2kj00/nPf2fQXTSyR0yHW7VPm2essF78ok59IvTJ4Ze7t2rNk2benRon9YNTZ6efmou/fRnn4VQP/TA7nTmWd1C+7JtzJ+3njp0fi308mWXdKLbbhsQ2mfjhiZPcfn5g39de7xO27dXJmhb+VyDp0K+t/bsPYpmztycEFRWRrRw3k9opzZ1E/uyPek/4BWaNHlj4uVatUpo9YpjqV79Gol9pp647ikKx0Kugyj5HMcUkyfN4xfF5Cmf69q28QtXPbk2fuGqp3zaTqZjbRu/cN2TK+MXrnvK1Fb8fdrGL1z25NL4hcuesrWlXPttHL+wyZPE9xuMR+S6KvN/XcJTlFpgPCIKpcpjpD1J51e+E/5nrvd7cYlhPCI7Oc7rHeMR2TkX+gqnp0LrYu14RKFvLMf5WJE5B6A4L2NFZqzIHOe6KfQcDR+8836Plt3JFrX+kyetoqEHv0s//BCexHzQgY3p1ZcPotp1vP/i7tKfUk/5KPB/iq13n9H07bdbQ6e98eoQOvSwtqF91m4o8rTDm0BUXp7fRObfXf45PfDg/AT+5s1LacHcYxPbtb0JzCpWQVfkKQE3zydrfthCe3iTiVLb0+iRg+moo3fOM62aDlfmafu2HdSo6Quhm2saNy7xJn8dSw0aVj2Ba8DAV2jipMqJXz7xLycNoz59m1QT/DyKVeYp2zvr1/8VmvxF2EE+k2ez5VqzX5Gnjz5cTvse8F4I3UUXdKC77op2E8abb3xHhx35cej8x/7Rj351epfQPis3FHmKw2/rlh108inv0wsvLg+d/uZr+9Ahhypa+VyBp0K+t5577nj620MLQo5uuqEHXX111WMQY99dSgcO+yB03oFDG9M7bx8S2mdsw3FPUTgWch1EyWc5pkg8qR+/KBJP+VzTVo5fOOzJqfELhz3l04aSj7Vy/MJxT86MXzjuKbmdJD9XN37hsCenxi8c9pTcfqI+t3b8whJPUt9vMB4R9QqNdpyUpyilYzwiCqUfj5H2JJ0f/Z3GPNLxfi8OFYxHZKcmcb1jPCI777ivSHiKWxerxyOwInNcrdVzHlZkxorM1XPlEan44J0nHJvuZItadX/ViP2GvkXLlyct5eadPGTvBjTmjWHVsuJX1LrHPU6bpz/96Qv6zPtp+N9d2puGHtg60tu+8MIJdO/989KOXbb4KGrZqk7afht3aPOUL8NLL/2M7rx7buK0Vq1KaeniExLbWp5o8zR92g+0Zs0WGrx3i8iIh494j55/ITxRrFmzUlo0/1iqU1fHjR7aPPlyfvvbT+iRxxaFPOVaBfufj8+mX/1mUuicPrvVockTf6LixgCNnkKwvY1331lCBx3yYWi33178Seh16+loL6HKZ9jQ5Gnjhm3eTQEv0tak+5p8HxMnHEYdOtbP8O4qd/n/QX7YoW/Ru2N/qNzpPdNyY4AmTyHAETbWrd1KJ3r/Nr05ZnXo6F49a9P0abpWPtfgqZDvrWPeXEyHHvFRyFODBiU09YvDs7ZBf3WKPnu8TF9/XbmSsx/w7FODaPiI6vl1Adc9hQRl2SjkOsgSyb67GDy5MH7huidXxi9c95RvB2Tr+IXrnlwZv3Ddk9+eXBi/KAZPqX2fxvELlz25NH7hsqfUdpRr2+bxCxs8SX6/wXhErqsz+uuSnqLUAuMRUSgRSXuSzo/2Lgs7yvV+D+MRhV0fyWfbdL1jPCLZTPi5pCfnxiPC6Ni3sCIzO1IirMhc9WpIAsjzj7TkDqn8K579DA0fvLPXPssryjytXrXZW2X0VZo/P2l2i/fWBvSvR++8dQg1alwzyxtVvluZp928lZWnTd9UAX3//RrRWWd0o+OO2yXjJPOFCzbQ76+cSP95akmapBNPaEnPPXtA2n5rdyjzlC9HWz945/s+SJmn3ruOpq9mbKJ+e9Slyy7pTUd7Kypn6+s+/GAZ/d81k+n9D9akYXnphcF0zLFKVmP2a6/Mk1/lT8evoL2GjPWfhv7OP7c93XvPnt4H2NBuuvnmqZ6vGZR6U+Xbb+5LBx28U/hgW7cUekpFedTR79Irr64M7f795Z3pL3/pH9qnekOZp0wrTO2xe1164vF9sq5UvmrlZrr8is/p0cfDNxM0alRCq5afQGU1UhqgjUKVeZozex099fS3tMfuzWjYsDZUy/tlhkx/38xaSyf99H2aNDm86nnt2iX0zpj9acg+LTOdZu8+BZ4K/d66R7+X6Ysvy0MOunWrSSOfH0q9d20c2u/7PfXnH9KEz9aH9vfsWYumTzmGSjJfFqFjRTaKwFMuboVeB7nyWV533JMz4xeOe3Jm/MJxT/n2OdaOXzjuyZnxC8c9+e3JifGLIvCU2vepHL9w3JMz4xeOe3Jm/KKaPZn4foPxiNSeP/9tE55y1QrjEbkIEUl7ks7P/Q6ZjnC838N4BM91Ytv1jvGIzF6lPTk3HpE6eSAz1th7MZE5NrrMJ2JFZqzInPnK4Nl71lnjvP/IHl4pLEhO/Y+z/n9879unXvBy4nG/fVvS7bcPTGzb/MSGO9ny4fPXv06jK6/+KuMpNfOcw3zqT9vS448PyZhl205tnrr3fIlmzdoSwli/fgkNHNCQOndqQG3a1PVW1N5EX89aQ59OWEsbN+4IHetvtG9fg76YeCQ1aVor7TVbd2jzlC9Haz945/lGtHnaqe2LtHTptsS79Pu6wXs1pE4dG1DbtvW8SbA76Nu5671VENfQ5C/Ck8SCk847pz3dd583kVbRnzZPAdr99n+DPvxobbCZeOzevRYN3rM5denS0Osf19DH41bSnDnhftI/+NhjWtDIF4cmzrP9iVZPAdcZX/1AvfuMCU0mL/MWYf72myNol/ZVr/4bZGh41ObpySfm0C9On5iGtsSbi3zkEc29X+FoQe13qU916pTRokUbaKbX/z3574W0bl3654nnnt6TThzePi3Lxh3aPN1223S6/PfTK1D6K/YO3quxd3NhM2rl/ZJGWWkJLVla7vWHyzL2if5JTz7en35+WmcbVVRZJ1s8SX5vfXn0Qjr6uHEZOXTpUpP28yafN2tWi6Z6vxrx4Uff04YN4bbn96NvvbFf5F9myVhQgTuLwZOPSPI6KFBBpNNd9+TK+IXrnlwZv3DdU6ROJekgW8cvXPfkyviF656CpqJ9/KJYPAW+tI5fuO7JlfEL1z25Mn5R3Z5MfL/BeETQ68d/NOHJrx3GI+I78s+U9iSdX9i7j3626/0exiOiXwtVHWnb9Y7xiMy2pD05Nx6RGSPbXkxkZkNZGYQVmbEic+XVwPds/bqt1KDxyIID69YtoQ3rTiw4x0hANd/Jlu97POec8fTg3xfke1rG4zt2rEHfzj4u42vW7VTm6eBhY+idd8M/654PU3/yw3vvHED7eDcFqPpT5ilftrZ+8M73fWhb6bdDp5Fpq9Dn857796tLH394ONX2Jvyp+lPanpYuKadBg1+nBQvCvxwQhb2/6vZL3iRmVRNolXoKfJx99jh66OGFwWbF4/ATW9Gzz+wf2qd+Q6Gn3/9+It1y25yC0F9+WWe65RZFK2sr8/TnP0/xVpWfGcvRNf/Xla6/fo9Y51b7SRZ4MvG99aqrJtFfbpkdC/ddt+9KF13cK9a5bCcVgScT1wGbj2xBjntyZvzCcU/OjF847ilbN5Jtv7XjF457cmb8wnFPQbtRP35RJJ4CX2rHL4rAkxPjF457cmb8opo9mfp+g/GIoOeP92jCE8Yj4rlJPkvak3R+8nsRfe54v4fxCJ6rx7brHeMRmb1Ke3JuPAIrMme+kGzdixWZsSKz1LX5/erN1LTFqILjmzcvpRXLTig4x0RAdd/Jlu97vOCCT+m+B+bne1rG4zt0qEFz5+iYyKzN06SJq+jU0z6kGTM2Z2Rf1c5DD2lKt90yIOtPx1d1bnW/ps1Tvrys/eCd5xvR5umKKybSrbfnP5mvRYtS+tM1u3p3xnenGjW9ZUyV/WnzlIz3yy9W01HHvhd5MnNpKZE/4fIGb1JfzVrehqI/zZ7WrtlCrduOSvtVgA/fU3gjTY5rRqOnHduJLr3sM+8GtnlUXh5e7TXH26XGjUvo4gu70rXX9KXSMj39nzZP//n3t/SzX3yeS0fodf+GjTtuG1itK/WGKhRjwwZPJr63bt+2g665dnLFZObtXnuM8uf/AssD9/ajX/yy+lfaLgZPJq6DKN4LOcZ1T66MX7juyZXxC9c95dvX2Dp+4bonV8YvXPeU3J40j18UkyfN4xfF4MmF8QvXPbkyflHdnkx9v8F4RPK/1Pk/N+EJ4xH5e0k9Q9qTdH7q+5Hadr3fw3gEz5Vj2/WO8YjMXqU9OTcekRkj216syMyGsjIIKzJjRebKq4H3Wd/dX6YpU8sLCj1g/0Y09t1DC8owdnI138mW7/t89ZVFdNIp42j9+vwmtGQqZ8TwVvTM0/tnesm+fco8+QD9AbzXXltE/3xyDo19bzktW5Z9BkTDhiW0e98G9EdvwtGwQ9rYxz9qjRR6ivrW/ONSf/Jj9751aPKko/KJsONYhZ4+m7CS/vnEbHr19cU0Z86WrBxr1CDq3LkWnXDcLnTVlbtRo8Y1sx5r/QsKPSUz3bxpOz3wwEz681+/ouXLM/d/vq/99m1c0fcdMLR18ul6niv2tGjhBurW87XQROZjj2lBI71VsZ37U+xp2dJyuufeGfS3h+bQqlWZ21Lgq02bMjrvnK50wfk9dfZ/yjxt27qDbr1tGj32zzn09dfZb17zP+f16F6XLvS8nHaaN8FVz9zy4NIKP1riydT31o8+XE633zmdXn1tBW3alPk7mH8j76k/3YUuurAndenaMMyruraKxJOp60BMo+OenBm/cNyTf307MX5RBJ7y6YusHb8oAk9OjF8Ugafk9qR2/KKIPKkevygiT6rHLxz35Mz4RTV7Mv39BuMRyf9aR39uyhPGI6I7yXSktCfp/EzvSWRfEfR7GI8o/Mqx7XrHeERmpyY8OTUegRWZM19Itu7FisxYkdnWa1Njvar7TjaNzKqjzi54+nrmGpo3b703obmcVq7cRI0a1aRu3Rp5/2tIrVrXqQ6s7GW64CkXlJUrNtEPP2yh2rVLqW3belSia/HYiren3dOK5ZtoypTVtMJz4belbd6KiZ06NaDu3RtVPJbV0D5D7MerULunRFvy5nwt9CbMfvPNWpo9ey1t2LCVWrSoQ629fm/AgObUuIniyebem9TuaVP5top/l7Z6EzIbNqxJLVrWTqhz6Yl2T4EL/9+g+fPXV/xv0aINVKNGKbVvX586dPjxf/Xqe3cHKP7T7Mn/Weovv1xNS5ZspO+/30x165ZVfM7z/21q07auYivpVdfsKf3dRN+zxvv894X3iwOLF2+s6Ddrer/24H8WbOv53X33Ztb9+kOxeopu1I4j4ckOD7lqUYyeNI5fFKOnXNeujeMXxeZJ6/hFsXlKtCVl4xfF5knr+EWxeQrak7bxi2LypHn8opg8BW3Jf8R4RDINPOciUKztiYufqZxi9ITxCFNXl2w5GI+Q5RslXf14RJQ3WcAxWJG5AHjZTtWyIvOWqWtp7W9me0t7VK5cVHZwA2p8c7dsby20f9uicvrhxBlE2yvPL+1Xh5o81Ct0nJUb1XyHlJVMbKwUPNloJb1O8JTOxMY98GSjlfQ6wVM6Exv3wJONVtLrBE/pTGzcA082WkmvEzylM7FxDzzZaCW9TvCUzsTGPfBko5X0OsFTOhMb98CTjVbS6wRP6Uxs3ANPNlpJrxM8pTOxcQ882WglvU7wlM7Exj3wZKOV9DrBUzoTG/fAk41W0usET+lMbNwDTzZaSa8TPKUzsXFP4ClpjqlENTGRmZmqphWZK976hm20dckmIm/FxFJvBdLS1rXyI1K+nbYu3kQ7tmyn0oY1qKyNjpXiivEOqfzE2nE0PNnhIVct4CkXITtehyc7POSqBTzlImTH6/Bkh4dctYCnXITseB2e7PCQqxbwlIuQHa/Dkx0ectUCnnIRsuN1eLLDQ65awFMuQna8Dk92eMhVC3jKRciO1+HJDg+5agFPuQjZ8To82eEhVy3gKRchO16HJzs85KoFPOUiZMfr8GSHh1y1gKdchOx4HZ7s8JCrFvCUi5Adryc8CVcHE5kFAGtZkVngreuJDO4U2DZcT52LsabwpMM6PMGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE+6PGFFZh2+glqqW5E5qHiRPSbuFNg+osjeua63C086fMETPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2pMyTcHWxIrMAYKzILACVOxJ3dHATlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlckLPGFFZhm+UqlYkVmKLG8u7ujg5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVlvAkVcD/crEiswBgrMgsAJU7MrhTYNtw7mTkcRKAJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UyGJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UyGJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UwOPGFFZk6q8llYkVmeMUcJiTsFto/giEOGEAF4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQobiEJ6H8IBYrMgckGB+xIjMjTKmo4E4BrMgsRZgnF554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnP/CEFZl5eJpKwYrMpkgXVk7iTgGsyFwYSOGz4UkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVjEp6ky9nh/QmXUXTxWJFZgfLgTgGsyGy3LHiy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H4MPAlPMy7BRGbe6wArMvPylEpL3CmAFZmlELPkwhMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFJDyxpGUPwUTm7Gxiv4IVmWOjM3dicKcAVmQ2xzxOSfAUh5r5c+DJPPM4JcJTHGrmz4En88zjlAhPcaiZPweezDOPUyI8xaFm/hx4Ms88TonwFIea+XPgyTzzOCXCUxxq5s+BJ/PM45QIT3GomT8Hnswzj1MiPMWhZv4ceDLPPE6J8BSHmvlz4Mk88zglwlMcaubPgSfzzOOUCE9xqJk/B57MM49TIjzFoWb+HHgyzzxOiYEnrMgch171nYMVmauPfT4lJ+4UwIrM+WAzfiw8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqtAeIqFzfhJ8GQceawC4SkWNuMnwZNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzflLCk3DJWJFZADBWZBaAyh0Z3CmAFZm5yfLmwRMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmBp6wIjMvV+k0rMgsTZgnP3GnAFZk5gEqlAJPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFJfwJJQfxGJF5oAE4yNWZGaEKRUV3CmAFZmlCPPkwhMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkB56wIjMPT1MpWJHZFOnCykncKYAVmQsDKXw2PAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHBMwpN0OTu8P+Eyii4eKzIrUB7cKYAVme2WBU92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y+BJ+lpxv5EZvzxEfCuqoowPIKDfyHgOsB1gOsA7QD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gHtPYD/rUr+fdj7yBZQhFma73YUG/8Y+k3V1wHuA5wHaAdoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/UDQD/jXgtRfiR/sFYQ/JgIlJSV+70W0fQRTImIkCJSUPfejJ4lwZLIRSLQntkQESRCAJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn8mPPEzlUiEJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn8mPPEzlUiEJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn+mKU+YyMzvjirkbRsukIxINgKlz/7oCfP42ZBKBZnqDKXqXyy58KTDNDzBkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlibaEyYyM18LCWlYkZmZLG8cVmTm5SmVlmhPUgUgl4UAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQU54wkVlAZYU8rMgsQJYxEisyM8KUjTLVGcq+C/fT4UmHY3iCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLU20J0xkZr4WEtKwIjMzWd44rMjMy1MqLdGepApALgsBeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIhpjxhIrOAygp5WJFZgCxjJFZkZoQpG2WqM5R9F+6nw5MOx/AETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWppoT5jIzHwtJKRhRWZmsrxxWJGZl6dUWqI9SRWAXBYC8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVDTHnCRGYBlRXysCKzAFnGSKzIzAhTNspUZyj7LtxPhycdjuEJnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtTTRnjCRmflaSEjDiszMZHnjsCIzL0+ptER7kioAuSwE4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHmPKEicwCKivkYUVmAbKMkViRmRGmbJSpzlD2XbifDk86HMMTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6ammiPWEiM/O1kJCGFZmZyfLGYUVmXp5SaYn2JFUAclkIwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPMeUJE5kFVFbIw4rMAmQZI7EiMyNM2ShTnaHsu3A/HZ50OIYneNJBQEct0Z7gSQcBHbVEe4InHQR01BLtCZ50ENBRS7QneNJBQEct0Z7gSQcBHbVEe4InHQR01BLtCZ50ENBRS7QneNJBQEct0Z7gSQcBHbVEe4InHQR01NJEe8JEZuZrISENKzIzk+WNw4rMvDyl0hLtSaoA5LIQgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeYsoTJjILqKyQhxWZBcgyRmJFZkaYslGmOkPZd+F+OjzpcAxP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqKWJ9oSJzMzXQkIaVmRmJssbhxWZeXlKpSXak1QByGUhAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8xJQnTGQWUFkhDysyC5BljMSKzIwwZaNMdYay78L9dHjS4Rie4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUsT7QkTmZmvhYQ0rMjMTJY3Disy8/KUSku0J6kCkMtCAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4iClPmMgsoLJCHlZkFiDLGIkVmRlhykaZ6gxl34X76fCkwzE8wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5Ym2hMmMjNfCwlpWJGZmSxvHFZk5uUplZZoT1IFIJeFADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEFOeMJFZQGWFPKzILECWMRIrMjPClI0y1RnKvgv30+FJh2N4gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy1NtCdMZGa+FhLSsCIzM1neOKzIzMtTKi3RnqQKQC4LAXhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIaY8YSKzgMoKedW0IvP2JZto7d3zafvcTVW/s7ISKmlc9uP/mtSgsra1qfaQJlSjc72qz3PlVazIrMakqc5QDRBLKwpPlopJqRY8pQCxdBOeLBWTUi14SgFi6SY8WSompVrwlALE0k14slRMSrXgKQWIpZvwZKmYlGrBUwoQSzfhyVIxKdWCpxQglm7Ck6ViUqoFTylALN2EJ0vFpFQLnlKAWLoJT5aKSakWPKUAsXQTniwVk1IteEoBYukmPFkqJqVa8JQCxNJNeLJUTEq1THjCROYU6IVuJqRV04rMa66bTVtfWRP/bdQpodLd61C937SlWns0ip9j+Zmursi8evVq2rRpE9WrV48aNdLvL9GeLL+e8q0ePOVLzMzx5eXltGDBAlq0aBGtWrWK2rVrR7169XKiLfkEXWlP69evp4ULF9J3331X4alNmzbUrVs3atmypZkLRbgUVzwJY6r2eNc8LVmyhGbNmkXLly+ntm3bUteuXalFixbVzrnQCrjmKeCBzxEBCbse8e+TXT6y1Qaf97KRsXs/+j07/aDfs9NL1Frt2LGDtmzZQjVr1qz4rhj1PNuOc/Xznm2cC60PPBVK0Mz5rnnC91wz100hpcydO5d8T/5YhP/XuXNn6tKlC9WpU6eQWCvOda09BVDxuTwgoeMRn/fgySQBV/o9jBuZvGril4XxiPjsTJ4JTyZpxy8LnuKzw5l8BFz5HMFHxM4kU54wkVnAf4W8alqRefXxU2jHoq0s76qkRy2qf3l7qtW3IUueVSGOrcg8YcIEOuuss2jSpEkJzOeddx7dd999iW2tT0x1hib4wJMJyvmVsW7dOnryySfppZdeorFjx1bcCJCa4E9o3mOPPeiGG26gfv36pb6saltre1qxYgU99thjNGrUKPrkk09o27ZtadwbN25M/fv3pxtvvJGGDBmS9rqmHdo8bdiwgU499VSaOHFiLMwnn3wy3XrrrbHOrc6TtHlKZrVx40a688476dlnn6VvvvmG/L4w9c+/Icq/meN3v/sdDR8+PPVlNduaPaVCxueIVCLVv41/n6rfQZQa4PNeFEp2HoN+zz4v6Pfsc5JvjR5++OGK77b+zaH+5Bb/s1KzZs3oxBNPpIceeijfOCuO1/Z5D9+frLhsclYCnnIisu4AfM+1TknGCi1durTi36HRo0fT/Pnz047x+/SOHTvSRRddROeccw7VqlUr7RgtO7T9+1QVV3wur4qOfa/h8559TjLVCJ4yUamefRg3qh7u+ZaK8Yh8iVXP8fBUPdzzLRWe8iVm7vgLLrigYt4KR4lNmjShV155hXbZZReOOPEMTd+f4GmH6PWAiczMeBONq5pWZOacyFyBxhs4qvX/7Z0JvBdV+f8f7mVfBUTFBUUEzAUtzF+KmZo7+jMXFFOzX5mQSy5JbhVpYZqiQeK+BOXPFSX/qb/MMpc0K3NfABdIcJcdZLv3/u8Z+w4z3+V+t3NmzjO85/WCO3Nm5jnPvD9zzpyZ7zPPfLefdP/mZpZJpWsuKxmZzRtSP/rRj2TSpEnS3Nwcg3rEEUfI9OnTY2XaFsL2pM3xPH/RKQ+IB4smEHbixIly2WWXBVl9K3GpsbFRvve978nFF18s3bt3r2QXr7bR2J5Wr14dBCabgMtigZalAI8ePVp+9atfqcwoq1Gn3//+93LooYeWkqNsuXlZwARSaJo06pTj++tf/zoYO1TDfNddd5VrrrlGhg8fnjOj4q9mnaKAGUdEafgxz/XJDx3KecF4rxwhf9fT7/mnDf2ef5rU4pH5AscOO+wgRs/8aaONNhITXKZt0jje4/5Jx1mGTjp0ynnJfW6OhN9/Z8yYISeffHKYgbmctyZDs0lssOeee5bb1Lv1Gq9PxSAyLi9Gxe8yxnt+65PzDp1yJNL9y3OjdPlXWjvPIyolle526JQu/0prR6dKSaW3Xd++fSuOXanEyzvvvFOOPvroSjZNdRtt90/o5PZ0IZDZAd+gkfmUkXmDRmkY2GHdkbYmsmxZ0iQtS1sDX82/1eWj5Rv36S69Lh28zob2uQxkZH744YeDLMzmE2zFpiwEMpvj0nbRytcCnfKJ+LF8+OGHi3l4Xst00EEHyYMPPljLrqnvo6091aPTf//3f1t7YzFp4bTpZLKaf+Mb36gZ0+abby7vvPNOzfuntaM2nQwn86UG85ZoLdPGG28sL774opggF02TRp2ifBlHRGn4M8/1yR8t2vKkHp0Y77VF1u06+j23fGu1Xk97YlxeK3X7+x188MHy0EMPFTWsNZDZHIy28R73T0VPQe8K0ck7SUo6xH1uSTTerDCBYiaA+ZZbbqnaJ5NF7G9/+5sMHTq06n3T3kHb9SmfF+PyfCI6lhnvoVOaBLT1e/Xc5/LcKLkzrR6deB6BTq4JrE/9Hu3J9dn0mX3z1bSFCxdaq8x8ldxop2HS1J7QqXyMaT3nHIHM9dArsm/YuDzKyNzprI2l27GbFvH2s6I1s5bLykc+kTX3tnaIS1oDm0tMHY7vIz2+t2WJtbqKNWdk/uSTT+Sss84S80C9rSkLgcxhe2rrQD1dh06eCtPq1po1a6RTp07BZ3TzvTTnXP/+/YM33VauXJm/OlyeNm2anHDCCeGyhhlt7cl85rhDhw5ifuyITl26dJHPfe5zss022wQDeRNYWSpz2NSpU+sKsI3Wm9S8Np0Ml3p/4DWfsb7nnnuSQmylHo06vfzyy/LFL35R8vu2Xr16iRkzmExHps3NnTs3CHAp9qKUtge0GnXKnaCMI3Ik/PvL9ck/TYp5xHivGBW/y+j3/NWHfs9fbarx7P7775fDDjus5C5aA5k1jve4fyp5Gnq1Ap28kqOkM9znlkTj1Yrrr79exo4dW+BTt27dgi8/DRs2LHi2ZwKWi73obp4B/utf/5IePXoU2PC1QOP1KceScXmOhL6/jPd0aIZOfujEcyM/dCjnBc8jyhHyYz06+aFDOS/QqRwhP9bvu+++8qc//cmaM+ZrUyNHjrRmz5UhbfdP6OTqTPjMLoHMDvgGjcyjjMzlAplDBCuaZNH5b0jz0yvCothMO5FuV24lnUb0jhWrXFCakdkEep1yyikVfX4tC4HM5tzSdtEyPqOToeDv9Omnn0rXrl1DBzt37izHHXdckBlkxx13FBMoa4JnX3jhhSBz6VNPPRVum5sxn4uYP39+EBCdK9PwV1N7Wrt2bRBUmeO67bbbyplnnhkEkEf1M9tdeeWVMn78+IIATRPw/Oqrr+ZMqPmrSScDNf8H3uHDh8tNN91UMW+jk3m5QNukTadiN1WjR4+WKVOmiHlzNDqZz0v98pe/lHPPPTdaHMzPmjVLBg/W85UObToZyIwjCk47rwq4Prl909qW2Iz3dOiU05t+L0fCz7/0e7raU7GzyLzItv3228tbb71VbHVQpjWQ2TivbbzH/VPJ09CrFejklRwlneE+tyQab1YsXrw4eIbw0UcfxXw64IADxHzm2LxcHZ2uuuoqOfvss6NFwbx5RnHGGWcUlPtcoO36ZFgyLvf5jGrbN8Z7bfPxZS06+aKECM+NdNzn8jwCnfzpNYp7omm8R3vS0Z6WL18ur7zySvETro1So++IESNiW3Ts2FHee++9gt+AYxt5tKCpPaGT2/ZEILPlhhk2LkUZmfMRrLjnfVk58X2RpiInX/cG6fPITiIN+XvpWtaYkdlcZDbffHNpbo5nze7Xr59ceumlct5558UCnLMQyBy2J0WnFzrpEMtk8Fi2bJl8/etflyuuuCLIwlzMcxPQPGrUKLnvvvsKVj/33HOy8847F5T7WqCxPZmAcTOZIOVTTz1VGhsbS+KdNGlSEOgc3aB9+/aBzpqCZDXqlP8Dr/mE4QMPPBCVInPz2nQyb1qbHweXLl0aamGCWf75z3+KeZmj1DRmzBi54YYbYqvvvvtuOeqoo2Jlvi5o08lwZBzh69kU94vrU5yHr0uM93xVJu4X/V6ch69L9Hu+KlOZXz/96U/lxz/+cbixGf/tv//+YrLB5Satgcwax3vcP+XOOr//opPf+hjvuM/1XyPj4bhx44Jnr1FvzZe5TBBzqed81157bZDMJbrP0KFD5bXXXgteXomW+zqv8frEuNzXs6kyvxjvVcYp7a3QKW0F4vXz3CjOw9clnkf4qkzcL3SK8/B1CZ18VaZ+v+666y455phjYoZMHMxtt90WK/N1QeP9Uy0s0akyagQyV8apqq2CRqYxI3PkKNe+sUKWHD9LpLkwmLnzef2l6xGbRLZWOKswI7P5fJrJcpmbzIM+80m2n/3sZ7LBBhvIxhtvLB9++GFudfCZ+OnTp4fLWme0XbTQSceZ9swzz4j5fOEOO+xQ1uF58+aJeVi+YkU8W/20adOC7MBlDXi0gbb29PHHHwcZso1W5SYTdD5w4MCCT1A+//zzstNOrS/gKJq06bQ+/sBrTidNOs2ePVuGDBkSawWXXHKJnH/++bGy/IVnn31Wdtlll1jxj370I7n44otjZT4vaNLJcGQc4fPZtM43rk/rWPg8x3jPZ3XW+Ua/t46Fz3P0ez6r07Zvc+fOFfMFFJNxLDeZ8Zx5wc1kt8xNWgOZjf/axnvcP+XOOr//opPf+hjvuM8t/N3GR9UGDRoU+yKA+U1j5syZYsrbmoYNGyYvvfRSbJNHH31U9tprr1iZzwvark+My30+m9r2jfFe23x8WYtOviixzg+eG61j4fMczyN8Vmedb+i0joXPc+jkszr1+falL31JzHUtOpnlXXfdNVrk9by2+6daYKJTZdQIZK6MU8VbhY1LcUbm3MEuuehNWfvAktziur/9GqXPA8PWLSuc05iR2WQc2G677QLa5rMA5lPw0eC8LAYyh+1J0TmGTorEqsLVffbZR8zD8uhkAgBNIKCWSWN7qpbtIYccUpAJ+MEHH5SDDjqoWlOpba9Rp/XxB15tOpl2MHLkyNh5feutt8o3v/nNWFn+gnlByowvotOFF14YvEQVLfN1XptOhiPjCF/Ppvr84vpUH7+k9ma8lxTpeD30e3EeWVmi3/NHSZP18t577w0d2nLLLYPxxgUXXJCJQGaN4z3un8LT0esZdPJansA57nP912jVqlVBIgmTfCA3mS88mS89lZvMFyjzX742CV3MMwkNk8brE+NyDWdWcR8Z7xXn4lspOvmmSPX+8NyoemZp7MHziDSoV18nOlXPLI090CkN6tXX+de//lX22GOP2I4mYPbpp5+Olfm8oPH+qVqe6FQ5MQKZK2dV8ZZBI1OekdkcbMuCNbJw5CsiTYVv9/e8fai0H9S1YibebagwI3Nzc7NcddVVQUbFQw89tABpFgOZzUFqu2ihU8GpmYmCk046SW6++ebYsWgK5ss5rq095fyu9O/ee+8tf/nLX2Kbv/jii7LjjjvGynxf0KbT+vgDrzmHNOmUn1XH+H/uueeK+WGwremxxx4ryHZkPkNkPkekZdKkk2HKOELLmVWdn1yfquOV1taM99IhT7+XDnfXtdLvuSZcmf0//vGPsv/++8c2Nl/uOuKII+Sss87KRCCzOTht4z3un2KnpLcL6OStNKFj3OcW/mYTwvFk5pVXXin4Gt6ECRPEvExTbjKZSwe2fnmtpWXdcVYaBF3OdlLrtV2fGJcndWbYrYfxnl2erqyhkyuyydrluVGyvGutjecRtZJLdj90SpZ3rbWhU63kkt0v/2UpU/vtt98uo0ePTtaROmvTdv9U7eGiU+XECGSunFVFW4aNKwMZmc0BL7nsbVk7fVHBsXc6bSPp9o3NCsq1FGjMyFyObRYDmcP2VO7gFa1HJ0ViRVw99thj5Y477oiUiEyePFlOP/30WJnPC1lsT1He5oeNPn36yKJF8WvW8uXLpWtXPS/eaNRpffyBV5tOK1askO7du8d+AOzVq5eYHxU326z0eO7AAw+UP/zhD9GmJq+//roMHTo0VubrgjadKuHIOKISSn5tw/XJLz3a8obxXlt00ltHv5ce+1prpt+rlZzd/dasWSPDhg0Lxm45y/vtt588/PDDwWJWApk1jve4f8qdkX7/RSe/9THecZ/rv0b33Xdf8PJM1FPTto4//vhoUcn5bbfdVmbOnBmuHzx4sMyaNStc9nlG4/WpHE/G5eUIJb+e8V7yzGupEZ1qoebnPjw38lOXqFc8j4jS8HcenfzVJuoZOkVp+Dv/5ptvBokwzUuJucn87jtnzhxp3759rsj7v1m8f4pCR6cojfLzBDKXZ1T1FkEjy0BGZnPgLUubZOG+L7XOrHvz3ZQ37NJFNrhmWzOrc1KYkbkc6Cw+SDLHnLWLFjqVO5P9XD98+HAxmV6i05133ilHH310tMj7+ay1pyjwKVOmyGmnnRYtCn64f+GFF2JlGha06bQ+/sBrziNtOhX79N3uu+8uv/vd72TDDTcsaBqTJk2SM888M1auLfuRRp1iwIssMI4oAsXzIq5PngsUcY/xXgSGR7P0ex6JUaEr9HsVgnK82RVXXCHjxo0La+nQoYOYr9WYoDAzZSWQ2RyLtnE5909GNf8ndPJfI+POAnnTAAA1nUlEQVQh97l+63TvvfeKyToVna677joZM2ZMtKjk/MiRI+XBBx8M1zc2NsratWvDZd9ntF2fyvFkXF6OUPLrGe8lz7yWGtGpFmp+7sNzIz91iXrF84goDX/n0clfbaKeoVOUhr/zZ5xxRpB8L+phpV/Bie7jw3zW7p+iTNEpSqP8PIHM5RlVtUXYuDKSkdkc/IKvtgaBLV33BkcApHej9PnDsKrY+LQxGZl9UqO0L2F7Kr2JujVZfOCXRZ2iJ9Zbb70lgwYNihYFP5S+/fbbsuWWW8bKfV7Isk5///vf5Stf+YqsXLkyJsFdd90lo0aNipX5vqBRp1I/8Jq3P5uamqShoUHMj01ZmjTq9Oyzz8oXv/jFWFZmo8lWW20l5sWMXXfdNZDI6HbxxRfLRRddFJOsW7du8txzz4nJgKRl0qhTObaMI8oR8ms91ye/9GjLG8Z7bdFJdx39Xrr8q62dfq9aYm62f++994IvaCxdujSs4JxzzpHLL788XM5KILPG8R73T+Fp6PUMOnktT+gc97khCi9njD677LJLzLcLLrhAzA/rlUxjx46V66+/Prapli+vabw+xUAXWWBcXgRKikWM91KEX0XV6FQFLM835bmR5wK1usfzCP81Mh6iEzolTSCL4/IcQ/OV6i222EKWLVuWK5LOnTvLO++8UzSBVbiRhzPo5KEoRVxKSicCmYvAr7coEC8jGZkNi4XHviItb66OY+nUTvo8sXO8TNMSGZnVqJVUZ5gUkCw+8DPssqZT9Hy45JJL5MILL4wWyYgRI+TJJ5+MlWlYyJpOZiD+s5/9TG6++eYgYDaqgQlsfvTRR4NzM1quYV6bTvk/8BrGHTt2lNWrPxs7mCDmAQMGyNZbbx28FLDNNtvIMcccE5Rp0KOUj9p0MsdhApTHjx9fcEjmWE488cQg8N8EMJuHSdHJBDGbLEh77rlntFjFvEad2gLLOKItOv6s4/rkjxaVesJ4r1JSyW9Hv5c881pqpN+rhZq7fY4//ni57bbbwgr69+8vM2fOlB49eoRlWQlkNgekbbzH/VN4Gno9g05eyxNzjvvcGA6vFhYsWCB9+/aN+bTddtvJyy+/XNHzOvMSzsSJE2P7f/DBB7LRRhvFynxd0HZ9KseRcXk5QsmuZ7yXLO9aa0OnWsn5tx/PjfzTJOcRzyNyJPz+i05+65PzDp1yJHT8/cUvfiHnnntuzNlvf/vbctNNN8XKtCxk7f4pxx2dciQq/0sgc+WsKtoybFwZysi8eNwsaXpsefz4WwNe+jyjN5CZjMxxOX1dCtuTrw7W4FcWH/hlUaectOZNtqFDh8qHH36YKwr+Xn311XLqqafGynxf0KzTjBkzZOrUqUEm2ZaWFjGZDGbPni1Gn2LTIYccIiYbc5cuXYqt9rpMo07FfuAtB9m8EXraaaeJycTTu3fvcpt7t16jTjmIl112mZx33nm5xbJ/N9tsM7n99tvly1/+ctltfdtAs06lWDKOKEUmnXKuT+lwt10r4z3bRO3ao9+zy7Nea/R79RJ0v7954TZ/3Pbb3/5WjjvuuFjlWQlk1jje4/4pdip6u4BO3kpT1DHuc4ti8aKwV69esmTJkpgvlXxBzXzh64gjjpD7778/tu8bb7xR8OW82AaeLGi8PpVDx7i8HKHk1jPeS451PTWhUz30/NqX50Z+6MHzCD90KOcFOpUj5Md6dPJDh3q8WLNmTZBAbN68eTEzL774ouy4446xMg0LWbx/MtzRqbazj0Dm2ri1uVfQyDKUkXnpr+bKmt8sKDjmPo/tJNKloaBcRQEZmVXIZJzM2kUriw/8sqhTroGYYOVrrrkmtxj83XTTTeW1116Tnj17xso1LGhtTya78uOPP14W8YYbbiiTJ08Ossq2b9++7Pa+bqBNpzvvvFNGjx5dE04TxDx9+nTZe++9a9o/zZ206RRl9fDDD8spp5wib775ZrS4YP7oo4+WG2+8UWV/lzsYzTrljiH6l3FElEb681yf0tfAhgeM92xQdGeDfs8d21os0+/VQi25fUzQ1/Dhw+WFF14IK91jjz3kiSeeCJdzM1kJZDbHo228x/1T7iz0+y86+a1PMe+4zy1GJf2yM888UyZNmhRzpGvXrnLVVVfJySefHCs3C2vXrg2+KjBhwoQgiUF0g4aGBjE/1JsvDWiYtF2fyjFlXF6OUDLrGe8lw7neWtCpXoJ+7c9zIz/04HmEHzqU8wKdyhHyYz06+aFDPV787//+b0HSAvNb+5///Od6zKa6b9bunwxMdKrtlCKQuTZuJfcKG1eGMjIvvfrfsmbaJ/FjbmzNyPzoMJHOOgOZycgcl9PXpbA9+epgDX5l8YFfFnUy0v7zn/+U//qv/5Lm5uaY0uYtxcMOOyxWpmFBs0677767PP300xVhNsHMRx55pJhsPCbri7ZJo05z586V3XbbLciUbQL8+/TpE7Dv2LGjfPTRR/Luu+/K6tWrS0phfoAyb4ga7bRMGnWKsjU/DF555ZUFnxyKbmPmzSdgf/KTn8jYsWNF48sB2nXK18MsM44oRiW9Mq5P6bG3VTPjPVsk3dmh33PHthbL9Hu1UEtunylTpgRfPcnV2NjYKM8++6zstFNrIoK8KSuBzBrHe9w/5Z2Mni6ik6fCtOEW97ltwElxlXkutPXWW8uyZcsKvNh2221l2LBhstVWW8n7778vM2fOlNdff10WL15csG2uwLTNAQMG5Ba9/avx+lQOJuPycoSSWc94LxnO9daCTvUS9Gd/nhv5owXPI/zRoi1P0KktOv6sQyd/tKjVk1122SV45hfdX2sMizmGLN4/meNCJ0Oh+olA5uqZld0jaGQZysi8fNp8WXX1hwXH3eeZz7f2KAXFOgrIyKxDp1Yvs3bRyuIDP3MyZU0n83B91113DTIvRxvLqFGjxHz+UOukVadzzjlHJk6cWBX2LbbYQqZNmyZ77bVXVfv5sLFGnVpaWoKgfxMskT+ZdeYHqalTpwYZs9977738TYKXA8wNlqZJo06Gr8nIZwKTX3311Ypxm88Q/e53v5OBAwdWvI8vG2rVqRQ/xhGlyKRTzvUpHe62amW8Z4ukWzv0e275Vmudfq9aYslt//HHH8uQIUNk4cKFYaUmc9jVV18dLkdnshLIbI5J43iP+6fo2ejvPDr5q02+Z9zn5hPxa9kkGzjvvPOsOLVo0SI1iQs0Xp/aEolxeVt0klnHeK8lGdB11oJOOnSqRGaeG1VCKblteB6RHOt6akKneuglty86JcfaRU3mK9Ymq3Z0Mi+Pzp49W8xXbLROWbt/Qqfaz0QCmWtnV3TPsHFlPSNz+9aMzE/tXJSBhkIyMmtQSeePUeXIZvGBX9jvlTt4JevND1VHH3203HPPPTGPTZZZE/hnNNQ4addp6dKlYrQx05IlS8RkYJkzZ4787W9/k1tuuUVWrFhRIEuXLl3k+eefD37QL1jpaYF2ncphNZmZv/71r8v06dMLNjXZ4r7whS8UlPtYoFUnE0z+ne98R9asWRPDavq3s88+Wz744AO5/vrri2bQ7tevXxDMbLJva5m06tQWX8YRbdFJZx3Xp3S411sr4716CSa3P/1ecqwrrYl+r1JSyW538skny4033hhWar52MmvWLOndu3dYFp3JSiBzFsd7UZ24f4rS8HcendLVhvvcdPlXWvt9990nY8aMCb7cVck+xfp3U9bU1BS8wFKJjTS3KeZ/mv7YqJtxuQ2K9dlgvFcfv6T2RqekSLuth+dGbvnWap3nEbWSS3Y/dEqWd621oVOt5NLfz3w5/P777485ctVVV8mZZ54ZK9O0kMX7J3Sq/QwkkLl2diX3DBpZhjIyLx7/hjQ9tDR+vN0apM+jhZ+mjG/k8RIZmT0WJ+5a1i5aWXzgZxTLkk4mQ4jJFBKdTJbZhx56SPbbb79osbr5LOkUhW8+UzlhwgSZNGlStDiYN5/HMZl5NL2BmFWdcuKYQHTzKRXzZmh0uvnmm+Vb3/pWtMjreW06mZtYE6ycP5kfEn/+85+HQS7mJYFx48bJ3Xffnb+pdO3aVV566aXgs7AFKz0t0KZTOYyMI8oR8ms91ye/9Ih6w3gvSsPvefo9v/XJ945+L59IMsvFPnd8ww03BC+wlfIgK4HM5viyNt7L14z7p3wifi6jUzq6cJ+bDvdaazXjhB/+8IfywAMPyPz58wvMdO/eXbbZZhvZc8895bTTTpOLLrpIbrvttnA783LOggULwmXfZ7J2fWJcnu4Zx3ivXZjkJF0l2q4dnXTo1LaKn63luVEllPzahucRfulRyht0KkXGr3J08kuPqDfmt/Vtt902+EpyrrxHjx4yb9486dmzZ65I5d8s3T+hU32nIIHM9fEr2DtsXBnKyLxw1MvSMjeeua/dJu2l9/07Fhy/lgIyMutQKmxPOtytyMssPvDLkk6TJ0+WM844o0BLU3766acXlGsqyJJOpbh/97vfleuuu65g9aOPPip77bVXQbmPBeuDToa70cnoFZ1MGzNtTcOkTaeZM2fKsGHDYpmWO3bsKFOmTJGTTjqpKHKT6dxokp/t3LzQ8fDDDxfdx7dCbTpVwo9xRCWU/NuG65NfmjDe80uPct7Q75Uj5Od6+r1kddlnn33E3PPkJvPS4DPPPNPmy5xZCWTO4ngvp2P0L/dPURr+zqNTstpwn5ssb9u1vfPOO0F2ZhOYbL6oNmjQINlkk01i1ZgvQpkvseUmE+D82GOP5Ra9/pvF6xPj8nRPOcZ7n32pMV0VyteOTjp0Kqckz43KEfJ7Pc8j/NYn5x065Uj4/Red/NPn1FNPlWuuuSbmmKbf12OORxaydv+EThFxa5glkLkGaOV2CRpZVjIyt95zLNj9eZGm+M1H4z7dpdelg8uh8Hc9GZn91SbPs6xdtLL4wM9IlgWdfvOb38iJJ55Y8Ga/yWA6ceLEvDNT52IWdGqL/Nq1a4O3EN98883YZldccYV8//vfj5X5vJB1nQz7p556SkaMGBGTYeTIkfL73/8+Vubzgiad9t9/f/njH/8Yw3nttdfK2LFjY2X5CyZg+cADDyzoF41+5gdFDZMmnSrhyTiiEkr+bcP1yR9NGO/5o0WlntDvVUrKr+3o95LTY+HChdKnT5+CCocOHVpQFi2YM2eOrFq1Klok0X1MRkzzmUoNX7bJ2ngvJsp/Frh/KkbFvzJ0SlYT7nPjv9ckSz+Z2jbaaKMg2DlXm3m2Z57xaZmydn1iXJ7emcd4T8fvT+ikQ6dyLZnnRuUI+b+e5xH+a2Q8RCd0SpJAVsbl5iXQLbbYIpaAyhybecl38GDFsXv/ORnQKclWUXtdSehEIHPt+hTdMxQtIxmZVz21UJafOafgWDufv6l0PXzjgnItBWRk1qFU2J50uFuRl1l84JcFnWbMmCGjRo0KbpyiQn7rW9+Sm2++OVqkdj4LOlUC32h26623xjbVpOP6otMbb7xRcFP11a9+VR555JGYdr4uaNLp008/FfNZoaamphDn7rvvLk8++WTwEkpYWGLGvMxhPtcbna6++moxb5P6PmnSqVKWjCMqJeXfdlyf0teE8V76GtTiAf1eLdT82Id+LxkdzKcKhwwZ4qQyY9sENPs8ZXG8V4w390/FqPhXhk7JacJ9bvaDmE0m5vwXqG+//XYZPXp0cidaHTVl8frEuLyOE6LOXRnvtStIslAnUie7o5MOndoSn+dGbdHRtY7nETr0Qid0SoJAlsblP//5z+WCCy6IYdOWJCzmfGQBnSIwPJ5NSicCmR2cBIF4GcnIvOi7r0vzs58WUOp1/3bSuEmngnI1BWRkViNVUp1hUkCy+MDPsNOsk8lSeuihhxZkozryyCPlzjvvlMbGxqROD+f1aNapUjiXXHKJXHjhhbHNTzrpJLnxxhtjZT4vrA86Pfjgg2JurqLT4YcfLvfee2+0yOt5LTo9++yzYj4vHp0mTJhQcLMbXR+dL5ZV7JxzzpHLL788upm381p0qhQg44hKSfm3HdendDVhvJcu/3pqp9+rh166+9LvJcP/rbfekkGDBjmp7O2335atttrKiW2bRrM23ivGhvunYlT8K0On5DThPld/sFi5s8UknLjnnnvCzUxfb74mMGDAgLDM95msXZ8Yl6d3xjHe0/H7Ezrp0KlUS+a5USkyOst5HqFDN3RCp6QIZGFcvnr1ahk4cKC8++67MWzmy7r77bdfrEzrAjrpUC4JnQhktnwuhKJlICPz2jmfypLRM0Wa42/4t9u4UXr/v2GWySVrjozMyfKutbawPdVqwMP9svjAT7NOJkDPfIpy+fLlsbPl4IMPFvP2dYcOHWLlmhc061QN9+985zty0003xXYxN8Pnn39+rMzXhfVFp2JvjZ5++ukyefJkX6WJ+aVJpzvuuEOOPfbYmP/XXXedjBkzJlZWamHu3LkFASwmS/PEiRNL7eJNuSadKoXGOKJSUv5tx/UpPU0Y76XH3kbN9Hs2KKZjg34vGe6rVq0KApnnz59vtUITwPz6669Lp05+JzHI4nivmJDcPxWj4l8ZOiWnCfe58d9rkiOfTE0mGNB8Grm5uTmsUFumsSxenxiXh6dj4jOM93S8vIFOOnQq1oB5blSMiu4ynkfo0A+d0CkJAlkZl0+bNk1OPPHEGLLttttOXnnllViZ1gV00qFcUjoRyOzgfAjE056RufUZ0cIjX5KW+WsLCHW+cFPpetjGBeWqCsjIrEaupDrDpIBk8YGfYadRp+eee0723ntvWbx4cUz+ffbZRx544AHp3LlzrDwLCxp1qoa7+bTo9ttvLyZzWHT6v//7PznggAOiRV7PZ10n0+Y+//nPF+h0//33B9nRvRYn4pwWnZ588kn58pe/HPFc5Hvf+55MmjQpVlZq4Q9/+IMceOCBsdW33HKL/M///E+szNcFLTpVyo9xRKWk/NqO61N6ejDeS4+9rZrp92yRTNYO/V6yvE2g18qVK6uq1Hxh49prrw336du3r/z73/8Ol00As5avE2VtvBeK8J8Z7p/yifi5jE7J6sJ9rt5gsXJnypo1a2T06NEFX+wyzyZMMgpNU9auT4zL0z37GO/p6PfQSYdO0dbMc6MojWzM8zxCh47ohE5JEsjCuNz8rv7888/HsFWTtCq2o6cL6OSpMHluJaETgcx50OtdDEXTnJG5NYh58YWzpelPywpxdG+QPo/sJNJQuMqUrJ29XFY+tShY2XlEb2m/Tddgfs2ry2TVEwtl7YvLpV2/DtJhWDfptOsG0rh5OoGCZGQOZPH+v7A9ee9p5Q5m8YGfRp1MZqk999xTPvroo5h4u+++u5hPcHTr1i1WnoUFbTqNHz9ezKdCv//97wcB55VoYDL6Xn311QWbfvDBB7LRRhsVlPtYoE0n86bnkiVLZLfddqsY51FHHSXTp0+Pbd+nTx+ZN2+edOnSJVbu64ImnVasWCG9evWStWvXvZxmeJv2ZTLttTU1NTUFnyR69NFHY5u98MILMmyY/1/n0KRTDHAbC4wj2oCT0CquTwmBtlAN4z0LED0wQb+Xvgj0e+lr4MKDs846S375y1+Gps39krlv0jZpG+9x/6TjDEMn/3XiPjebGZmXLl0q5pmReTYbnT73uc/Jq6++Gi3yfl7b9akSoIzLK6Hk1zaM9/zSo5Q36FSKjPtynhu5Z1xvDTyPqJdgMvujUzKc660FneolmN7+f/7zn+WrX/1qzAHzO+8777wjXbt+Fo8XW6lwIQv3T+hk78QjkNkey9BS0MiUZmRuWbxWFp81S5pfXhUeT3Smy/jNpMvI0sFgi86cKc1PrQh2aRjRVXqcu5UsOXmWtLy/LngmtNeunXQ6tZ90+8ZmYVFiM2RkTgx1vRVl4aIVZZDFB37m+DTptGDBgiAbbDTblDmG4cOHy5/+9Kcg4M8sZ3HSpNMOO+wQfg7FBJ2ffPLJ8rWvfa1okLkZqJ977rly++23F8h25JFHyj333FNQ7nOBJp3MZ2tee+21oE2dffbZQUZlEzRbbHriiSfkhz/8oTz++OMFq2fMmCGHHXZYQbnPBZp0Kvam7s477yxTp04tGZD8ySefyLhx4+TWW2+NydCzZ08x69q3bx8r93VBk06VMGQcUQklt9twfdIRNMF4T4dOlbRW+r1KKLndhn4vO+0peqZkJWDCHJOm8R73TzraEzrp0In7XB06vfnmm3LHHXeIeQax7777isn4X2yaPXu2HHPMMWIyY0Yns715XjtixIhosYp5TdenSoAyLq+Ekl/bMN7zS49S3qBTKTJuy3lupGMcwfMIdHLbE9RvXdN4j/akoz0VOysPOeSQ4Gvi0XU/+MEP5LLLLosWqZ/X1J6KwUanYlRqKyOQuTZuJfcKG5eyjMxN766S5b95V9b+bnFrWuXinXj7kT2l5/hBJY/drFh0Rmsg89OfBTJL30aR5a3pnVcWt5cz1HFMP+n+7c1zi4n81ZqR2QTy5X8yIAfsH//4R242+Gse8hXLlrjHHnvIlVdeGdvW14WwPfnqYAm/0KkEGE+KL730Ujn//POLetOhQ4ei5aUKjz322CAQsNR6n8q1tachQ4aI+REjOplM2bvssosMHDhQ+vfvH2TUNtv8/e9/F/MZovxpwIABQZ/Zu3fv/FXeLmvTaZNNNollbjNt6Etf+lKQ6XfTTTeVlpYWmTNnjsyaNavk9euUU06RKVOmeKtJMce06TRt2jQ58cQTCw7FHMfBBx8cZNQ27aVz584yf/58mTlzpvz2t7+VZcsKv85x9913BxmSCox5WKBNpxxCxhE5En7+5frkpy75XjHeyyfi9zL9nt/60O/5rU+t3mUlYELbeI/7p1rP2GT3Q6dkeddaG/e5tZJLdr/LL79czI/sZurevXvwzOgLX/hC8OW0xsZGef/99+Wvf/2rPPnkk0UdMzqfcMIJRdf5XKjt+pRjybg8RyIbfxnv6dARndLRiedG6XCvtlaeR1RLLJ3t0Skd7tXWik7VEvNje5NMbPvttw9+b895ZO6j3nrrLTG/62Zl0nr/lOOPTjkSdv4SyGyHY8xK0Mg8ysjcMKyztN+j5zofm1qkZclaaV7cJC0frZHmV1uzL5uA4zamdtt0lN6/2V6kNTa5rSkWyJy3Ybv+7aXdph2k+aWVIqsjwc2d20mfP+8k0r5d3h4OFxVmZDbBRD169KgbSpcuXcR8fk/LpO2ihU7+n1ljx46V66+/3oqjW221lbz99ttWbCVhRFN7Mp9IMZ/gqHUyg/i//OUvYl7e0DZp0mnLLbeU/Ozm1fA2P16ZH6xMAK22SZNOhq354dD8gFjPdM4559Rto576a9lXm06MI2pROdl9uD5F7uOSRV9VbYz3dOhkRKXfq+rUTmVj+j097amaEyQrARPmmDWN97h/0tGe0EmHTqb9c59rKPg9TZgwIfg6Vy1emq96/fSnP61lVy/20XR9MsAYl3tx2lh1gvGeVZzOjKGTM7RtGua5kY7xHs8j0KnNhuzBSk3jPdqTjvaUf1qPGTNGbrjhhljxUUcdJSbpVNYmTe0pnz065ROpb5lA5vr4FewdNi6PMjIXOFllQeMBPaTXT7YpG8RszBYNZO7dKD2vGyztB3YJam6av1IWnzCz9cnIuuDpLhdtLl0O6lelZ7VvrjEj88KFC6VPnz61H/R/9uzbt698/PHHddtJwkDYnpKozFId6GQJpEMzp512mrXsr+bHLZNtVsOkrT3961//kuOOO05ef/31qvHuv//+QbBlsaz0VRtLeAdtOo0bN06uuOKKqiltuOGGMn78eDED+2ozoVddmYMdtOlkEDQ3N8vZZ58dvMixcmXrS2VVTL169ZIzzjhDfvzjH4t5SUDLpFEnxhH+n11cn/zXyHjIeE+HTsZL+j3/taLf81+jWjzMSsCEtvEe90+1nK3J74NOyTOvtUbuc2sll9x+t912mxx//PFVVfj5z39eJk6cKHvvvXdV+/m0sbbrk2HHuNynM8iOL4z37HB0bQWdXBMubp/nRsW5+FbK8wjfFCnuDzoV5+JbKTr5pkh5f5YsWSLmi1H5X6V+4oknVCZya+uINd4/5Y4HnXIk7P0lkNkey9BS0Mg8ysgcOlbtTJcG6XzWJtL1axtXvGdBIHNrEPMGt31OGjbsELOx/I73ZNWV74dlHb+9oXQfs0W47HxGYUZmw8QE5b300kt14fnKV74SZCmty0iCO2u8aKFTgidIDVU98MADcswxx8jy5ctr2Du+y6hRo+Suu+6KF3q8pK09mR+kHnroITGfkTTZlT/88MOSdE3G+p122ikItNxvv/1KbqdhhTad/vGPf8jUqVMDrcynbEpN7du3l6233loOP/xwOf/888UEx2qetOmUY/3BBx/I5MmT5brrrpMFCxbkiov+7d+/v5xyyily+umnq9VLo06MI4qejl4Vcn3ySo6izjDe05Vhgn6v6GnsVSH9nldyWHEm/1PK5l7q+eeft2I7aSPaxnvcPyV9htRWHzrVxi2tvbjPTYt8+XrXrl0bJBv49a9/LbNmzSq5g3muN3To0OD5wwknnBBk2y+5sZIV2q5PBivjciUnV4VuMt6rEFTKm6FTOgLw3EjPcyOeR6TTRqqtFZ2qJZbO9uiUDvdaa503b54MGTIkFsh82GGHyYwZM2o16fV+Gu+fDFB0sn9aEchsmWnYuFLKyLzo1Nel+R+f1ndUfRul0zf7SbcjNxFp364qW7FA5sZ2ssHvt5eGvvEgZmOwZdFaWbj/uoDc9iN7Ss/xg6qqq56NNWZkrud4te4btietB7Ce+I1OOoTOgk4zZ86UuXPnBgHNn3zyifTs2VMGDx4c/Nt448pfuvFZMe06ffTRR8ELNybzv9GoqalJBg4cGNxomb8mmDkLk3adchoYnf79738H/+bPnx/oM2DAADHZ5s2/bt265TZV+TcrOqmEX4XTWdCJ61MVgrOpUwJZaE9OAXliPAs60e95cjLV6YYZCy5evFg6deokm266qTQ0NNRpMfndtbcn7p+SP2dqqRGdaqGW3j7c56bHvlzN77//vrz44oti/i5atEi6dOkSPNMzP86b61CWJu3Xpyxp0daxrA86Md5r6wzwZx06+aNF1j3JQr/H8wgdZyk6oZMvBLT3e+YLuybRm3lB1Lz82a9fP1/QWvUDnazidGYsKZ0IZHYgYSBeShmZVz+7WJb9YI7I0ua2j6w1yFhMfHFr1uV23RukYXAn6bBrD+m0W29p7N+p7X3bWBsLZO7cTvo8vnPJrRd8qTXTS/Nnb/w17N5VNvjl0JLbWl+hNCOzdQ4KDCbVGSpA4bWL6OS1PKFz6BSi8HoGnbyWJ3QOnUIUXs+gk9fyhM6hU4jC6xl08lqe0Dl0ClF4PYNOXssTOodOIQqvZ9DJa3lC59ApROH1DDp5LU/oHDqFKLyeQSev5QmdQ6cQhdcz6OS1PKFz6BSi8HoGnbyWJ3QOnUIUXs+gk9fyhM6hU4jC6xl08lqe0LkkdCKQOcRtZyYULaWMzHaOonYrVQUy79kayLzyP4HMu7UGMk9KLpCZjMy1a5zknmF7SrJS6qqaADpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2QKdUsFddKTpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2QKdUsFddKTpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2SEonApkdyBuIl1JGZgeHU5VJLYHMQkbmqnRNc+OkOsM0jzELdaOTDhXRCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OFlEu2JQGbL50IoGhmZRTq3kz6P71yS8AIyMpdkw4rPCITtCSBeE0Anr+UJnUOnEIXXM+jktTyhc+gUovB6Bp28lid0Dp1CFF7PoJPX8oTOoVOIwusZdPJantA5dApReD2DTl7LEzqHTiEKr2fQyWt5QufQKUTh9Qw6eS1P6Bw6hSi8nkEnr+UJnUOnEIXXM+jktTyhc+gUovB6Bp28lid0Dp1CFF7PoJPX8oTOJaUTgcwhcnszgXhkZPY6kJmMzPbOd9eWkuoMXR9H1u2jkw6F0QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhZRLtiUBmy+dCKBoZmb0OZG7XeI+0tLRYVh9ztgmE7cm2YexZJYBOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M5aUTgQyO5AwEI+MzF4HMpOR2cGJ78hkUp2hI/fXG7PopENqdEInHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4mUR7IpDZ8rkQikZGZq8DmcnIbPnEd2QubE+O7GPWDgF0ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtZWkdCKQ2YGSgXhkZPY6kJmMzA5OfEcmk+oMHbm/3phFJx1SoxM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDyyTaE4HMls+FUDQyMnsdyExGZssnviNzYXtyZB+zdgigkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq0kpROBzA6UDMRbTzMyL75gtjQ9suwzqj0bpM8jO5UkvGC/F0QWNwfrG/ftLr0uGVxyW+srGu6WpBqZdd/XM4PopENwdEInHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCpxwBAplzJCz9DRvXepqR2WBs/nB1638t0tC3o0iHdqXJrmmR5k9at21oJw0btW6b4ERG5gRh11FV2J7qsMGu7gmgk3vGNmpAJxsU3dtAJ/eMbdSATjYoureBTu4Z26gBnWxQdG8DndwztlEDOtmg6N4GOrlnbKMGdLJB0b0NdHLP2EYN6GSDonsb6OSesY0a0MkGRfc20Mk9Yxs1oJMNiu5toJN7xjZqQCcbFN3bQCf3jG3UgE42KLq3gU7uGduoAZ1sUHRvA53cM7ZRQ1I6EchsQ608G4F462lG5jwU/i6SkdlfbfI8S6ozzKuWxSoJoFOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2lzdEoJfJXVolOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2lzdEoJfJXVolOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2nzJHQikNmyuKFo63FGZstInZgjI7MTrNaNhu3JumUM2iSATjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOVlE4EMjvQMBCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5dJtCcCmS2fC6FoZGS2TNauOTIy2+XpylrYnlxVgF0rBNDJCkbnRtDJOWIrFaCTFYzOjaCTc8RWKkAnKxidG0En54itVIBOVjA6N4JOzhFbqQCdrGB0bgSdnCO2UgE6WcHo3Ag6OUdspQJ0soLRuRF0co7YSgXoZAWjcyPo5ByxlQrQyQpG50bQyTliKxWgkxWMzo2gk3PEVipAJysYnRtBJ+eIrVSATlYwOjeSlE4EMjuQMhCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5dJtCcCmS2fC6FoZGS2TNauOTIy2+XpylrYnlxVgF0rBNDJCkbnRtDJOWIrFaCTFYzOjaCTc8RWKkAnKxidG0En54itVIBOVjA6N4JOzhFbqQCdrGB0bgSdnCO2UgE6WcHo3Ag6OUdspQJ0soLRuRF0co7YSgXoZAWjcyPo5ByxlQrQyQpG50bQyTliKxWgkxWMzo2gk3PEVipAJysYnRtBJ+eIrVSATlYwOjeSlE4EMjuQMhCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5eJtKcWJqsEWk+twB5/4WBOBM4DzgPOA9oB/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP2A1n7AnLsup896B5c1rIe2tZ5s+M3F0jRXzgPOA84D2gH9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/UCuHzDngqupnTHcWhETBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHECBDInBhqKoIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAARyBAhkzpHgLwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIJAYAQKZE0NNRRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgECOAIHMORL8hQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBIjQCBzYqipCAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEMgRIJA5R4K/EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQGIECGRODDUVQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAjkCBDLnSPAXAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQSIwAgcyJoaYiCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIEeAQOYcCf5CAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiREgkDkx1FQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI5AgQyJwjwV8IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAgMQIEMieGmoogAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBHAECmXMk+AsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgkRoBA5sRQUxEEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQI0Agc44EfyEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHECBDInBhqKoIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAARyBAhkzpHgLwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIJAYAQKZE0NNRRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgECOAIHMORL8hQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBIjQCBzYqipCAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEMgRIJA5R4K/EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQGIECGRODDUVQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAjkCBDLnSPAXAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQSIwAgcyJoaYiCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIEeAQOYcCf5CAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiREgkDkx1FQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI5AgQyJwjwV8IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAgMQIEMieGmoogAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBHAECmXMk+AsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgkRoBA5sRQUxEEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQI/D/AXS7PVttGH42AAAAAElFTkSuQmCC\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":2053,"title":"Strange Number Algorithms","description":"Three integer numbers will be provided to you. Write a function to \r\n\r\n Step1: Multiply first number by 3.\r\n Step2: Add 6 with the getting result.\r\n Step3: divide it by 3.\r\n Step4: Subtract the first number.\r\n\r\n Step1: Double the second number.\r\n Step2: Add 9 with result.\r\n Step3: Subtract 3 with the result.\r\n Step4: Divide the result by 2.\r\n Step5: Subtract the result with the second number.\r\n\r\n Step1:Add 7 to the third number.\r\n Step2:Multiply the number with 2.\r\n Step3:Subtract 4 from the result.\r\n Step4:Divide the result by 2.\r\n Step5:Subtract the third number from the result.\r\n\r\nReturn a single row matrix with the three answers.\r\n\r\n","description_html":"\u003cp\u003eThree integer numbers will be provided to you. Write a function to\u003c/p\u003e\u003cpre\u003e Step1: Multiply first number by 3.\r\n Step2: Add 6 with the getting result.\r\n Step3: divide it by 3.\r\n Step4: Subtract the first number.\u003c/pre\u003e\u003cpre\u003e Step1: Double the second number.\r\n Step2: Add 9 with result.\r\n Step3: Subtract 3 with the result.\r\n Step4: Divide the result by 2.\r\n Step5: Subtract the result with the second number.\u003c/pre\u003e\u003cpre\u003e Step1:Add 7 to the third number.\r\n Step2:Multiply the number with 2.\r\n Step3:Subtract 4 from the result.\r\n Step4:Divide the result by 2.\r\n Step5:Subtract the third number from the result.\u003c/pre\u003e\u003cp\u003eReturn a single row matrix with the three answers.\u003c/p\u003e","function_template":"function amat = strange(n)\r\n  amat = n(1)-n(1)*3+6/3;\r\nend","test_suite":"%%\r\nn = [1 10 100];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [0 499 999];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [999 666 333];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n%%\r\nn = [7 63 347];\r\na(1)=(((n(1)*3)+6)/3)-n(1);\r\na(2)=(((n(2)*2)+9)-3)/2-n(2);\r\na(3)=(((n(3)+7)*2)-4)/2-n(3);\r\ny_correct = a;\r\nassert(isequal(strange(n),y_correct))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":17471,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":101,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-12-15T06:55:46.000Z","updated_at":"2026-02-20T14:09:20.000Z","published_at":"2013-12-15T06:56:52.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThree integer numbers will be provided to you. Write a function to\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Step1: Multiply first number by 3.\\n Step2: Add 6 with the getting result.\\n Step3: divide it by 3.\\n Step4: Subtract the first number.\\n\\n Step1: Double the second number.\\n Step2: Add 9 with result.\\n Step3: Subtract 3 with the result.\\n Step4: Divide the result by 2.\\n Step5: Subtract the result with the second number.\\n\\n Step1:Add 7 to the third number.\\n Step2:Multiply the number with 2.\\n Step3:Subtract 4 from the result.\\n Step4:Divide the result by 2.\\n Step5:Subtract the third number from the result.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn a single row matrix with the three answers.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55530,"title":"Jump Search - 01","description":"Find the number of leaps you need to take to find an element in an array using the jump search algorithm.\r\nFor example, \r\na=[ 2,5,6,9,12,14,15,16,17,19,31]\r\nTo find 16 with a jump step of 3, you follow,  2 -\u003e 9 -\u003e 15 -\u003e 19 -\u003e 17 -\u003e 16\r\nSo, total number of jumps = 5\r\nnb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \r\nIf the jump step is larger than the array size, u jump to the last element of the array.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 201.438px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 100.713px; transform-origin: 407px 100.719px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the number of leaps you need to take to find an element in an array using the jump search algorithm.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea=[ 2,5,6,9,12,14,15,16,17,19,31]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo, total number of jumps = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003enb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf the jump step is larger than the array size, u jump to the last element of the array.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = jump_search(a,x,n)\r\n  y = x;\r\nend","test_suite":"%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=16;\r\nn=3;\r\ny_correct = 5;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=15;\r\nn=1;\r\ny_correct = 6;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=2;\r\nn=5;\r\ny_correct = 0;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=31;\r\nn=12;\r\ny_correct = 1;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n\r\n%%\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=17;\r\nn=12;\r\ny_correct = 3;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=38;\r\nn=2;\r\ny_correct = 5;\r\nassert(isequal(jump_search(a,x,n),y_correct))\r\n\r\n%%\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=11;\r\nn=4;\r\ny_correct = nan;\r\nassert(isnan(jump_search(a,x,n)))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":363598,"edited_by":363598,"edited_at":"2022-09-30T16:20:21.000Z","deleted_by":null,"deleted_at":null,"solvers_count":8,"test_suite_updated_at":"2022-09-29T13:10:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-09-08T04:51:33.000Z","updated_at":"2025-12-15T02:19:46.000Z","published_at":"2022-09-28T12:58:17.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the number of leaps you need to take to find an element in an array using the jump search algorithm.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[ 2,5,6,9,12,14,15,16,17,19,31]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, total number of jumps = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003enb. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the jump step is larger than the array size, u jump to the last element of the array.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45385,"title":"Coin distribution","description":"Imagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\r\n\r\nu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\r\n\r\nThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\r\n\r\n   2000 - 1\r\n    100 - 2\r\n\r\nthe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many. \r\n\r\n  out=[2000 100;\r\n          1   2]","description_html":"\u003cp\u003eImagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\u003c/p\u003e\u003cp\u003eu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\u003c/p\u003e\u003cp\u003eThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\u003c/p\u003e\u003cpre\u003e   2000 - 1\r\n    100 - 2\u003c/pre\u003e\u003cp\u003ethe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many.\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eout=[2000 100;\r\n        1   2]\r\n\u003c/pre\u003e","function_template":"function out = coin(n)","test_suite":"%%\r\ny=[2000         100\r\n      1           2]\r\nassert(isequal(coin(2200),y))\r\n\r\n%%\r\ny=[100,20,2;2,1,1]\r\nassert(isequal(coin(222),y))\r\n\r\n%%\r\ny=[2000         500         100          50          20          10           5           2           1\r\n    3           1           2           1           1           1           1           1           1]\r\nassert(isequal( coin(6788),y))\r\n\r\n%%\r\ny=[2000         100          20           5           2           1\r\n   56728           3           2           1           1           1]\r\nassert(isequal(  coin(113456348),y))\r\n\r\n%%\r\ny=[2;2]\r\nassert(isequal( coin(4),y))\r\n\r\n%%\r\ny=[1000         100          20           5           2\r\n           1           4           2           1           2]\r\nassert(isequal( coin(1449),y))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":46,"test_suite_updated_at":"2020-03-24T19:30:04.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-24T18:58:31.000Z","updated_at":"2026-02-09T18:16:23.000Z","published_at":"2020-03-24T19:30:04.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImagine, u r in a shop. ur bill is n(2200). u want to pay the bill with minimum no of coins u have.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eu've coins of - 2000,1000,500,100,50,20,10,5,2,1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThere are multiple ways to do that but due to the imposed condition, the correct solution for the above scenario is -\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   2000 - 1\\n    100 - 2]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ethe output should be a 2D matrix of size 2-by-x; where the 1st row contains the coins u used and 2nd row contains how many.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[out=[2000 100;\\n        1   2]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2189,"title":"Order of things - 1","description":"Let's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time. \r\n\r\nThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation. \r\n\r\n    A  B  C  D  E\r\n A  0  1  0  0  0\r\n B  0  0  0  0  0\r\n C  1  0  0  1  0\r\n D  1  0  0  0  0\r\n E  1  1  1  1  0\r\n\r\nA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\r\n\r\nIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\r\n\r\n    B  A  D  C  E\r\n B  0  0  0  0  0\r\n A  1  0  0  0  0\r\n D  0  1  0  0  0\r\n C  0  1  1  0  0\r\n E  1  1  1  1  0\r\n\r\nReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\r\n\r\n [ 2 1 4 3 5 ]\r\n\r\nYou may assume that all calculations can be executed, in some order or another.","description_html":"\u003cp\u003eLet's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time.\u003c/p\u003e\u003cp\u003eThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation.\u003c/p\u003e\u003cpre\u003e    A  B  C  D  E\r\n A  0  1  0  0  0\r\n B  0  0  0  0  0\r\n C  1  0  0  1  0\r\n D  1  0  0  0  0\r\n E  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/p\u003e\u003cp\u003eIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\u003c/p\u003e\u003cpre\u003e    B  A  D  C  E\r\n B  0  0  0  0  0\r\n A  1  0  0  0  0\r\n D  0  1  0  0  0\r\n C  0  1  1  0  0\r\n E  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\u003c/p\u003e\u003cpre\u003e [ 2 1 4 3 5 ]\u003c/pre\u003e\u003cp\u003eYou may assume that all calculations can be executed, in some order or another.\u003c/p\u003e","function_template":"function order = calculation_order(dependencies)\r\n  order  = 1:size(dependencies,1);\r\nend","test_suite":"%%\r\ndependencies = [\r\n  0  0\r\n  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 1 2 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  1  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 2 1 4 3 5 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  1  1  1\r\n  0  0  1  1  1\r\n  0  0  0  1  1\r\n  0  0  0  0  1\r\n  0  0  0  0  0\r\n];\r\norder = calculation_order(dependencies);\r\nordered = dependencies(order,order);\r\nassert(~nnz(triu(ordered-diag(diag(ordered)))));\r\n\r\n%%\r\ndependencies_ = tril(randi(2,10)-1);\r\ndependencies_ = dependencies_-diag(diag(dependencies_));\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\nclear order_;\r\norder = calculation_order(dependencies);\r\n% [~,order] = sort(order_);\r\nassert(~nnz(triu(dependencies(order,order))));\r\n\r\n%%\r\ndependencies_ = randi(2,10)-1;\r\ndependencies_ = dependencies_-triu(dependencies_);\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\nclear order_; % to prevent the evalin hack\r\norder = calculation_order(dependencies);\r\n% [~,order] = sort(order_);\r\nassert(~nnz(triu(dependencies(order,order))));\r\n\r\n%%\r\n% n = 10;\r\n% dependencies_ = tril(randi(3,n)\u003e1|diag(ones(1,n-1),-1))\u0026~eye(n);\r\n% order_ = randperm(n);\r\n% dependencies = dependencies_(order_,order_);\r\ndependencies = [\r\n     0     1     1     0     1     0     0     0     0     1\r\n     0     0     0     0     1     0     0     0     0     1\r\n     0     1     0     0     1     0     0     0     0     1\r\n     1     0     1     0     1     1     0     0     0     0\r\n     0     0     0     0     0     0     0     0     0     0\r\n     0     0     0     0     0     0     0     1     0     1\r\n     1     1     1     0     0     0     0     1     1     1\r\n     1     1     0     0     1     0     0     0     0     1\r\n     1     1     1     1     0     1     0     1     0     1\r\n     0     0     0     0     1     0     0     0     0     0\r\n];\r\norder = calculation_order(dependencies);\r\n% [~,order_correct] = sort(order_);\r\norder_correct = [ 5    10     2     3     1     8     6     4     9     7 ];\r\nassert(isequal(order,order_correct));","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":"2014-02-18T08:49:01.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-17T16:26:27.000Z","updated_at":"2026-01-28T10:54:41.000Z","published_at":"2014-02-18T08:49:01.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLet's assume you have a number of calculations to perform, that depend on each other. E.g. 'A' can be calculated, once the outcome of 'B' is known. And 'C' depends on the results of 'A' and 'D'. 'D' depends on 'A'. 'E' depends on all others. Find the right order of the calculations, needed to get all the results. Assume that only one calculation can be done at a time.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dependencies of the calculations on each other is expressed in a matrix, where each row and column corresponds to a specific calculation.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    A  B  C  D  E\\n A  0  1  0  0  0\\n B  0  0  0  0  0\\n C  1  0  0  1  0\\n D  1  0  0  0  0\\n E  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA '1' indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn matrix terms, re-order the rows and columns (the same operation applies to both) such that the upper-right triangle, above the diagonal, only contains zeros.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    B  A  D  C  E\\n B  0  0  0  0  0\\n A  1  0  0  0  0\\n D  0  1  0  0  0\\n C  0  1  1  0  0\\n E  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. In this example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ [ 2 1 4 3 5 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may assume that all calculations can be executed, in some order or another.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55285,"title":"Number of leaps in binary search","description":"Binary search is one of the most popular searching algorithms (Binary Search Algorithm). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\r\nWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\r\n\r\nFor example, \r\ngiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\r\nThe item is located at index 5. But thats not what you are looking for.\r\nImplementing Binary search --\r\nstep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\r\nstep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\r\nstep - 3: mid_elem=8. match.\r\nSo, no of steps =3.\r\n\r\nIf the value is not found, return -1.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 457.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 228.65px; transform-origin: 407px 228.65px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.5px 8px; transform-origin: 199.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBinary search is one of the most popular searching algorithms (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Binary_search_algorithm\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eBinary Search Algorithm\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 108px 8px; transform-origin: 108px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 43px 8px; transform-origin: 43px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 194.5px 8px; transform-origin: 194.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003egiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 215px 8px; transform-origin: 215px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe item is located at index 5. But thats not what you are looking for.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94px 8px; transform-origin: 94px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eImplementing Binary search --\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 61.3px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 30.65px; transform-origin: 391px 30.65px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 328px 8px; transform-origin: 328px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 311.5px 8px; transform-origin: 311.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 91px 8px; transform-origin: 91px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003estep - 3: mid_elem=8. match.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ol\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 59.5px 8px; transform-origin: 59.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSo, no of steps =3.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 107px 8px; transform-origin: 107px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the value is not found, return -1.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":" function step = binary_step(a,val)\r\n  step = x;\r\nend","test_suite":"%%\r\na=[2,4,5,7,8,9,19];\r\nval=7;\r\ny_correct = 1;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=4;\r\ny_correct = 2;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=8;\r\ny_correct = 3;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na=[2,4,5,7,8,9,19];\r\nval=21;\r\ny_correct = -1;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44];\r\nval=31;\r\ny_correct = 3;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44];\r\nval=33;\r\ny_correct = 4;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= [10,14,19,26,27,31,33,35,42,44,3];\r\nval=33;\r\ny_correct = 4;\r\nassert(isequal(binary_step(a,val),y_correct))\r\n\r\n%%\r\na= randperm(200);\r\nval=47;\r\ny_correct = 8;\r\nassert(isequal(binary_step(a,val),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":363598,"edited_by":223089,"edited_at":"2022-09-14T08:41:03.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2022-09-14T08:41:03.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-12T22:28:58.000Z","updated_at":"2025-10-01T23:09:27.000Z","published_at":"2022-08-12T22:34:00.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBinary search is one of the most popular searching algorithms (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Binary_search_algorithm\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eBinary Search Algorithm\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e). It works only in a sorted array. It utilizes the concept of decrease and conquer. At each iteration, it halves the size of the array while searching for an element in a list of items.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhile Matlab provides the 'find' or similar functions to search for an element in an array. This problem works the other way around. You have to implement the binary search algorithm here. Instead of finding the index of an element, you've to find how many jumps/iterations do you need using binary search to reach the item you are looking for.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003egiven array, a= [2, 4,  5, 7, 8, 9, 19] and search item value= 8.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe item is located at index 5. But thats not what you are looking for.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImplementing Binary search --\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 1: mid_elem = 7. doesn't match and lower. so shift the search to upper half. new array is [8, 9, 19].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 2: mid_elem = 9. doesn't match and higher. so, shift the search to lower half. new array is [8].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"2\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003estep - 3: mid_elem=8. match.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, no of steps =3.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the value is not found, return -1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":55290,"title":"Cut the rod","description":"A rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \r\nlength, len= [1, 2, 3, 4, 5,  6,   7,  8]\r\nprice, p     = [1, 5, 8, 9,10,17,17,20]\r\nHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\r\nSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\r\n\r\nFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\r\nThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u003e 5+5=10. \r\nFor (1,3)=\u003e9; (1,1,1,1)=\u003e 4; (1,1,2)=\u003e7, (4)=\u003e9. \r\n\r\nIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 322.875px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 161.438px; transform-origin: 407px 161.438px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 20.4375px; transform-origin: 391px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003elength, len= [1, 2, 3, 4, 5,  6,   7,  8]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4375px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eprice, p     = [1, 5, 8, 9,10,17,17,20]\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u0026gt; 5+5=10. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor (1,3)=\u0026gt;9; (1,1,1,1)=\u0026gt; 4; (1,1,2)=\u0026gt;7, (4)=\u0026gt;9. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = rod_cut(x,p)\r\n  y = x;\r\nend","test_suite":"%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=4;\r\ny_correct = 10;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=8;\r\ny_correct = 22;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=7;\r\ny_correct = 18;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[1,5,8,9,10,17,17,20];\r\nx=6;\r\ny_correct = 17;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[10,5,3,18];\r\nx=4;\r\ny_correct = 40;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n\r\n%%\r\np=[10,5,3,18];\r\nx=2;\r\ny_correct = 20;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n\r\n%%\r\np=[10,5,36,18,36];\r\nx=4;\r\ny_correct = 46;\r\nassert(isequal(rod_cut(x,p),y_correct))\r\n\r\n%%\r\np=[10,5,36,18,36];\r\nx=5;\r\ny_correct = 56;\r\nassert(isequal(rod_cut(x,p),y_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":363598,"edited_by":363598,"edited_at":"2022-08-13T23:35:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2022-08-13T23:35:18.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-13T23:28:51.000Z","updated_at":"2026-01-06T08:34:18.000Z","published_at":"2022-08-13T23:35:18.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA rod of length n can be cut in different sizes. Different price is associated with different length of cuts. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003elength, len= [1, 2, 3, 4, 5,  6,   7,  8]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eprice, p     = [1, 5, 8, 9,10,17,17,20]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere, if you cut a piece of length 5, the price for that piece is 10. For length of 8, the price is 20.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSay, you have to obtain a rod of length x. By cutting the rod in which way will give you the maximum price.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance, say x=4. you can cut the rod in pieces like (1,3)/(3,1), (2,2), (1,1,1,1), (1,1,2)/(1,2,1)/... or (4).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe maximum revenue that you can get here is when you cut the rod in (2,2) pieces to get length x =\u0026gt; 5+5=10. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor (1,3)=\u0026gt;9; (1,1,1,1)=\u0026gt; 4; (1,1,2)=\u0026gt;7, (4)=\u0026gt;9. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you have to return the maximum reveneue you can obtain by cutting the rod of size x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":56070,"title":"Jump Search  - 02","description":"Find the number of leaps you need to take to find the 'first occurrence' of an element in an array using the jump search algorithm.\r\nFor example, \r\na=[ 2,5,6,9,12,15,15,16,17,19,31]\r\nTo find 16 with a jump step of 3, you follow,  2 -\u003e 9 -\u003e 15 -\u003e 19 -\u003e 17 -\u003e 16\r\nSo, total number of jumps = 5\r\nn.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \r\n\r\nIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \r\nThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\r\nIf the jump step is larger than the array size, u directly go to the last element of the array\r\n","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 394.75px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 197.375px; transform-origin: 407px 197.375px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the number of leaps you need to take to find the '\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003efirst occurrence\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e' of an element in an array using the jump search algorithm.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ea=[ 2,5,6,9,12,15,15,16,17,19,31]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo, total number of jumps = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003en.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cul style=\"block-size: 40.875px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 20.4375px; transform-origin: 391px 20.4375px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4375px; text-align: left; transform-origin: 363px 20.4375px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cul style=\"block-size: 20.4375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 10.2125px; transform-origin: 391px 10.2188px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2125px; text-align: left; transform-origin: 363px 10.2188px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIf the jump step is larger than the array size, u directly go to the last element of the array\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = jump_search_2(a,x,n)\r\n  y = x;\r\nend","test_suite":"%% 1\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=16;\r\nn=3;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 2\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=15;\r\nn=1;\r\ny_correct = 6;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 3\r\na=[2,5,6,9,12,14,15,16,17,19,31];\r\nx=2;\r\nn=5;\r\ny_correct = 0;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 4\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=31;\r\nn=12;\r\ny_correct = 2;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 5\r\na=[ 2,5,6,9,12,14,15,16,17,19,31];\r\nx=17;\r\nn=12;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 6\r\na=[1,5,9,14,17,18,23,33,36,38];\r\nx=38;\r\nn=2;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n%% 7\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=10;\r\nn=5;\r\ny_correct = 5;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 8\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=30;\r\nn=2;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 9\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=35;\r\nn=2;\r\ny_correct = 4;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 10\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=35;\r\nn=3;\r\ny_correct = 3;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n%% 11\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=350;\r\nn=3;\r\ny_correct = nan;\r\nassert(isnan(jump_search_2(a,x,n)))\r\n\r\n%% 12\r\na=[5, 10, 10, 10, 25, 30, 35, 35, 55, 65, 100, 600, 4000, 10000, 10000, 30000, 30000, 48000];\r\nx=10000;\r\nn=4;\r\ny_correct = 7;\r\nassert(isequal(jump_search_2(a,x,n),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":8,"created_by":363598,"edited_by":363598,"edited_at":"2022-09-30T16:17:38.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":"2022-09-30T16:12:42.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-09-28T12:51:46.000Z","updated_at":"2025-08-31T14:33:49.000Z","published_at":"2022-09-28T13:13:44.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the number of leaps you need to take to find the '\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efirst occurrence\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e' of an element in an array using the jump search algorithm.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ea=[ 2,5,6,9,12,15,15,16,17,19,31]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTo find 16 with a jump step of 3, you follow,  2 -\u0026gt; 9 -\u0026gt; 15 -\u0026gt; 19 -\u0026gt; 17 -\u0026gt; 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo, total number of jumps = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003en.b. to go forward, you take n-step jump; to go backwards, you jump only one step back. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, you will have repetition of numbers. you need to find the index of the first occurence. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe array is always sorted. But you need to look out and go backward even after finding the element to ensure it is the first occurence.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the jump step is larger than the array size, u directly go to the last element of the array\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2685,"title":"FloydWarshall","description":"Our task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\r\nExample :\r\n input= [0   1  Inf Inf \r\n        Inf  0   2  Inf\r\n        Inf Inf  0   3\r\n         4   7  Inf  0]\r\n\r\n output= [0   1   3   6\r\n          9   0   2   5\r\n          7   8   0   3\r\n          4   5   7   0]","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 307.9px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 153.95px; transform-origin: 407px 153.95px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 84px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 42px; text-align: left; transform-origin: 384px 42px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 372.5px 8px; transform-origin: 372.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOur task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 29.5px 8px; transform-origin: 29.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e :\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 183.9px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 91.95px; transform-origin: 404px 91.95px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 96px 8.5px; tab-size: 4; transform-origin: 96px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e input= [0   1  Inf Inf \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        Inf  0   2  Inf\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 88px 8.5px; tab-size: 4; transform-origin: 88px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        Inf Inf  0   3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e         4   7  Inf  0]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e output= [0   1   3   6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          9   0   2   5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 92px 8.5px; tab-size: 4; transform-origin: 92px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          7   8   0   3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 96px 8.5px; tab-size: 4; transform-origin: 96px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e          4   5   7   0]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = floydwarshall(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = [0   1  Inf Inf;\r\n    Inf  0   2  Inf;\r\n    Inf Inf  0   3\r\n     4   7  Inf  0];\r\ny_correct = [0   1   3   6;\r\n             9   0   2   5;\r\n             7   8   0   3;\r\n             4   5   7   0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   8  Inf  1;\r\n    Inf  0   1  Inf;\r\n     4  Inf  0  Inf;\r\n    Inf  2   9   0];\r\ny_correct = [0   3   4   1\r\n             5   0   1   6\r\n             4   7   0   5\r\n             7   2   3   0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   3   6  Inf Inf Inf Inf\r\n     3   0   2   1  Inf Inf Inf\r\n     6   2   0   1   4   2  Inf\r\n    Inf  1   1   0   2  Inf  4\r\n    Inf Inf  4   2   0   2   1\r\n    Inf Inf  2  Inf  2   0   1\r\n    Inf Inf Inf  4   1   1   0];\r\ny_correct = [0 3 5 4 6 7 7\r\n            3 0 2 1 3 4 4\r\n            5 2 0 1 3 2 3\r\n            4 1 1 0 2 3 3\r\n            6 3 3 2 0 2 1\r\n            7 4 2 3 2 0 1\r\n            7 4 3 3 1 1 0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n\r\n%%\r\nx = [0   3  Inf  5;\r\n     2   0  Inf  4;\r\n    Inf  1   0  Inf;\r\n    Inf Inf  2   0];\r\ny_correct = [0 3 7 5\r\n             2 0 6 4\r\n             3 1 0 5\r\n             5 3 2 0];\r\nassert(isequal(floydwarshall(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":32478,"edited_by":223089,"edited_at":"2023-01-03T06:19:00.000Z","deleted_by":null,"deleted_at":null,"solvers_count":32,"test_suite_updated_at":"2023-01-03T06:19:00.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-11-23T22:43:29.000Z","updated_at":"2026-03-30T15:58:21.000Z","published_at":"2014-11-23T22:44:41.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOur task is to find shortest paths between every pair of nodes. Floyd-Warshall is a graph algorithm for finding shortest paths in weighted graph. The input of a function will be in weighted adjacency matrix representation. If two vertices does not have any edge than this matrix has Inf value. Function will return a matrix with values of shortest paths between each pair of nodes.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e :\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ input= [0   1  Inf Inf \\n        Inf  0   2  Inf\\n        Inf Inf  0   3\\n         4   7  Inf  0]\\n\\n output= [0   1   3   6\\n          9   0   2   5\\n          7   8   0   3\\n          4   5   7   0]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":43642,"title":"Euclidean distance from a point to a polynomial","description":"A not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\r\n\r\nAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\r\n\r\nGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum \u003chttps://en.wikipedia.org/wiki/Euclidean_distance Euclidean distance\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\r\n\r\nThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\r\n\r\nAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\r\n\r\n  x0y0 = [-2 -5];\r\n  P = [0.5 3 -5];\r\n  D = distance2polynomial(P,xy)\r\n  D =\r\n          1.89013819497707\r\n\r\n(Be careful plotting these curves in case you want to plot your solution. The command \"axis equal\" is a good idea.)\r\n\r\nThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\r\n\r\nDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.","description_html":"\u003cp\u003eA not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\u003c/p\u003e\u003cp\u003eAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\u003c/p\u003e\u003cp\u003eGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum \u003ca href = \"https://en.wikipedia.org/wiki/Euclidean_distance\"\u003eEuclidean distance\u003c/a\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\u003c/p\u003e\u003cp\u003eThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\u003c/p\u003e\u003cp\u003eAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex0y0 = [-2 -5];\r\nP = [0.5 3 -5];\r\nD = distance2polynomial(P,xy)\r\nD =\r\n        1.89013819497707\r\n\u003c/pre\u003e\u003cp\u003e(Be careful plotting these curves in case you want to plot your solution. The command \"axis equal\" is a good idea.)\u003c/p\u003e\u003cp\u003eThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\u003c/p\u003e\u003cp\u003eDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.\u003c/p\u003e","function_template":"function D = distance2polynomial(P,x0y0)\r\n  % compute the minimum Euclidean distance between a point and a polynomial\r\n  D = rand;\r\nend\r\n","test_suite":"%%\r\nx0y0 = [-2 5];\r\nP = [0.5 3 -5];\r\ny_correct = 4.3093988461280149175163000679048;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [pi, pi];\r\nP = [10];\r\ny_correct = 6.8584073464102067615373566167205;\r\ntol = 7e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [0.25,50];\r\nP = [1 2 3 4 5];\r\ny_correct = 1.6470039192886012020234097061626;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [-3 -3];\r\nP = [-2 1];\r\ny_correct = 4.4721359549995793928183473374626;\r\ntol = 5e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [0 5];\r\nP = [1 0 1];\r\ny_correct = 1.9364916731037084425896326998912;\r\ntol = 2e-13;\r\nassert(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n%%\r\nx0y0 = [-2 -5];\r\nP = [0.5 3 -5];\r\ny_correct = 1.8901381949770695260066523338279;\r\ntol = 2e-13;\r\n(abs(distance2polynomial(P,x0y0)-y_correct) \u003c tol)\r\n\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":2,"created_by":544,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":33,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":37,"created_at":"2016-10-28T21:00:14.000Z","updated_at":"2026-02-08T12:58:41.000Z","published_at":"2016-10-28T21:08:10.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA not uncommon problem in the area of computational geometry is to find the closest point to a straight line from a given point, or the distance from a point to a line. As you might expect, there is a simple formula for those things.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs an extension, I decided one day to write a tool that would compute the distance from a point to a general polynomial function in the (x,y) plane. That is your problem here:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a point (x0,y0), and a polynomial in the form y=P(x) where the function P is defined by the coefficients of a polynomial, you need to compute the minimum\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Euclidean_distance\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eEuclidean distance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e to that polynomial. So you need to find and return the minimum distance in the (x,y) plane between the point (x0,y0), and the function y=P(x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function P will be passed in as the coefficients of a polynomial in standard MATLAB form, thus with the highest order coefficient first in a vector, like that generated by polyfit, and used by polyval. (P might be as simple as a constant function.) The point in question will be passed in as a vector of length 2, thus [x0,y0].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs test case for you to check your code, the distance from the point (-2,-5) to the curve y=x^2/2+3*x-5 should be:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x0y0 = [-2 -5];\\nP = [0.5 3 -5];\\nD = distance2polynomial(P,xy)\\nD =\\n        1.89013819497707]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(Be careful plotting these curves in case you want to plot your solution. The command \\\"axis equal\\\" is a good idea.)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe symbolic TB tells me the distance is 1.8901381949770695260066523338279..., but I'll allow some slop in your solution, since you may have chosen a different algorithm than the one I chose. You should expect to provide at least 13 correct significant digits in the solution.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDisclaimer: I'm not really sure why anyone needs such a code, which is why I've not posted my solution on the FEX. Anyway, my solution is a pretty one that I thought might make a fun Cody problem, and I wanted to see how others might approach the problem. I expect that my reference solution will score poorly for Cody purposes, since it is carefully coded, complete with error checks, and returns more than just the minimum distance.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2190,"title":"Order of things - 2","description":"This problem is closely related to \u003chttp://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1 Problem 2189, Order of things - 1\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other. \r\n\r\n* However, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\r\n* Furthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\r\n\r\nAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A |1| indicates that the calculation on that row depends on the one mentioned at the top of that column.\r\n\r\nReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\r\n\r\n   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  1  0\r\nD  1  0  1  0  0\r\nE  1  1  1  1  0\r\n\r\nThe above problem can not be solved, since |C| depends on |D|, which in its place depends on |C|. The returned value would be |[]| .\r\n\r\n   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  0  0\r\nD  1  0  0  0  0\r\nE  1  1  1  1  0\r\n\r\nThe returned matrix should be \r\n\r\n [\r\n   2 1 3 4 5 \r\n   2 1 4 3 5\r\n ]\r\n\r\nGood luck!","description_html":"\u003cp\u003eThis problem is closely related to \u003ca href = \"http://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1\"\u003eProblem 2189, Order of things - 1\u003c/a\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other.\u003c/p\u003e\u003cul\u003e\u003cli\u003eHowever, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\u003c/li\u003e\u003cli\u003eFurthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A \u003ctt\u003e1\u003c/tt\u003e indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/p\u003e\u003cp\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\u003c/p\u003e\u003cpre\u003e   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  1  0\r\nD  1  0  1  0  0\r\nE  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eThe above problem can not be solved, since \u003ctt\u003eC\u003c/tt\u003e depends on \u003ctt\u003eD\u003c/tt\u003e, which in its place depends on \u003ctt\u003eC\u003c/tt\u003e. The returned value would be \u003ctt\u003e[]\u003c/tt\u003e .\u003c/p\u003e\u003cpre\u003e   A  B  C  D  E\r\nA  0  1  0  0  0\r\nB  0  0  0  0  0\r\nC  1  0  0  0  0\r\nD  1  0  0  0  0\r\nE  1  1  1  1  0\u003c/pre\u003e\u003cp\u003eThe returned matrix should be\u003c/p\u003e\u003cpre\u003e [\r\n   2 1 3 4 5 \r\n   2 1 4 3 5\r\n ]\u003c/pre\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function order = calculation_order(dependencies)\r\n  order  = 1:size(dependencies,1);\r\nend","test_suite":"%%\r\ndependencies = [\r\n  0  0\r\n  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = [ 1 2 ];\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\norder_correct = sortrows([ 2 1 4 3 5 ; 2 1 3 4 5 ]);\r\nassert(isequal(order_correct,order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  0  0  0  0\r\n  1  1  1  1  0\r\n];\r\norder = calculation_order(dependencies);\r\nassert(isequal([],order));\r\n\r\n%%\r\ndependencies = [\r\n  0  1  1  1  1\r\n  0  0  1  1  1\r\n  0  0  0  1  1\r\n  0  0  0  0  1\r\n  0  0  0  0  0\r\n];\r\norder = calculation_order(dependencies);\r\nordered = dependencies(order,order);\r\nassert(~nnz(triu(ordered-diag(diag(ordered)))));\r\n\r\n%%\r\ndependencies_ = [\r\n  0  0  0  0  0\r\n  0  0  0  0  0\r\n  0  0  0  0  0\r\n  1  0  0  0  0\r\n  0  1  0  0  0\r\n];\r\norder_ = randperm(size(dependencies_,1));\r\ndependencies = dependencies_(order_,order_);\r\norder_ = 0;\r\norder = calculation_order(dependencies);\r\nassert(isequal(size(unique(order,'rows'),1),30));\r\nfor ii = 1:size(order,1)\r\n   ordered = dependencies(order(ii,:),order(ii,:));\r\n   assert(~nnz(triu(ordered-diag(diag(ordered)))));\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":6556,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2014-02-19T08:24:05.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-02-18T08:49:38.000Z","updated_at":"2014-02-19T08:24:05.000Z","published_at":"2014-02-19T08:24:05.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is closely related to\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.nl/matlabcentral/cody/problems/2189-order-of-things-1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 2189, Order of things - 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. For the details, see the description for that problem. Basically, we have to find the order in which to execute tasks of which the results and prerequisites depend on each other.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHowever, this time it may be impossible to find a solution, since dependencies may be cyclic. In that case, return an empty vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFurthermore, if there are multiple orders possible, return them as multiple rows of the output vector.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAgain, the dependencies of the tasks on each other is expressed in a matrix, where each row and column corresponds to a specific task. Each row expresses on which result that task depends. A\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e indicates that the calculation on that row depends on the one mentioned at the top of that column.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn the new row/column order as a numeric row-vector, referring to the rows/columns of the input matrix. Of an empty array when no solution is possible. Or a matrix of rows containing the orders, where each row is a different solution, in case multiple solutions exist.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   A  B  C  D  E\\nA  0  1  0  0  0\\nB  0  0  0  0  0\\nC  1  0  0  1  0\\nD  1  0  1  0  0\\nE  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe above problem can not be solved, since\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e depends on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eD\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which in its place depends on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The returned value would be\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e[]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e .\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   A  B  C  D  E\\nA  0  1  0  0  0\\nB  0  0  0  0  0\\nC  1  0  0  0  0\\nD  1  0  0  0  0\\nE  1  1  1  1  0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe returned matrix should be\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ [\\n   2 1 3 4 5 \\n   2 1 4 3 5\\n ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGood luck!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":57715,"title":"Easy Sequences 96: One-line Code Challenge - Polynomial Folding Function","description":"The Matlab fold function is a very useful functional programming construct. Unfortunatlely, fold is not available io Cody players.\r\nIn this problem we are required to create the function foldPoly, that takes in 2 inputs, a polynomial vector P and a values vector V. Assuming V is never empty, we define the function as follows:\r\n    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);\r\nwhich is equivalent, in older Matlab, to:\r\n    function z = foldPoly(P,V)\r\n        z = V(1);\r\n        for i = 2:length(V)\r\n            z = polyval(P,(V(i)+z));\r\n        end\r\n    end\r\nThe challenge here is to write the foldPoly function in just one (1) line of code, excluding the function start and end line.\r\n-----------------\r\nNOTE: Empty lines and comment lines (starting with %) shall not be counted, but semicolons (;) will be considered as an end-of-line character.\r\nHINT: It is helpful to have a Matlab in your computer (or you can use Matlab Online), to be able check if your implementation behaves the same way as the built-in fold function.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 468px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 234px; transform-origin: 407px 234px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe Matlab \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/help/symbolic/fold.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; text-decoration-line: underline; \"\u003efold\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e function is a very useful functional programming construct. Unfortunatlely, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efold \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eis not available io Cody players.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eIn this problem we are required to create the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efoldPoly\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e that takes in 2 inputs, a polynomial vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eP\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e and a values vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eV.\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e Assuming \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eV\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is never empty, we define the function as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ewhich is equivalent, in older Matlab, to:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 120px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 60px; transform-origin: 404px 60px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efunction \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ez = foldPoly(P,V)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        z = V(1);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efor \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ei = 2:length(V)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            z = polyval(P,(V(i)+z));\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe challenge here is to write the\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efoldPoly\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003efunction in \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003ejust one (1) line of code\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, excluding the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efunction\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e start and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e line.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-----------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eEmpty lines and comment lines (starting with \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003e%\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) shall not be counted, but \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003esemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; text-decoration-line: underline; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003e) will be considered as an end-of-line character.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHINT:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e It is helpful to have a Matlab in your computer (or you can use \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/products/matlab-online.html\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eMatlab Online\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e), to be able check if your implementation behaves the same way as the built-in \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003efold \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003efunction.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function z = foldPoly(P,V)\r\n    z = V(1);\r\n    for i = 2:length(V)\r\n        z = polyval(P,(V(i)+z));\r\n    end\r\n%end","test_suite":"%%\r\nP = [1 2 1]; V = 0:3;\r\nz_correct = 2809;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 -2 -3 4]; V = 0:5;\r\nz_correct = 22624;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 1]; V = 1:10;\r\nz_correct =  [5 8 11 14 17 20 23 26 29 32];\r\nassert(isequal(arrayfun(@(v) foldPoly(P,[v v v]),V),z_correct))\r\n%%\r\nP = [1 -1 1 -1 1 -1 1 -1]; V = 0:3;\r\nz_correct = 40408373573655;\r\nassert(isequal(foldPoly(P,V),z_correct))\r\n%%\r\nP = [1 3 3 1]; V = ones(1,5);\r\nz_correct = 3.0554;\r\nassert(isequal(round(foldPoly(P,V)/1e39,4),z_correct))\r\n%%\r\nP = [-5 5 -5 5 -5]; V = zeros(1,5);\r\nz_correct = -9.1460;\r\nassert(isequal(round(foldPoly(P,V)/1e60,4),z_correct))\r\n%%\r\nP = repmat([-1 0],1,10); V = [1 1 1];\r\nz_correct = 1.1108;\r\nassert(isequal(round(foldPoly(P,V)/1e111,4),z_correct))\r\n%%\r\nfiletext = fileread('foldPoly.m');\r\nnot_allowed = contains(filetext, 'str2') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":3,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-24T05:42:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-02-18T09:51:56.000Z","updated_at":"2023-03-24T05:42:25.000Z","published_at":"2023-02-19T08:39:40.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe Matlab \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/help/symbolic/fold.html\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e function is a very useful functional programming construct. Unfortunatlely, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eis not available io Cody players.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eIn this problem we are required to create the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efoldPoly\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that takes in 2 inputs, a polynomial vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eP\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a values vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Assuming \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eV\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is never empty, we define the function as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    foldPoly = @(P,V) fold(@(a,b) polyval(P,a+b),V);]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich is equivalent, in older Matlab, to:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    function z = foldPoly(P,V)\\n        z = V(1);\\n        for i = 2:length(V)\\n            z = polyval(P,(V(i)+z));\\n        end\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe challenge here is to write the\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efoldPoly\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003efunction in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ejust one (1) line of code\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, excluding the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efunction\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e start and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-----------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eEmpty lines and comment lines (starting with \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e%\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) shall not be counted, but \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003esemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e) will be considered as an end-of-line character.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHINT:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e It is helpful to have a Matlab in your computer (or you can use \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/products/matlab-online.html\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eMatlab Online\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), to be able check if your implementation behaves the same way as the built-in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efold \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003efunction.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57735,"title":"Easy Sequences 98: One-line Code Challenge - Ternary Operator Function","description":"Ternary operation is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\r\n    y = (p \u003e q) ? m : n;\r\nwhich means that y is assigned the value of either m or n, depending on whether the statement (p \u003e q) is true or false, respectively.\r\nUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\r\n    if p \u003e q\r\n        y = m;\r\n    else\r\n        y = n;\r\n    end\r\nBut that is 5 lines of Matlab code versus just a single line in C!\r\nIn this problem we are required create the function ternaryFunc, which takes on the following parameters:  data values a and b; a conditional function C, that outputs true or false, and functions T and F which are applied to a and b, depending on the value of C(a,b). We can write the function as follows:\r\n    function x = ternaryFunc(a,b,C,T,F)\r\n        if C(a,b)\r\n            x = T(a,b);\r\n        else\r\n            x = F(a,b);\r\n        end\r\n    end\r\n-------------\r\nNOTE: The following restrictions apply:\r\nThe function should only have one (1) line of code, excluding the function start line.\r\nSemicolons (;) are considered end-of-line characters.\r\nUse of if, while and switch statements is not allowed.\r\nRegular expressions and string manipulation are not allowed.\r\nUse of variable length arguments is not allowed.\r\n-------------\r\nHINT:  As an exercise you may want to first solve Problem #44243.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 780px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 390px; transform-origin: 407px 390px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Ternary_conditional_operator\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003eTernary operation\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 10px; transform-origin: 404px 10px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    y = (p \u0026gt; q) ? m : n;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ewhich means that \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ey\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is assigned the value of either \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003em \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003en\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, depending on whether the statement \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003e(p \u0026gt; q) \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eis true or false, respectively.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 100px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 50px; transform-origin: 404px 50px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eif \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ep \u0026gt; q\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        y = m;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eelse\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        y = n;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eBut that is 5 lines of Matlab code versus just a single line in C!\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this problem we are required \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003ecreate the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eternaryFunc\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, which takes on the following parameters:  data values \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e; a conditional function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, that outputs true or false, and functions T and F which are applied to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ea\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eb\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e, depending on the value of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eC(a,b)\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. We can write the function as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 140px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 70px; transform-origin: 404px 70px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003efunction \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = ternaryFunc(a,b,C,T,F)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eif \u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eC(a,b)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            x = T(a,b);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eelse\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e            x = F(a,b);\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e        \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10px; transform-origin: 404px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e    \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(14, 0, 255); border-block-start-color: rgb(14, 0, 255); border-bottom-color: rgb(14, 0, 255); border-inline-end-color: rgb(14, 0, 255); border-inline-start-color: rgb(14, 0, 255); border-left-color: rgb(14, 0, 255); border-right-color: rgb(14, 0, 255); border-top-color: rgb(14, 0, 255); caret-color: rgb(14, 0, 255); color: rgb(14, 0, 255); column-rule-color: rgb(14, 0, 255); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(14, 0, 255); text-decoration-color: rgb(14, 0, 255); text-emphasis-color: rgb(14, 0, 255); \"\u003eend\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe following restrictions apply:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 100px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 50px; transform-origin: 391px 50px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) are considered end-of-line characters.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUse of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eif\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003ewhile\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eswitch\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e statements is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRegular expressions and string manipulation are not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eUse of variable length arguments is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHINT:  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAs an exercise you may want to first solve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/44243\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"font-weight: 700; text-decoration-line: underline; \"\u003eProblem #44243\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = ternaryFunc(a,b,C,T,F)\r\n    if C(a,b)\r\n        x = T(a,b);\r\n    else\r\n        x = F(a,b);\r\n    end\r\nend","test_suite":"%%\r\na = 20; b = 2; \r\nC = @gt;\r\nT = @(a,b) a ^ b;\r\nF = @(a,b) b ^ a;\r\nx_correct = 400;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\nC = @le;\r\nx_correct = 1048576;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 123; b = 456; \r\nC = @lt;\r\nT = @(a,b) round(sind(b/a),4);\r\nF = @(a,b) round(sind(b*a),4);\r\nx_correct = 0.0647;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\nC = @ge;\r\nx_correct = -0.9511;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 'A'; b = 'A'; \r\nC = @eq;\r\nT = @(a,b) log(a/b);\r\nF = @(a,b) log(a*b);\r\nx_correct = false;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 1000; b = 2000; \r\nC = @gt;\r\nT = @(a,b) char(a + \" is greater than \" + b);\r\nF = @(a,b) char(b + \" is greater than \" + a);\r\nx_correct = '2000 is greater than 1000';\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = repelem('1',5); b = repelem('2',100); \r\nC = @(a,b) all(lt(a,b(1:length(a))));\r\nT = @(a,b) arrayfun(@(i) i,1:str2num(a));\r\nF = @(a,b) arrayfun(@(i) i,1:str2num(b));\r\nx_correct = 1:11111;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = 1; b = 0; \r\nC = @lt;\r\nT = @(a,b) a * length(1:1/b);\r\nF = @(a,b) b * length(1:1/a);\r\nx_correct = 0;\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\na = randi(1000); b = randi(1000); \r\nC = @le;\r\nT = @(a,b) a * length(1:b/a);\r\nF = @(a,b) b * length(1:a/b);\r\nif C(a,b)\r\n    x_correct = T(a,b);\r\nelse\r\n    x_correct = F(a,b);\r\nend\r\nassert(isequal(ternaryFunc(a,b,C,T,F),x_correct))\r\n%%\r\nfiletext = fileread('ternaryFunc.m');\r\nnot_allowed = contains(filetext, 'str2') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin') || contains(filetext, 'if') || contains(filetext, 'while') || contains(filetext, 'switch') || contains(filetext, 'vararg');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":4,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-29T18:12:50.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2023-03-01T19:53:27.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2023-02-26T08:27:07.000Z","updated_at":"2026-02-27T16:09:27.000Z","published_at":"2023-02-27T08:38:47.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Ternary_conditional_operator\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eTernary operation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a standard construct in most computer languages. The ternary operator assigns value to a variable depending on the result of the condition. For example, we find the following syntax in C and many C-like languages:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    y = (p \u003e q) ? m : n;]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ewhich means that \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is assigned the value of either \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, depending on whether the statement \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e(p \u0026gt; q) \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eis true or false, respectively.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUnfortunately, Matlab does not have a ternary operator and if we need to get the same effect, we may write the statement this way:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    if p \u003e q\\n        y = m;\\n    else\\n        y = n;\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut that is 5 lines of Matlab code versus just a single line in C!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem we are required \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ecreate the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eternaryFunc\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, which takes on the following parameters:  data values \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e; a conditional function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, that outputs true or false, and functions T and F which are applied to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, depending on the value of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eC(a,b)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. We can write the function as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    function x = ternaryFunc(a,b,C,T,F)\\n        if C(a,b)\\n            x = T(a,b);\\n        else\\n            x = F(a,b);\\n        end\\n    end]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eThe following restrictions apply:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) are considered end-of-line characters.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUse of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eif\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ewhile\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eswitch\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e statements is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRegular expressions and string manipulation are not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUse of variable length arguments is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e-------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHINT:  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eAs an exercise you may want to first solve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/44243\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem #44243\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45367,"title":"Sieve of Eratosthenes - 02","description":" \"Sift the Two's and Sift the Three's,\r\n  The Sieve of Eratosthenes.\r\n  When the multiples sublime,\r\n  The numbers that remain are Prime.\"  ...anonymous\r\n\r\n\r\nSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\r\n\r\ngiven a limit n, u've to find all the primes up to n.\r\nThe built-in prime function of matlab is restricted.","description_html":"\u003cpre\u003e \"Sift the Two's and Sift the Three's,\r\n  The Sieve of Eratosthenes.\r\n  When the multiples sublime,\r\n  The numbers that remain are Prime.\"  ...anonymous\u003c/pre\u003e\u003cp\u003eSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\u003c/p\u003e\u003cp\u003egiven a limit n, u've to find all the primes up to n.\r\nThe built-in prime function of matlab is restricted.\u003c/p\u003e","function_template":"function y = sieve(n)","test_suite":"%%\r\nassert(isequal(sieve(50),primes(50)))\r\n%%\r\nassert(isequal(sieve(5000),primes(5000)))\r\n%%\r\nassert(isequal(sieve(19),primes(19)))\r\n%%\r\nassert(isequal(sieve(6660),primes(6660)))\r\n%%\r\nassert(isequal(sieve(20050),primes(20050)))\r\n%%\r\nassert(isequal(sieve(200500),primes(200500)))\r\n%%\r\nfiletext = fileread('sieve.m');\r\nassert(isempty(strfind(filetext, 'primes')),'primes() forbidden')\r\nassert(isempty(strfind(filetext, 'isprime')),'isprime() forbidden')","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":137,"test_suite_updated_at":"2020-03-16T19:32:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-16T19:27:09.000Z","updated_at":"2026-03-30T17:27:11.000Z","published_at":"2020-03-16T19:32:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ \\\"Sift the Two's and Sift the Three's,\\n  The Sieve of Eratosthenes.\\n  When the multiples sublime,\\n  The numbers that remain are Prime.\\\"  ...anonymous]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSieve of Eratosthenes is a simple but ingenious ancient algorithm for finding all prime numbers up to n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003egiven a limit n, u've to find all the primes up to n. The built-in prime function of matlab is restricted.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45463,"title":"Word Ladder","description":"Given a set of words, and two other words - start and destination,\r\n\r\nFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set. \r\n\r\nAll the words are of the same length.\r\nThe starting word is not in the set but destination word would be.\r\n\r\nFor example, \r\n\r\n Start = 'COLD'\r\n Destination = 'WARM'\r\n set ={ CORD CARD DART FORT WARM FARM WARD}\r\n\r\n COLD → CORD → CARD → WARD → WARM","description_html":"\u003cp\u003eGiven a set of words, and two other words - start and destination,\u003c/p\u003e\u003cp\u003eFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set.\u003c/p\u003e\u003cp\u003eAll the words are of the same length.\r\nThe starting word is not in the set but destination word would be.\u003c/p\u003e\u003cp\u003eFor example,\u003c/p\u003e\u003cpre\u003e Start = 'COLD'\r\n Destination = 'WARM'\r\n set ={ CORD CARD DART FORT WARM FARM WARD}\u003c/pre\u003e\u003cpre\u003e COLD → CORD → CARD → WARD → WARM\u003c/pre\u003e","function_template":"function out2 = word_lad_2(ary,st,des)","test_suite":"%%\r\nary={ 'CORD', 'CARD', 'DART', 'FORT', 'WARM', 'FARM', 'WARD'}\r\nst='COLD'\r\ndes='WARM'\r\ny_correct = {'CORD','CARD','WARD','WARM'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'pan','can','fan','pat','mat','fat','lot','opt','apt','act','ape','put','aut'}\r\nst='man'\r\ndes='ape'\r\ny_correct = {'pan'\t'pat'\t'put'\t'aut'\t'apt'\t'ape'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'leg','hot','dot','dog','lot','log','cog','hog','zog','fog'}\r\nst='hit'\r\ndes='fog'\r\ny_correct = {'hot','hog','fog'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n%%\r\nary={'safer', 'rifer','upper','rifre', 'rider','tider' ,'cider','coder','loder', 'cooer', 'cooey', 'gooey', 'goosy' , 'goose' ,'loose','nosey','doose'}\r\nst='refer'\r\ndes='loose'\r\ny_correct = {'rifer'\t'rider'\t'cider'\t'coder'\t'cooer'\t'cooey'\t'gooey'\t'goosy'\t'goose'\t'loose'};\r\nassert(isequal(word_lad_2(ary,st,des),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":17,"test_suite_updated_at":"2020-04-16T07:12:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-16T07:11:43.000Z","updated_at":"2026-02-10T01:03:52.000Z","published_at":"2020-04-16T07:12:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a set of words, and two other words - start and destination,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the smallest chain from start to the destination such that adjacent words in the chain only differ by one character and each word in the chain exists in the set.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAll the words are of the same length. The starting word is not in the set but destination word would be.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Start = 'COLD'\\n Destination = 'WARM'\\n set ={ CORD CARD DART FORT WARM FARM WARD}\\n\\n COLD → CORD → CARD → WARD → WARM]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55305,"title":"Chain multiplication - 02","description":"Following up on the problem in 55295, you found the number of multiplications needed to multiply two matrices.\r\nNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \r\nsay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\r\n\r\nyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\r\nA(1,2), B(2,3), C(3,2)\r\nA(BC) =\u003e BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\r\n(AB)C =\u003e AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\r\nTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\r\n\r\nHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\r\nhere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 414px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 207px; transform-origin: 407px 207px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFollowing up on the problem in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55295-chain-multiplication-01\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55295\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you found the number of multiplications needed to multiply two matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003esay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(1,2), B(2,3), C(3,2)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(BC) =\u0026gt; BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e(AB)C =\u0026gt; AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ehere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chain_mul_02(a)\r\n  y = x;\r\nend","test_suite":"%%\r\na=[1,2,3,2];\r\ny_correct = 12;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[4,10,3,12,20,7];\r\ny_correct = 1344;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n\r\n%%\r\na=[1,2,3,4];\r\ny_correct = 18;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n\r\n%%\r\na=[81,213,78,96,2,1,98,102, 1200,4];\r\ny_correct = 179067;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[40, 20, 30, 10, 30];\r\ny_correct = 26000;\r\nassert(isequal(chain_mul_02(a),y_correct))\r\n\r\n%%\r\na=[7,1,5,4,2];\r\ny_correct = 42;\r\nassert(isequal(chain_mul_02(a),y_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":363598,"edited_at":"2022-08-14T21:58:45.000Z","deleted_by":null,"deleted_at":null,"solvers_count":21,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-14T20:23:49.000Z","updated_at":"2026-02-10T20:51:38.000Z","published_at":"2022-08-14T21:45:21.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFollowing up on the problem in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55295-chain-multiplication-01\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55295\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you found the number of multiplications needed to multiply two matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow, you are given a sequence of matrices. There are many different ways you can multiply the matrices. For example, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003esay, you are given 4 matrix - A, B, C, D. They can be multiplied as follows - A(B(CD)), A((BC)D), ((AB)C)D, (AB)(CD), (A(BC))D.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eyou have to figure out which is the optimal way of multiplying those matrices based on the mininum number of multiplications required. For example, consider a simple 3 matrix case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(1,2), B(2,3), C(3,2)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(BC) =\u0026gt; BC requires 12 multiplications; multiplying A matrix with the result requires 4 multiplications. Total = 12+4= 16.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(AB)C =\u0026gt; AB requires 6 multiplications; multiplying the result with the C matrix requires 6 multiplications. Total = 6+6= 12.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTherefore, to multiply ABC - the optimal way is (AB)C requiring 12 multiplications in total.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere, you will be given an array 'a' containing the size of consequtive matrices. The output is the minimum number of multiplications required to multiply those matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ehere, a = [2, 4, 6, 1] represents 3 matrices --  A(2,4), B(4,6), and C(6,1)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45389,"title":"Knight's Watch","description":"  \"Night gathers, and now my watch begins\"\r\n\r\nA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\r\n\r\nAny knight's move that places him outside the board should be considered invalid.\r\n\r\n For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\r\n\r\nBrief explanation:\r\n\r\n  Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\n positions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\r\n","description_html":"\u003cpre class=\"language-matlab\"\u003e\"Night gathers, and now my watch begins\"\r\n\u003c/pre\u003e\u003cp\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\u003c/p\u003e\u003cp\u003eAny knight's move that places him outside the board should be considered invalid.\u003c/p\u003e\u003cpre\u003e For simplicity, the knight's position on the chessboard is defined with the numeric\r\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).\u003c/pre\u003e\u003cp\u003eBrief explanation:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eSay the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \r\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\r\npositions are valid i.e. the knight remains within the chessboard and they are -\r\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?\r\n\u003c/pre\u003e","function_template":"function prob = knights_watch(x,n,k)","test_suite":"%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,3,2),0.0625))\r\n%%\r\nx =[1,1];\r\nassert(isequal(knights_watch(x,4,4),0.0176))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,6,9),0.012))\r\n%%\r\nx =[6,4];\r\nassert(isequal(knights_watch(x,8,25),0.0011))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,8,15),0.0042))\r\n%%\r\nx =[8,8];\r\nassert(isequal(knights_watch(x,16,15),0.4666))\r\n%%\r\nx =[3,1];\r\nassert(isequal(knights_watch(x,16,50),0.0037))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-03-25T18:55:22.000Z","updated_at":"2026-01-23T12:14:39.000Z","published_at":"2020-03-25T18:55:22.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[\\\"Night gathers, and now my watch begins\\\"]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA knight is placed on an n-by-n sized chessboard at the position x. Find the probability that after k steps, the knight will remain within the chessboard.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAny knight's move that places him outside the board should be considered invalid.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ For simplicity, the knight's position on the chessboard is defined with the numeric\\n notation instead of algebraic notation. so 'Ka1' is represented as (1,1).]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBrief explanation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[Say the knight is placed in pos-(1,1). A knight has 8 possible moves. So in the next move, \\nthe Knight can go to 8 different positions in the chessboard. But among them, only 2\\npositions are valid i.e. the knight remains within the chessboard and they are -\\n(3,2) \u0026 (2,3). So the prob. is 2/8 after 1 move. What will be the probability after k moves?]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45426,"title":"The Tortoise and the Hare - 02","description":"Previous problem \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003e\r\n\r\nSuppose in an infinitely long line, the tortoise is standing in position 0.\r\n\r\nFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward. \r\n\r\nSo one possible scenario can be -\r\n\r\n 0 [i=1] --- 1 step forward\r\n 1 [i=2] --- 2 step forward\r\n 3 [i=3] --- 3 step forward\r\n 6 [i=4] --- 4 step backward\r\n 2 [i=5] --- 5 step forward\r\n 7 [i=6] --- 6 step backward\r\n 1 [i=7] --- 7 step forward\r\n 8\r\n\r\nIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x). \r\n\r\nThe question is what is the minimum number of moves it'll take to reach destination x.\r\n\r\nFor example -- \r\n\r\n if x=8\r\n  \u003e\u003e in the above example, it takes 7 steps\r\n  \u003e\u003e but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.\r\n\r\nSo 4 is the optimum way.\r\n","description_html":"\u003cp\u003ePrevious problem \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003c/a\u003e\u003c/p\u003e\u003cp\u003eSuppose in an infinitely long line, the tortoise is standing in position 0.\u003c/p\u003e\u003cp\u003eFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward.\u003c/p\u003e\u003cp\u003eSo one possible scenario can be -\u003c/p\u003e\u003cpre\u003e 0 [i=1] --- 1 step forward\r\n 1 [i=2] --- 2 step forward\r\n 3 [i=3] --- 3 step forward\r\n 6 [i=4] --- 4 step backward\r\n 2 [i=5] --- 5 step forward\r\n 7 [i=6] --- 6 step backward\r\n 1 [i=7] --- 7 step forward\r\n 8\u003c/pre\u003e\u003cp\u003eIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x).\u003c/p\u003e\u003cp\u003eThe question is what is the minimum number of moves it'll take to reach destination x.\u003c/p\u003e\u003cp\u003eFor example --\u003c/p\u003e\u003cpre\u003e if x=8\r\n  \u0026gt;\u0026gt; in the above example, it takes 7 steps\r\n  \u0026gt;\u0026gt; but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.\u003c/pre\u003e\u003cp\u003eSo 4 is the optimum way.\u003c/p\u003e","function_template":"function y = rabbit(n)","test_suite":"%%\r\nassert(isequal(rabbit(8),4))\r\n%%\r\nassert(isequal(rabbit(18),7))\r\n%%\r\nassert(isequal(rabbit(-600),35))\r\n%%\r\nassert(isequal(rabbit(6600),115))\r\n%%\r\nassert(isequal(rabbit(99999),449))\r\n%%\r\nassert(isequal(rabbit(-16),7))\r\n%%\r\nassert(isequal(rabbit(45237929),9513))\r\n%%\r\nassert(isequal(rabbit(46),11))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":5,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-07T05:20:53.000Z","updated_at":"2026-03-30T18:12:01.000Z","published_at":"2020-04-07T05:20:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrevious problem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45425-the-tortoise-and-the-hare-01\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSuppose in an infinitely long line, the tortoise is standing in position 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFrom that place, it can move in both +ve and -ve direction. The condition is that, in i-th jump, it can move i step forward or backward.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo one possible scenario can be -\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ 0 [i=1] --- 1 step forward\\n 1 [i=2] --- 2 step forward\\n 3 [i=3] --- 3 step forward\\n 6 [i=4] --- 4 step backward\\n 2 [i=5] --- 5 step forward\\n 7 [i=6] --- 6 step backward\\n 1 [i=7] --- 7 step forward\\n 8]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf you look carefully, you'll find that -- If the tortoise moves this way, it'll always be able to reach any destination (x).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe question is what is the minimum number of moves it'll take to reach destination x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example --\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ if x=8\\n  \u003e\u003e in the above example, it takes 7 steps\\n  \u003e\u003e but if it moves this way  -- [0,-1,1,4,8] -- steps required = 4.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo 4 is the optimum way.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45422,"title":"Coin Distribution - 02 ","description":"Prev prob \u003chttps://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003e\r\n\r\nGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given.\r\nAssume, there is an infinite supply of all the coins.\r\n\r\nFor instance,\r\n\r\n Amount = 10\r\n Coins  = [ 2,3,5]\r\n\r\n possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\r\n so total no. of ways = 4.","description_html":"\u003cp\u003ePrev prob \u003ca href = \"https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\"\u003ehttps://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003c/a\u003e\u003c/p\u003e\u003cp\u003eGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given.\r\nAssume, there is an infinite supply of all the coins.\u003c/p\u003e\u003cp\u003eFor instance,\u003c/p\u003e\u003cpre\u003e Amount = 10\r\n Coins  = [ 2,3,5]\u003c/pre\u003e\u003cpre\u003e possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\r\n so total no. of ways = 4.\u003c/pre\u003e","function_template":"function out = coin_lev(coins,amount)","test_suite":"%%\r\ncoins= [ 2,3,5];\r\namount = 10;\r\nassert(isequal(coin_lev(coins,amount),4))\r\n\r\n%%\r\ncoins= [2,3,5,10];\r\namount = 15;\r\nassert(isequal(coin_lev(coins,amount),9))\r\n\r\n%%\r\ncoins= [ 2,3,5];\r\namount = 50;\r\nassert(isequal(coin_lev(coins,amount),51))\r\n\r\n%%\r\ncoins= [2,5,10,1,20];\r\namount = 1225;\r\nassert(isequal(coin_lev(coins,amount),49884828))\r\n\r\n%%\r\ncoins= [ 11,19,23];\r\namount = 12252;\r\nassert(isequal(coin_lev(coins,amount),15681))\r\n%%\r\ncoins= [ 11,19,23,100];\r\namount = 50;\r\nassert(isequal(coin_lev(coins,amount),0))\r\n\r\n%%\r\ncoins= [1,2,3,4,5,8,10,15,20,25];\r\namount = 200;\r\nassert(isequal(coin_lev(coins,amount),119495730))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":32,"test_suite_updated_at":"2020-04-02T19:38:33.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-02T19:03:04.000Z","updated_at":"2026-02-09T20:05:28.000Z","published_at":"2020-04-02T19:38:33.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrev prob\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://www.mathworks.com/matlabcentral/cody/problems/45385-coin-distribution\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a set of coins and an amount, find out how many ways the amount can be made using the coins given. Assume, there is an infinite supply of all the coins.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Amount = 10\\n Coins  = [ 2,3,5]\\n\\n possible ways are - [2,2,2,2,2],[2,3,5],[5,5],[2,2,3,3]\\n so total no. of ways = 4.]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45416,"title":"Don't be Greedy!","description":"A list of assignments is given to the students along with the submission deadlines. Each of\r\n the assignment contains particular marks.\r\n\r\nIf the student can submit a particular assignment within its deadline, he'll get marks.\r\n\r\nBut he can submit only one assignment per day.\r\n\r\nFor instance,\r\n\r\n Assignment = [ a1, a2, a3, a4, a5, a6]\r\n Marks      = [ 60,100, 20, 40, 20, 10]\r\n Deadline   = [  2,  1,  3,  2,  1,  3]\r\n\r\nNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026 a5.\r\n\r\nHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines.\r\nCan u help him?\r\n\r\nThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.","description_html":"\u003cp\u003eA list of assignments is given to the students along with the submission deadlines. Each of\r\n the assignment contains particular marks.\u003c/p\u003e\u003cp\u003eIf the student can submit a particular assignment within its deadline, he'll get marks.\u003c/p\u003e\u003cp\u003eBut he can submit only one assignment per day.\u003c/p\u003e\u003cp\u003eFor instance,\u003c/p\u003e\u003cpre\u003e Assignment = [ a1, a2, a3, a4, a5, a6]\r\n Marks      = [ 60,100, 20, 40, 20, 10]\r\n Deadline   = [  2,  1,  3,  2,  1,  3]\u003c/pre\u003e\u003cp\u003eNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026 a5.\u003c/p\u003e\u003cp\u003eHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines.\r\nCan u help him?\u003c/p\u003e\u003cp\u003eThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.\u003c/p\u003e","function_template":"function yy=greedy_01(marks,deadline)","test_suite":"%%\r\nmarks      = [ 60,100, 20, 40, 20, 10]\r\ndeadline   = [  2,  1,  3,  2,  1,  3]\r\nassert(isequal(greedy_01(marks,deadline),[2,1,3]))\r\n\r\n%%\r\nmarks      = [10,10,50,40,30,100,20,10]\r\ndeadline   = [1,2,3,3,5,5,1,3]\r\nassert(isequal(greedy_01(marks,deadline),[7,4,3,5,6]))\r\n\r\n%%\r\nmarks      = [50,100,40,80,200,220,10]\r\ndeadline   = [2,1,2,1,1,1,4]\r\nassert(isequal(greedy_01(marks,deadline),[6,1,7]))\r\n\r\n%%\r\nmarks      = [50,100,40,80,200,220,10,150]\r\ndeadline   = [2,1,3,6,2,2,6,7]\r\nassert(isequal(greedy_01(marks,deadline),[5     6     3     7     4     8]))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":15,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":19,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-02T00:18:30.000Z","updated_at":"2026-03-10T13:00:11.000Z","published_at":"2020-04-02T00:18:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA list of assignments is given to the students along with the submission deadlines. Each of the assignment contains particular marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf the student can submit a particular assignment within its deadline, he'll get marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut he can submit only one assignment per day.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Assignment = [ a1, a2, a3, a4, a5, a6]\\n Marks      = [ 60,100, 20, 40, 20, 10]\\n Deadline   = [  2,  1,  3,  2,  1,  3]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow, on the 1st day - he can submit one among all the assignments. But in the 2nd day, he can no longer submit a2 \u0026amp; a5.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHe wants to achieve maximum marks by carefully submitting those assignments within the deadlines. Can u help him?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe answer should be - [a2,a1,a3]. Since by submitting in this sequence, he can get the maximum marks.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":45458,"title":"Minimal Path - 03 ","description":"Given a matrix, find the minimal path sum from the top left to the bottom right corner.\r\n\r\nNow you can move up, right \u0026 down.\r\n\r\nShow the path using linear indices.","description_html":"\u003cp\u003eGiven a matrix, find the minimal path sum from the top left to the bottom right corner.\u003c/p\u003e\u003cp\u003eNow you can move up, right \u0026 down.\u003c/p\u003e\u003cp\u003eShow the path using linear indices.\u003c/p\u003e","function_template":"function yy = minimal_path_4(x)","test_suite":"%%\r\nx =[1 12 4 6 8 10 100 ; 1 5 7 87 98 2 200;20 56 74 1 34 56 21]\r\ny_correct = [1     4     7    10    13    16    17    18    21];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n%%\r\nx =[1 122 4 6 8 10 100 ; 1 5 7 87 98 2 200;20 56 74 1 34 56 21]\r\ny_correct = [1     2     5     8     7    10    13    16    17    18    21];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n%%\r\nx = [2     2     2     2     2\r\n     0     0    10     1     2\r\n    20     0    20     1     2\r\n    30     0     0     3     2];\r\nx=flipud(x);\r\ny_correct = [1     5     6     7     8    12    16    20];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n%%\r\nx=[131\t673\t234\t103\t18\r\n201\t96\t342\t965\t150\r\n630\t803\t746\t422\t111\r\n537\t699\t497\t121\t956\r\n805\t732\t524\t37\t331];\r\n\r\ny_correct = [1     2     7    12    13    18    19    20    25];\r\nassert(isequal(minimal_path_4(x),y_correct))\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":9,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-04-14T22:57:31.000Z","updated_at":"2020-04-14T22:57:31.000Z","published_at":"2020-04-14T22:57:31.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a matrix, find the minimal path sum from the top left to the bottom right corner.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNow you can move up, right \u0026amp; down.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eShow the path using linear indices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":55355,"title":"Chain multiplication - 05","description":"Following up on the problem in 55305, you found the optimal way of multiplying a chain of matrices.\r\nIn problem 55315, you had to calculate the number of multiplications required based on the positions of parenthesis.\r\n\r\nThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\r\nFor instance, array= [1,2,3,2].\r\nSo there are three matrices A, B, and C.\r\nyou can multiply in two ways - A(BC) or (AB)C.\r\nA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 252px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 126px; transform-origin: 407px 126px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFollowing up on the problem in \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55305-chain-multiplication-02/solutions/new\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55305\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you found the optimal way of multiplying a chain of matrices.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn problem \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/55315-chain-multiplication-04/solutions/new\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e55315\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, you had to calculate the number of multiplications required based on the positions of parenthesis.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor instance, array= [1,2,3,2].\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSo there are three matrices A, B, and C.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eyou can multiply in two ways - A(BC) or (AB)C.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = chain_mul_05(array)\r\n  y = x;\r\nend","test_suite":"%%\r\narray= [1,2,3,2];\r\ny_correct = \"(AB)C\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [1,2,3,4];\r\ny_correct = \"(AB)C\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [4,10,3,12,20,7];\r\ny_correct = \"(AB)((CD)E)\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n%%\r\narray= [7,1,5,4,2];\r\ny_correct = \"A((BC)D)\";\r\nassert(isequal(chain_mul_05(array),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-25T00:36:44.000Z","updated_at":"2022-08-25T00:36:44.000Z","published_at":"2022-08-25T00:36:44.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFollowing up on the problem in \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55305-chain-multiplication-02/solutions/new\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55305\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you found the optimal way of multiplying a chain of matrices.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn problem \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/55315-chain-multiplication-04/solutions/new\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e55315\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e, you had to calculate the number of multiplications required based on the positions of parenthesis.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is a combination of the previous two. You have to place the parenthesis in the proper places so that minimum number of multiplications are required.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor instance, array= [1,2,3,2].\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSo there are three matrices A, B, and C.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eyou can multiply in two ways - A(BC) or (AB)C.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA(BC) - requires total 16 multiplications, while (AB)C requires total 12 multiplications. So the later one is the answer.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":57760,"title":"Easy Sequences 101: One-line Code Challenge - n-th Digit of Fibonacci Sequence","description":"For a given index , the -th Fibonacci number,  is defined as:  for  or , and  for . \r\nWhat this problem requires is find the digit , which is the -th digit when the Fibonacci numbers are laid side by side.\r\nFor example, for , , and if , .\r\n\r\n--------------------------------\r\nNOTE: The following restrictions apply:\r\nThe function should only have one (1) line of code, excluding the function start line.\r\nSemicolons (;) are considered end-of-line characters.\r\nPlease suppress the function end line. Keyword 'end' is not allowed.\r\nImporting libraries is not allowed.\r\nRegular expressions and string manipulation are not allowed.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440001px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 377px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 188.5px; transform-origin: 407px 188.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor a given index \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ex\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e-th \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Fibonacci_number\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eFibonacci number, \u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAoCAYAAACb3CikAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIqADAAQAAAABAAAAKAAAAABIyrn1AAACTklEQVRYCe2XT0gXURDHNa0g7I8Q2sGDh0iCRDwUQigigqEhdAvr7kkoQqhTHiIIEhS8efASdAjEi9FFD3YrRElEjCCJSgQVrFNQ6edrO/Ba3v52f/52DWIHPs68ebPzZmf3vd9aVpZL3oG8A8V1oDwm/BnzPRAX50sziHPcN+HzVfqcju82djVMQZvjf439EnZAOU7CBbgK50Gy/kel+3eMdLsB39Fa2CcqahoUW+sLiPIdiZoI+S8541lsFeOTnzjVvU+w4QuI8iUp5AQXtzgJXjm2z/yN861volRfNwnssUjXJ0hYkSDmr5AkHelyrljFXnPGMs/BJpzWIJBfZqSptbh1ZCSUWDfyHN6E/EUP47ZvPRm1LU30Al4B7ZqLcAM64D5kKv1kt24U0nZ2ZFbMpFPIHPZlaAV1Ygi0Xd9BpqLHppPTOnHPs9oKvocef6ou3bkVIe0earbQVoTf5lPRj8hihXzxZNSOeeDxp+7S6WiFTKSePWHCs8TpULJCbia8LvWwPqcI/XaosFLkWOhifd9oM8TKDBHWjeXY6OiAu0wtgLr7NAjTd81X+AwFi+klwIqQXoeivi2IN6nBOAXfQKdyAyyBTuInECnvmXGLMFt3VEpnXgR5P6Kb4Z/JHVbWTY1GVaCz4DDkw2EsErfGcQLmQR2R9spB/k3wJirgHGZuGzqhFapBx0EV6MXdl4Lbx4IOoLWg+AGNcA2OQjsMgMa3IHN5zAp6FItwJlhNW1e7T1v5euDLXOm9aIJwx+vw6VzJJe9A3oH/pwN7Ko53GpRHxG4AAAAASUVORK5CYII=\" width=\"17\" height=\"20\" style=\"width: 17px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is defined as: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFYAAAAoCAYAAABkfg1GAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAVqADAAQAAAABAAAAKAAAAABfdlBJAAADFElEQVRoBe2YW6gNURjHt9shuR0JhdoPIkXiwSWRJCQpz3iUJ0VeKHUe1EG5pLx49ybFAyFKeVES5RaJQ3JScj0v7n5/zarVNGZm71mTPbO/r36tNevyzVr/mVnrW9NomJkCpoApYAqYAqZArRVoMrvjMKXoLM/g4AN8bIMdRW/eQf1nMZbT8A1+w2xItZGptY3GNup74Tys8treJH8JPoF8jIc5sALcTQfJV91mMIH9oJekp4zJnMKpnpT4AhIyySTyRVC7aUkNKlZ2jvEehO3wHZwG7uWhqJjdoLtzeiHDlZ7uy4w2Vax+wKCdBpnCDs8xw7G0Wea1u+zlk7K/KLydVFHxsqHQ49+IQ/eklDZz3GBEjjZVa3KLATsdgryx6z0FnpAf8K6VnQ7vYKIuIvvpMt2a5lkKNnjixJcB9T8Bz0ERglmkgHbxNGtSqTDK2VsyS0BRwTzYAmtgH5RlS3Gs0K6o3cHBuqJO8vbPEtZfBuSz/x+OFZaUZRrj5ADOJwTwkdtFK8LqULAXxoCOdAvhADyCZ1CWPcTxzgDOXwXwEcSFRNe66XZCiRq3xxT0xQtreh0sKliOQP7ncyVBsKmUlbkMJNyyGkVpUYG/vr5hOjp5+Ka+RyFe7rfp2nzaGusLezVBIZ2wDiWUhy6qVVSgzWmxp1DSMuBVl5qtVVSgeM8tE9q8rhWUrof++pfpbBgZHXt/uIKUtFOiAo25sF3Hg4sGNLF2bQ8d74KOuFqPZfqvqzX7NaQtRVR3lA0wGqfJ/HZGttlzIEeD0O6/VUUNiiw+g05tc+E+6KR2BKpg+rJ2gxNV6TEYBbntKS19By6vN67Im3s28vuCdBFUxQ4z0CFwOvipYvz/HhG5J36yKooWHafboIr6yepf5pE36961rR/NzPRnSZ+R0q6wICFEhlJa6N/DWlgJvaA4eRxoI6ullRXuSEDxFRaAfpZrF10Nu0DXW8GsRQX6aa9P/x5Mivoq1FJ0odBrU1RmSYsKaF3V/9r4FzGTMv+PWYturbkpYAqYAqaAKWAKmAKmgCnwV4E/2bubgdXiCasAAAAASUVORK5CYII=\" width=\"43\" height=\"20\" style=\"width: 43px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAACV0lEQVRoBe2YzUtUURiHLQxMbBNWgkEYpetW4SJaJJpYIPRBi4RAYXTZtn9Ag1pEi9xYm3ZJQa4kcmGBq5Bo0SYSEWwh1UKRWpQ+v7hHDs6M95y5g81w3xce33PP53t+956PsaHBzBQwBUwBU8AUqAMFDhLjbRipg1j3PUSJcws+wxY8B7NEgQP4a/AJJI4jSCQpmwfrZ5JDcB9m8jDhrHO8Tgf2JaWouJFSXlScl+VWNPGYjMaUyocp74Fz8Acegf8m+nhW+Tt4DbkzbXLrIHHcGn7gqfDQy5dwzV5ZLScve3EHnW57TaaTwhY4CRJBQul+IbsLynsKX+ENhNhLKn2vApdCBitTp6oi+WO84sF9Tb2kf4GWWqxJTNdPFq+JVmrRIqXtSS6QeRKDycMsXstOPtYmaPAitlGJ+h9K5P33rPNE4N78Mul62X9KCRf9JYVeARYZTUtMpre4+S+Vkz+hImlZuqO/Oyfa7EwzdE/SHtSatGrDn4EvyXOM0+l2MaZBmbo3yX9bpqzq2SEiXWHUAjyBsSSCC/hKRDpCu6NJH1ncoSyNY9umiXSCDqdAX5JOplHQvx0k0jNQsI/hHvyANKuF003xZzKJNgBnoQnewwI4MT+S1in3LcmbxM9B5oHpY7/sDgO5k3q6kkGHvQ70k2QNTnkdjXvlq6R1e/bLvao1mTxNVO5FSyjNrys20hs0cCpr+ew+yTrI+53U+YnXsqsHayfIFfgLbn7OK28JChBsujjqp0e5C+Nxyq7CMTAzBUwBU8AUMAVMAVPAFDAFTIG9FNgG8tGVnS2kWTkAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e or \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e2\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAAoCAYAAACCewRHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAA1qADAAQAAAABAAAAKAAAAADl+puhAAAF5klEQVR4Ae2ba8gVRRjHzTIrMFMjwyxOkFZkWAQV1WsmlJJdLAKDCkGCiLQrQVCRn/oQhnSjoiiItwvZjajspkV9kUoSuoflBfM1KLpTmW/1+/vuxrTuOWfPnp1zdnafB/5nZmdnZ2d+z87OzuyeUaPMjIARMAJGwAgYASNgBIyAETACRsAIGAEjYASMgBGoF4E92jR3kP3zUbt8acXcSOJDaTsCSzMGfh1WSb57tWF2KfsnoBfQLCfvu8RfQT8hlTEOTUenoiOQbGgkCP7XGPh1Ya353gvbfyL9QqiOlGbqZC8j5Z2cliHgNGPg13mV4js6I6sZTr41xNW50mwniRrdtqBv0zIEnFZ3Bs/ju3fQhZ58WCm+WTrWfoA82YH5qhNPi/5N4vtpOwJOMwYj18AAPpziwY+15Hs2IOPHQIWNDGD3zJAnpCzGYGTOLP8v8eC4yvHNMmLNdUB+QXyTs63oweg7NF4bkQ3HkYqExsCvIyvHN0vHmucwTT4G6vgV6GukFcKqmjHw69nK8W233N6Ap5bRY9OCxIlIq4JHowvQHHQT8mUnUbCW9ru1dRRwVo5CGhzTbwY5qh3MIbXkewXucedXzeLxuysf3tS7sWbn7SR9bc7KlYFBzqoXethQ5Iei51iV5NtuxJrruEYvhW9A+6AD0Ux0C/oUbUC+7BMKFvxubUvOAsrAIGfVgzisdnzV6TRvikcFdaqkfUbCbcnECm3XicFz+O37FtJrFF0Lv7XIo+NPQ1mtTnz/Y6J3FnGnUui+wIszCWRaerw/9DBEBmOArhH+mg7hv0F+199542d0cN6Q+Gqh7nL0GHoJLUPTUKrpjtHM3CF6G5k+TmTUiZanpCeyBb0ZEgP5chHS43kDPYg6sWVkXtnigLi8Z8ijTtjM9Eomq4XCV+9lV6EznYbp4/QlSCuaHzjpbaP6eiK+az3aNre/DFoVbPWIknXf6zmqWBYGWap+PJkWovuR/PYAKtKGKEzl6mIqykLhezUN/hwtQAehRUgDjXisRplNixPDSAdKF6N+Wb9WBcvEoBP2l5BZPit7xwqJ73vwnJFwwlER5z8Ixyb27frLRzJN23rfo0c9mZz05q5Y/p+9OXSHc7j+36XhdaeT1izar1XBohmofZr//OU0NMnF2VX5aCh8da0+gjRCuaYR7Feka9j1qZtnt7iGt3i00oWd167jwA+RRr/lUSGzCLehrajVHC/K3regKAbTacFT6MdIUwnVbk2CxeVKVKSFMmKFyjf2lT5GVh/Rvzl2s3hUcnecx8YcJ2Ei8cnOdifRx8l8OtIS7WXoSHQfuhtpX5YRi2w9tyIZfEPtFyN9+jUenY/U/j/RPWg9qptVge9A5LTBLM77kkzxSOWGurN2M3KtjMrdSKhJdpnNF4NjaLSYaqR+1iOAso9YofONXfc2kYfjjX6F13JiXVR39asCJTivntV/QDtQ2hPAfNL1B9Ks0hcwaearY2nklQ+LXBVMq3/etF7xVf2Woo/QvtpIs17NcTaknbxmaboov0InoLTJ7nbSn0BZTF9BpJWR5di8eTQ9mIQ25i3A83G94juPdlyPZqPfUd9MS5HrkBqusK62kIZrTikO53qE4GvE8ljlQoruBd9TqKluLForcK3Z04Obp/D4nZR4M3oL6cIahw5Hx6K62KE0VHPUi5A61h1Ipkl80VbHjtULvsfhqE0ouUagBSm96P7fY6GvR8EBTiRp5UsdSMPnGDQbLUXa1gVQZdN7uluRPvHRHPMqtBaJyQK0HR2CXkRFmv4vJztsJKjsby/5aoR6LSK5wiGq/qPr+2nUk8fC2zmR7szr0QFIpsoNo5/ROajqNpEGaiFC8yEtt8c2SERsVqGxcWIB4TTKWI20OKLyxfpJpLlRFa1XfEcDbzMS02aKb2beOeuCmYmSI+JU0vb3fvbynKBBVaYkqqM7rV4am3VPoEERxrd7jlaCETACRsAIGAEjYASMgBEwAkbACBgBI2AEjIARMAJGwAgYgTIS+BcOyixUEP+2tAAAAABJRU5ErkJggg==\" width=\"107\" height=\"20\" style=\"width: 107px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADiUlEQVRoBe2YW4hNURjHx4wxTMIoJjEhzIOHIQ+OScqlZl5c8uDBi5III2YeFGFcosmtyGU8aJ5ISYQnkSYpJQ/mSe73e26Ru+H3z1m1OrN3c/bZ6xxOZ331a62197e+71vfWnutdU5RkRefAZ8BnwGfgbzKQI+8ijZesKV0nwY1UA334Qpchc9Q8DKODFyH3wG84VkCClrGMHqtlKAEmWcfeT+9ULOk7eQS/IIWGAIlMCrZ/k5pEnWN+n8hVURRmcNIavGlJKwP8bk4+V46SmRFiF5OHzfjTUt/LwzNgedt+LgBxSG+tNJug1lNs4P0wjoH6bp4pmD6wEq4C60wArIlAzC8CTpDHCieDutdmJ6l0rWqAc0CrYB10BdsqaexEwJnwFZM1ntTroAnYGbvB/U20Ab7L+QITk0sY6MGsJ0O2vX1rRojuywju63nn6iXW++6q5ah0ACPwdj+Sf0oRA6UPnHkMp0Vw81MjOjCpZUzDJQEGdL3LWkCPdMKuAfnIRNRspaDnaxO2idgPGRbBuNAK1lja4zr7FTSkIzVwVfQp+ZKemFoGTwC+TCcpT4RsiWrMSxf2pdK4zrRyjGBq9Q+lA1RspbCQ7D9naM9BVyK7kzv4QtMcGE4gRETtAYQZf/JxL+StQQegPGrsh2mQlzR0X8S9GnPi2vM9FfQyrgClfFcSD+cbAE7SRrUAQfOjV19bs5EK+c1KODnzqwGG+rP4w3wFkyCdPLpqHZx8i1I2m2hdCoHsWYCVjnaqfW/xpScjfAOjC/9tjoM+q3lQuZgRKdZqwtjto2ZNHRXshO10FaIWTe3Yjs5+rT3QVVM23b3GTR0KusuVmy/sOoV1Lda7bSqlWi9BF0sZUB7gma5DSQ6Ng/BQDUiiuxtBp0wZuXo8roD5NelTMKY7nVnoGeIYY3lNBxLfa9d3hYZqIdboAveBSgBHb/aFzqgBl6AZnk/VINmSQNNR5ScJlgF2pwlSpRWzh7QXuRSFG87yO9x0CpNFU3yZFCpsVyEUFnEG3tWtVkPt7S12Zn3z6jrXz37vaUaWJ3L0w9gbLyivhZMsqg6FU2gJtT46668g27qwukSkO4MxpBmtDZFYyTtb0kd7SFaYVGkGWXZfwqNUA7ZFP1cMuNJp1yTbjAJFOsgbAD6vaN/BgZBVJlPB92oy6J29Po+Az4DPgM+Az4DPgM+Az4DPgN5mYE/cbXxvE/rUlYAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eWhat this problem requires is find the digit \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAoCAYAAACSN4jeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJqADAAQAAAABAAAAKAAAAAA7wp46AAACvElEQVRYCe2XS4hPcRTHx2DGa8EomiJZkZFoJilWHrPBjjSSDUvbWUxNymI2JorFTCSTNM3GhoWImpRHiYU80iglokQzNB7z8Ph8dX/9j+v+7v/31/3fke6pb/ec3zm/c87v/J63pqagogJFBf6tCkxLSacF3UUwN8VmDN1zMASeAdk/BLnQHqL8MJiA7wT7QTvoA5+BbL6DC2AZqDo1EsEm1pUQcRFt143dC/jlCXaZNm03AZXgWo/3hbQrITcITe0Mj20mzcdNsDfwaetyk7FVgpruqtFjPLsqnCsTRUmPGPu7Zez/Wr3EBFFybQGeBk2f0QD7RJPaxNZS47YS+2vHXTOyj31kFDpqFhs5mC2XWKvxdB/+nZF9bH1MsSAmB4lpiUm31Xi5Yvg0VseLpddWyIJvxolb9PpuDHCqxf/W9PsQ0Kdikw4TYBh+eoCHdaaPBtMX0Kdik0ETRNdMCB3DSAk5rA7pVInNPIzHTICDAZ118ut4cEmFrskA1yWTHSaAAi0tqbxcr+kzDh+yJr3OfIqTJsgTn5Fp19XjKjUJv8voMmWfmkAnUjzXoTsC3LR/g9+XYi/VTKPXkWRlo/qTXUGTG72+vvWlC1vVdLa64NtAEu2mcQBowLeBdvhhoHv1I2gBv1H8WdKAVq8JS4cQFPwTWAmaIojXufUSHAVnwFeQRHdo1GGtQXeCHqDNchPoWbUB3AOJpFFNAleB+Fev01fgFugHXWAv0HSG0FmM5PM0OBV16I7atkTylHxUWSV2A9RHGaiSqvLsSM79s4qIbga0BETzgWYo8cWSdomrc1bUGjnSNGoDiDYDbYKrEqaKLhNYFVtjEtAGcG1aq7OMLhdW60k7eigW7QHyF3AAnI/pqvsXEwVbz3cOuBQL/h5ZSe8EvvMv1iUfUc/uxnxCFVGKChQV+I8r8BN9PqxA5cOzLAAAAABJRU5ErkJggg==\" width=\"19\" height=\"20\" style=\"width: 19px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, which is the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e-th digit when the Fibonacci numbers are laid side by side\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor example, for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADGUlEQVRoBe2XS4iOURjHZ1ySy4xcSiyISCLSsCCl3JONBRsrJaVkLKRs2FASsbBSQ5ISRZOFwmiaKQu5jVggucRYYDEYZNx+/897cr7jzPeed3z4Luep33cuz/Oc9zzP+77Peb+amigxAzEDMQMxA2WVgdqy2m1xNjuHZXxx1zG/M6GtOJcqz1WWs+3vBehEN7A8QyverlsKJEjJ2+W7lO+x89lVwlwDQVyHVmgHV14z0QTdrqKaxqcI9itMqaags8Q6CeMvoCepPotjNdkeJlhTsPU03YH9MBP+SEbjvRS2w2prpQn0N8NBWGzNl2p3FBtTnTFJcttmdGOybv4ADs+dRdcli6ynfe/o5ia6Um10U8/DY/gGbpI0fgbjIFimYrkWPoMW6IERsAX0XusJugDmYpvoh8pZDN8Ugb4+wUO5tm7qMdBrZ2JQexP6Q7Dog+odyPkK6HX7AMtA0gjmAityM2E/lyw/49+XNss1e9vZbBRXnf2YNybPZ0De6NdgHt1hyVBF7jhshIvJnF3wOpK5kGYvRmdCDFNsbqToQ9S3MFKydeKZzwKVk5MQJLuxMnf4Kf0jjtf9RH/XmS/H4Qw2rTKieB9mCeBa4iTHBzDEch5v6VTkK0HuEYRi7QoNRkemXdQWOY4bGJunTH8YK0FOEIRi0lvzm/hq0hKs+iWWqkEq3Lbo20nyCdpyvfAfnW4Lw817tdTp29KrNrtCsUhe/mzyf31JMieYLA/lm+eSZ47fdnQfHX3asA6DkWlGAXqdvsWUWclizb5FCyXpFQ46sm3RsanXUWJOuib6elxbIU1K6XQze11AR99OPaBYUmUaFqbeuCeanLdaeiVsD+hEGA6lKIPY1GXohHMwGWzRDe8AxdxoKwr17SSs8hjuY84kUa9bF9jfTB6X/zqlvZn9qlV52AH6V7EGdHJrfhsEy2ks5dQNgz1eK5kz/39e0J/vsSm1qaPWnu2EKQ4dJA1pG65NM/DopzNXD7cha+H2LPdPpiZyFX00joW38AQegepulJiBmIGYgZiBmIGYgZiBmIGYgb+XgR86bt7unlNPCAAAAABJRU5ErkJggg==\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAAAoCAYAAAB+Qu3IAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAWqADAAQAAAABAAAAKAAAAADKbjgYAAAEc0lEQVRoBe2aa6hVRRTHj6lpPhK1ru/6kKD4QRQjDXyBKD6+iVam+UBFRD+IoCQqiC9U0A+ighKpSEWUiohRRPihJBGDIBVR8PoOFZ+Ej66v3x/OwGIze5+559yr55w7C/7sNWvWWnvW2jNrZg4nl4sUMxAzEDMQMxAz0MQz0KyJx19M+N0x6uExVC4Hg/FgXLK/RVJg2h/CHwJtjSzJPkFwAZwD54H0/wHVTPsJbkhGgAsz+jK7PqX3hUEd/AowHSwBu8FDIJ3n4EfwPqhGGkZQNhdJ/gH97X2Bh5SObhheN8br4Zebttga8C0YpQZ0GYwEtaCa6DDBjAWbwDNPYD8hO+6RB4kmoGW/3IAUq87ILxldlZKs0pTipmzF/RiZVuy+xhrhFhy7RP8Ln7UKhhpd2ai8VAt9TSCKaRLIykHR8Z7Ov0Av2VvAiwZwz+ifKKBfKd06aWjjdxPuNrzKyBcg67BAdxj1RM0513NKgNlRY/NfgH4lqGw0Mdl8iL8DPi8UxBsFFEabftWnX007jT1lOvS1u5h2pbI3GbhWp2/idET+DVgJiqbvsHRfMLQM7DI2su1b9Nv9hgcQa+mWCndC8r/FL1VpfA9o76kFLjfuORFZvUmz/RZwTlYHelDtcjZ6vh1oF6qmVWX9F8vrmFYKtcJ4KbC1+yxtb5XI2j0HYXQSONKJ4phrpDzl7wZ4N9+vA3yHPN9QD83EDxrA2UF8aCKVSvNxsMM40aXmD9MuyC5Dw82Wu/DNC1rkcgONjWx3B9hUg8r3Ju6pvoCyLhRjjMFv8M9MO42dlujYnGj3op0cSH9ke8EvCd1Kaupnh0/yA66pz8DboWxrz5wAY90MtSu7VfCzx2a76Xd6l5GFrBaPu7IRqZS5eGb5RpU2o0ei/KYxCJlta9F3h/c6+DXGXuw7YAaYB+4DR3/DhKwWp69TxwjXKOGpGaiV2hD02DjR7TmYtqLpvtCZACsdd5z+U/hJHptVyH4H3l3Zo58mKpdThx3feBqKX3vZW7bD8Wkz2tZnBZZGmvXLwZd5BV1qZgLVLEttaCwEKi+6oh8FXwEdBetLGzD4ob5GHv2/PLJiRYvzhtprHoU66YOim516ptVnHfc0252ulswU4KOPEJ4HKhFOX08NrNQZjotGJV2va4F+81kAkuOdi0yx6AxdA4KoE1pHgE2Gauhs8BlYBTSblGDNXulpM9NsbQ0KkZbVKHAcuHcsK2T0mvu1J7ix6vknGA50z9gCJDsHuoMgmoyW6qt1ankl9irQpUV3+3VAX9tumjSDqBla24D86yqtdrmSVuM1YHPheMkXAZXGTHqdAbZkZFoZvUFXcAOUK2msHwPdA5TUK6AWXAB1oOxpDyPU7AhedmUfUcoAk4U9Ra3RxP/j+SG42WhviI5zrcjBRaBjXqQGysAx/FwC84D2Ba2knUBHvqovG8T4ykh/rHE7tc6b2kT2gCaT5Fd56uhDYnuAO0CJ1m/VkWIGYgZiBmIGYgZiBmIGYgZiBioxAy8BU49B0T/6PsEAAAAASUVORK5CYII=\" width=\"45\" height=\"20\" style=\"width: 45px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, and if \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAkCAYAAAANdf2OAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAWKADAAQAAAABAAAAJAAAAADbokXeAAAEI0lEQVRoBe2YV2hUQRSG1xK7EVGxYEGNiNgQGxYUNFb0wQcFFUFBBEHUBxF8MS8KIhYEH8ReQRQMoiJWJKJiL+iDJViwYUHsvXy/uUMmN7N3b0ww2WQOfDsz55yZnTl37pnZTSS8+Aj4CPgI+Aj4CFTSCFSrpOtKtqyOGAZCD6gD5+Ec5EMc6YOTK2YN0S8OyIszUGXzyWBBOfANfjvYiq4GRMkojK6+RvcUu76nSsoGVm0CkazMxadWRHROpBgjx9XXtd1dfumsG8Hkj8ItmAdnoDb0hxXQHYyMp3LQNKyyN/VLcApOQ1heodgEH8OGqtA+wiIfQ3PHYuuiuwdmV692+Ei1G35CJzW8FEagAdWvMLlQVaw2DY0J8JVi1kSiA7ofoB2c6bBXaZVuC8cg6gDrht0EWEEMy1oUxq5dfANWgMYulTSlt/LXQphgjdSO+hzQ6zTc0qdrNYuJmwDuCS2iCW3lVWMPl/uxuVJPaJiizZU0lbPswaYGLjMoP4RsfQNbuhbZ1nqmhBbRjvYBuA+/wI6JqT9C3wpiS2c8J4G5M36n3hjmgnKRdu5hMF8wm3pc2Yfj6zKgLN+cNcxHa3kO+vGRTOpj0GbaAkoVZv0qr0BUGsJcVDJovgd1PglKEZ9gJEh03TFfMPqvJt6H8qHpV5qyJN8ZNbN6GF8Ec9Kmiiu9cDwL9hrMW15kjJpFWoWNAVQbBE0l9W0wC3SflNgJ/nqBKtbnMrz2xvKMdrocbY5tzcGzGSj3hvNv1CBXMeoh61A0Vzelz10QS5bgZZ7OQ+rrQ71uB/abIX06NfswWaW/C6D78L9INzopbSpWd0sygL7UBPgO9XpW57aWTQdiOkprJv0E8qFFKRdwi/6K1du44+hqYifxYaGOM2mb4OsPkHSTTCasV1wBbl8Gk9/BGIqH3vRi4srB2XhVDzyVc3XI2TIiaHyhzLMNMeq6RQyN4ZfKRQfSiVRODrtSga5dbWAI3IfSiuIgeVZQpP7chIvZoWNC7gr8q8BuDryQS2SzPG8RGczsELwDXbeSyXQM/ZIZHXqTThc5bAnXDjZXsZd0UEBs0fVEKURiAqwHotfkFKSS8rpFaGPshGGgTXMRXKJdvQ56uowO3WB0elg6LBWHlNIFD7N71zu851t2BXsp6PRsBBVVqjGxjaB1PYWtDrajU17+CXkg0V+ax0F9ciELbNFG0xVV486zDVF1O4DjHI7L0ZkHcJq6Tk77TuzoUu6qVczAzDlOOS2YsdZl+3+mrTSgX7oT4Q7IvgBiyx481ekj6EAIy1gUv0A+T2AgVGQZxOTsIKWqv8HfXvdm2ma9dl/pdGD3hkjR61NS6UqHTLgGeqqVXXSV0w+KlqAD8gHkg84oLz4CPgI+Aj4CPgI+Aj4CPgI+Aj4CPgL/PwJ/ALG4VQ76ZkD7AAAAAElFTkSuQmCC\" width=\"44\" height=\"18\" style=\"width: 44px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAZKADAAQAAAABAAAAKAAAAACyuGsJAAAEw0lEQVRoBe2ZWchVVRTHtXJokOakCekh6iHCwgrKikaCgiKaLBussJemlyCpB1+EXhqIIhpIfegpGySiGY0GKgsiLSLBVCILGq1E04bfT87OzeGefc659+Z3vXf/4f+dPay9ztpr773WPvcbNy4jeyB7IHsgeyB7IHtgKDwwfihmMTiT2A9Tjm5hzmfIbonlUwsyA8GlcO94QKmssjXwK7gaKr8SjioeYuJ3tJj8NGTXt5DfLnolf/+JuJXyvfA6eBdcCDdBZf6GS6AvGjXsyYR/hrGvUmU3cVc4lFGx4gUdtBxC25uR3DrKR3WQG+amOcX8V/C8E14LZ3fgb7Tpz/tgV7iQUfGCTK/QciDtLkSQNYTtUSE7jM0fMqnX4cTE5A6mbxvURycl5JJdDxQKVLIBjk9Iz4xklTesjQImM8m3oNEkhbl06hc3btf4nJEqkYtrtLhYvxSyyn9UIz9q3W8Uvnmw24kfUSgICzKrgaJl0ZjfG8iPikgcrowkHbFbx9YdjeftKG6/QbnCdVgVCXhlnhrVR7l4CZPfHX4H369yRF3SPT8a+AnlH6J6VXFSqWN/6t+X2nZG9XlecmYfXnQFOswPveLyQsELPP086IjUgnh6zo1GvRqVU8VyYvs2Jfw/9k1B9wF90D+hDzoOQsdZhZ7nUvpSC3ICA1UU8FooJJ4m9VOi/o2U5VjAe/6zfXixkaFXGK709Y/w7W6VzWNgSOZ+gRr/6uAihjE+F9YNGJF+N7P+eLpuvqkTEucPY+hfdcron12SuT+qGwJvhGdAQ8nH8BnoB2QZR9JwTanxeOqLYZOTWho6plU/mM8uLEiGq5SV+9C5BYbdfnNKuOjzxV5zw5g453i6/IoNfeHpJWEGLONRGoJMeK6nrckpLesa6/pNxVx+5TmxW2MuKpQEZ7hj6/AYAkH+T8qnRQNup/wlNJb6u9f1cBVU3tMXw7zlws6F/rAZeAzlNvCWZczulee0eWkHWTem8zQadI2HGRmc+0UDLf5EEuS3Ub6sNMYv9uNKbcdSd8xmGF+V51N/BxrieoHfTMGmXp4X9GCEUWNrYcelTfRU5ZA4fzixKngE74F3FwLer2+AS4q6D29eJjNPRAxPjCfBBdRosRe8FToRf4JZBp+CL8G2GIRb1sUYrY83QU9KVzA0xDuqKn/MRM7TE2Q3UJ4Fm+IwBB37YjTgZMqroReIoNenybzXE4OKnY5XeKP2xxu0lRHefl4ulASHfErdxHQVnA+927sQngZlTLbu6smwDcwNji+HN3X4zx5j9wcw2DGP8q4EfWku1f42G/W/Ofppb/gIDig/XYBv4HvQBLUAXg27vTksZ6zhKAXD3SNQW0zO1ncVzMFQ7d4Mpwy60bdh4EroSajDBAQMY05uap3wAPVPw5bT4YkDZFNHU7y1fA01uCkWIeiCmHcy+uiBU9HlYpS/KeryzxOM+QN6Y8nokwemo2ct9PeuGPtSWQGrwtck+tbCunyDSEZTD3gi/J+IXB7xXcr+pPAkFF4Y1sFboAncq+7j0BySwxVO6Ad0qk42B1TR7w+xFAYZPxzXwEVwZBbDXTho8DQdDn+CLshGmJE9kD2QPZA9kD2QPZA9kD2QPZA9MDwe+BcXQUOCFyk7ugAAAABJRU5ErkJggg==\" width=\"50\" height=\"20\" style=\"width: 50px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 114px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 57px; text-align: left; transform-origin: 384px 57px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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EEAAAQQQQAABBBBIuwALmdNOzoQIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggwEJmXgMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHYBFjKnnZwJEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICFzLwGEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCDtAixkTjs5EyKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAC5l5DSCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBA2gVYyJx2ciZEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAARYy8xpAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQLsJA57eRMiAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIsZOY1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJpF2Ahc9rJmRABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEWMjMawABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE0i7AQua0kzMhAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCLCQmdcAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKRdgIXMaSdnQgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBg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HXfIAQccUPZuq7ZtfT+tWrVKXnjhBRk+fLh88803UlRUFOdeu3Zt6d69u9x5553Sp0+fuPtt2mFbTlu2bJFzzz1XJkyYkBLzWWedJffff39KjzX5INtyKm21detWefjhh2XIkCEye/Zscc+FZb/cD0S5H+b461//KgMHDix7tzXbUc5J5fcFtp8no5KTie8LVL4OdL8xo5KTydf7s88+W/w9ofuhKneRnmtSr149OeOMM+SZZ57RHUGg+qZz0v19ge76gZAVDDKdU+mnoPv7guXLlxe/b0aMGCELFiwoPXXxbdeiZcuWctVVV8kll1wi+fn5cWNM7UhnTun674Hu85ju+oleC7py0v19ge7/numunyiLZPt05aTjeV5xxRXF14mSPZ+g99WpU0dGjRol++yzj/cQ3fW9iVK4oSunFA6FhyCAAAIIIIAAAggggAACCCCAAAIIZJkAC5kVB+5d7ItYR2ZVC5lz2jodmf9LR2bFL5uUy7mdRm6++WZ59NFHZdeuXb46AwYMkKFDh/r22bbhvZ9sO/Ayx0tOZUAisOkuhH3wwQfl3nvvLe7qG+SQ8vLy5Morr5Tbb79datasGeQhkRpj4/tp+/btxQuT3QWXiRZalgd89tlny+DBg63sKGtjTiNHjpSTTz65vDgq3O9+WMBdEGbTl405xXxffPHF4u8d/o+9MwGzojj398fOgICA4o4issQFNRCTqHGNxi3xuqAYNeTmGuG6RCUStyTGJLhcRQOPqLgGboyiosR/wKvGkKhJTNS4K+BKhLig7JssM3+qk26655xheqmtz7z9PPOc7jpVX1W9v+rqmj5ff52F+T777CM33XSTDB48ODRTik9fddK5LqiFedIHnVysC3SOAxsnpA86uR7vKnL97rvvLqodjbdevXqJctZ0vfmgk+l1gWn7NjT0Qaewn6bXBdOmTZMzzzwzisAc1tvUp4rQrB5gPOCAA5rKYi3dlk42rwem5zHT9quJb0In0+sC09cz0/ar6dBcmgmdTPazZ8+eqe8VNdd39f2UKVPkpJNOirKath9VlHHHhE4Zm0B2CEAAAhCAAAQgAAEIQAACEIAABCAAgRZMAEdmA+IHN/3KEJG5rrW02rpNJgIdv72V1B25ZaYyXmaugYjMjz32WBCFWb2atdpWC47Mql9lv4mOTtVGp/u04447TtSP6nm2I488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p3g72IcABCAAAQhAAAIQgAAEIAABCEAAAhBomQRwZDage3DTj4jMBshqNElEZo0wzZqqtZvoun6YNEs9u/Va0ylO4Morr5TLLrssniT77befPP3004m0MhzUmk7qh8Gf//zncscddwQOs3ENlGPzzJkzA6fzeHoZ9sumU2OHIsW4ffv2smbNmgC3cmLu3bu37LzzzsFDAbvssoucfPLJQVoZ9GiqjWXTSfVDOShffvnlFV1SfRk+fHjg+K8cmNWP/fFNOTGr6IgHHHBAPLkU+77rZHpdUJZ50ned4oPdxLrA9DiIt7/Ivu866Rrvp512mtx9990Rqm222UZmz54tXbp0idJ8dWRWDXStk+l1gWn7kciGd1zrpLpnYl2wcOFC6dmzZ4LerrvuKq+++mqqdbl6aGDs2LGJ8h999JH06tUrkWbrwLZOuq4Hpucx0/az6mtbp3j7TKwLdF3P4u2M75u2H68rvm9bJ1v9/J//+R+56KKL4l2V//qv/5Lbb789kZb3wLT9xu2yrVPj+jmGAAQgAAEIQAACEIAABCAAAQhAAAIQaLkEcGTWrH10s68EEZnbHNhZOhyV/IFpUzja9q6Ttn07bSpLab4jInM5pIrOp3I0N1Urdf0wmaoyS5lqUacQnYp8M2DAAPn444/DpODzxhtvlLPPPjuR5vtBmXWaNm2aTJo0KYgk29DQICoC2JtvvilKn2rbMcccIyoac11dXbWvvU4ro07VHIqag6wiVJ1zzjmiIvR17969uezefV9GnUKI11xzjVx88cXhYbOf2223ndxzzz3yla98pdm8vmUog0661gVlnifLoFM4tk2tC3SNg7CdJj590snkeFcPqjWe7371q1/JqaeemsDqqyOzDzqZXheYtp8Q2tCBDzqFXTOxLujWrZssXbo0rCL4TPOmFPUmj+OPP14efvjhRNm33nqr4g05iQyGDlzopON6YHoeM20/q5wudArbWHRdYPJ6ptpo2n7IIc2nSZ1c9nPt2rXBA7vz5s1LYHj55Zdljz32SKTlOTBtv3GbTOrUuC6OIQABCEAAAhCAAAQgAAEIQAACEIAABCDQmACOzI2JaDgObvqVICJz5q62bSU9ntpLpBbeDk9E5szyuypQazfRdfww6UqLTdVbazqFfVXOyjfddFN4GHxuu+228sYbb0jXrl0T6WU4KKtOKrryk08+2SziLbbYQsaPHx9ElW3btm2z+X3NUDadpkyZIsOGDcuFUzkxT506VQ4++OBc5V0WKptOcVaPPfaYnHXWWfL222/Hkyv2TzrpJLnttttKOd+FnfFdJ13rgrLPk77rFI4nU+sCXeMgbKepT190MjXelRPl4MGD5aWXXooQ7r///vLUU09Fx+GOr47Mqn2udTK9LjBtP9TY9KdrneL9070uOP/882XcuHHxKqRTp05yww03yJlnnplIVwfr1q0LoqCPGTMmeFgxnqF169aiHARVZHQXm22dil4PTM9jpu3n1di2TmE7i64LTF3PwvaZth/Wk/bTlE4u+/nrX/+64mEn9b/t73//+7RYNpnPtP1qlZvSqVpdpEEAAhCAAAQgAAEIQAACEIAABCAAAQhAIE4AR+Y4DQ370c2+EkRkztPd7o/uLq26t8tT1KsyRGT2So4mGxOdT03mKN8XRX+Y9LHHtaiT4vzcc8/JF7/4Ramvr09gV9F+jj322ERaGQ7KrNO+++4rf/nLX1JhVs7MJ5xwgqjocioaXNm2Muo0d+5c+fKXvxxEylYO/j169AjYt2/fXhYsWCD//Oc/Zc2aNU1KoRxTVMQqpV1ZtjLqFGerHIauv/76ilcgx/OoffVq+J/85CcycuRIKePDAWXQSde6oMzzZBl0UueDyXWBrnGg2mlq80knU+N9woQJwdsCQoZt2rSR559/Xvbcc88wKfr01ZHZB51MrwtM249ENrjjg07x7uleF6j138477yzLly+PVxPsDxw4UAYNGiQ77bSTfPjhhzJ79myZNWuWLFmypCJvmKA07927d3ho7dOFTkWvB6bnMdP284jrQifVTh3rAlPXs5CjafthPWk+Terksp9DhgwJ1gpxBjrvGZm2H2+32jepU+O6OIYABCAAAQhAAAIQgAAEIAABCEAAAhCAQGMCODI3JqLhOLjpV4sRmTew6f74HtKqW3mjXEbyEpE5QuH7Tq3dRC/6w6SvetWaTupH93322SeIvBxnPnToUFGvRS7rVladLrzwQhk7dmwm7DvssINMnjxZDjrooEzlfMhcRp0aGhoCp3/l9NV4U98pR5VJkyYFEbM/+OCDxlmChwPUD75l2sqok+KrIosqx+TXX389NW71WuTf/OY30qdPn9RlfMnou0661gVlnyd918n0ukDXODB93vmik4nx/sknn0j/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cII88MADFek+J5RJJ/Ua3TfeeCM4p0aNGhVEVFZOs9W2p556Sn74wx/Kk08+WfH1tGnT5Nhjj61I9zmhTDpVi+y11157yaRJk5p0SP70009l9OjRctdddyVk6Nq1q6jv2rZtm0j39cB3nYqsC2ppnnSpkw/rgiLjwOa551In38a7LQe9PPq61Mn0usC0/Ty885ZxqZPpdcHbb78t9957r6i1xle/+lVREcqrbW+++aacfPLJoiLfxjeVX/1ftt9++8WTnezb1snm9cD0PGbafnxA6NTJ9LrA9PXMtP0496z7OnVy0c9jjjkmeHtXvN8/+MEP5Jprrokn5d43bT9tw3TqlLZO8kEAAhCAAAQgAAEIQAACEIAABCAAAQhAQBHAkVnzOIhu9tV6ROY1DbLwyJdFlm0Is/zvre2Jm0vXH/QJD4PPxWfPkvpnV0Vp7Yb3lC5n946OXe2UNSKzcuRr/ArDkOGzzz4b7gaf6se/atES999/f7n++usTeX09iM4nXxvYRLvQqQkwniRfffXVcskll1RtTbt27aqmN5V4yimnBI6ATX3vU3rZzqf+/fuLcm6IbypS9pAhQ6RPnz6yzTbbBBG1VZ6//e1vol4T23jr3bt3MGd279698VfeHpdNp6233joRgVKdQ1/60peCSL/bbrutNDQ0yHvvvSdz5sxp8vp11llnyYQJE7zVpFrDyqbT5MmTZfjw4RVdUf046qijgoja6nzp2LGjzJ8/X2bPni2/+tWvZPny5RVl7r///iByYsUXHib4opOpdUGtzJOudbK1LjA1Dmydeq518m2823TQy6Kxa51MrwtM28/Cukhe1zqZXhdce+21opz71LbZZpsFa8PPf/7zwRtS2rRpIx9++KH86U9/kqeffroqRtW+008/vep3NhNN6eTL9cD0PGbafjgWdOtkel1g+npm2n7IPeunbp1s91M9vLvbbrsF/9+GfVfz2TvvvCPq/6iim2n7adunW6e09ZIPAhCAAAQgAAEIQAACEIAABCAAAQhAAAKKAI7MBsZBcNOvxiMyK2yrn14oK0fN3UiwdSvpes8AadvnX6+FX/3khu8vjH2/RRvp8f82vIa8zcYizvZKGJFZORN16dKlMLK6ujpRr5Mty1a2m+jo5P/IGjlypEycOFFLQ3faaSd59913tdiyYaRM55N6Zat6tWreTf2o+Ic/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nnves//7+yW7MzvzP2efZ85h93jmbMkO74/wBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIGCZRgIrNB2igKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABECgggAmMuNCAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQME4AE5mNI0eBIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACmMiMawAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMA4AUxkNo4cBYIACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGAiM64BEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAB4wQwkdk4chQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCAicy4BkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABIwTwERm48hRIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAACYy4xoAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwTgATmY0jR4EgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKYyIxrAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARA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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e--------------------------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eNOTE: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe following restrictions apply:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 100px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 50px; transform-origin: 391px 50px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSemicolons (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e) are considered end-of-line characters.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003ePlease suppress the function end line. Keyword '\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eend'\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eImporting libraries is not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"background-position-x: 0px; background-position-y: 50%; block-size: 20px; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10px; text-align: left; transform-origin: 363px 10px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"background-position-x: 0%; background-position-y: 0%; block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRegular expressions and string manipulation are not allowed.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function d = D(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 1:25;\r\nd_correct = [1 1 2 3 5 8 1 3 2 1 3 4 5 5 8 9 1 4 4 2 3 3 3 7 7];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 100:100:1000;\r\nd_correct = [0 4 3 7 4 0 7 9 7 8];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 1000:1000:10000;\r\nd_correct = [8 9 7 6 8 1 0 4 3 4];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 10000:10000:100000;\r\nd_correct = [4 7 9 9 9 6 3 7 9 1];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 100000:100000:1000000;\r\nd_correct = [1 9 2 5 9 3 2 8 9 3];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 1000000:1000000:10000000;\r\nd_correct = [3 5 7 3 3 5 8 2 9 1];\r\nassert(isequal(D(n),d_correct))\r\n%%\r\nn = 10000:10000:10000000;\r\nh_correct = [100 96 109 85 105 115 82 107 100 101];\r\nassert(isequal(histc(D(n),0:9),h_correct))\r\n%%\r\nfiletext = fileread('D.m');\r\nnot_allowed = contains(filetext, 'import') || contains(filetext, 'str2') || contains(filetext, 'num2') || contains(filetext, 'sprintf') || contains(filetext, 'regex') || contains(filetext, 'eval') || contains(filetext, 'assignin') || contains(filetext, 'end');\r\nassert(~not_allowed)\r\nc = 0;\r\nfor s = deblank(strtrim(splitlines(filetext)))'\r\n    if ~isempty(s{1}) \u0026\u0026 ~isequal(s{1}(1),'%')\r\n        c = c + numel(find(s{1}==';'));\r\n        if  ~isequal(s{1}(end),';')\r\n            c = c + 1;\r\n        end\r\n    end\r\nend\r\nassert(c\u003c=2)","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":255988,"edited_by":255988,"edited_at":"2023-03-10T18:11:52.000Z","deleted_by":null,"deleted_at":null,"solvers_count":1,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-03-09T11:37:24.000Z","updated_at":"2025-11-15T13:27:27.000Z","published_at":"2023-03-10T18:10:42.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given index \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e-th \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Fibonacci_number\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFibonacci number, \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is defined as: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x=1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex=1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e or \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eF_x=F_{x-1}+F_{x-2}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ex\u0026gt;2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWhat this problem requires is find the digit \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_{n}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, which is the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e-th digit when the Fibonacci numbers are laid side by side\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_5=5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, and if \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=25\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eD_{25}=7\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e--------------------------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNOTE: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eThe following restrictions apply:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe function should only have one (1) line of code, excluding the function start line.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSemicolons (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) are considered end-of-line characters.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePlease suppress the function end line. Keyword '\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eend'\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eImporting libraries is not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRegular expressions and string manipulation are not allowed.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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EEAAAQQQQAABBBBIuwALmdNOzoQIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggwEJmXgMIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAgggkHYBFjKnnZwJEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQICFzLwGEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCDtAixkTjs5EyKAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAC5l5DSCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIBA2gVYyJx2ciZEAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAARYy8xpAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQLsJA57eRMiAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIsZOY1gAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAJpF2Ahc9rJmRABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEWMjMawABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEE0i7AQua0kzMhAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCLCQmdcAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCKRdgIXMaSdnQgQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBg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HXfIAQccUPZuq7ZtfT+tWrVKXnjhBRk+fLh88803UlRUFOdeu3Zt6d69u9x5553Sp0+fuPtt2mFbTlu2bJFzzz1XJkyYkBLzWWedJffff39KjzX5INtyKm21detWefjhh2XIkCEye/Zscc+FZb/cD0S5H+b461//KgMHDix7tzXbUc5J5fcFtp8no5KTie8LVL4OdL8xo5KTydf7s88+W/w9ofuhKneRnmtSr149OeOMM+SZZ57RHUGg+qZz0v19ge76gZAVDDKdU+mnoPv7guXLlxe/b0aMGCELFiwoPXXxbdeiZcuWctVVV8kll1wi+fn5cWNM7UhnTun674Hu85ju+oleC7py0v19ge7/numunyiLZPt05aTjeV5xxRXF14mSPZ+g99WpU0dGjRol++yzj/cQ3fW9iVK4oSunFA6FhyCAAAIIIIAAAggggAACCCCAAAIIZJkAC5kVB+5d7ItYR2ZVC5lz2jodmf9LR2bFL5uUy7mdRm6++WZ59NFHZdeuXb46AwYMkKFDh/r22bbhvZ9sO/Ayx0tOZUAisOkuhH3wwQfl3nvvLe7qG+SQ8vLy5Morr5Tbb79datasGeQhkRpj4/tp+/btxQuT3QWXiRZalgd89tlny+DBg63sKGtjTiNHjpSTTz65vDgq3O9+WMBdEGbTl405xXxffPHF4u8d/o+9MwGzojj398fOgICA4o4issQFNRCTqHGNxi3xuqAYNeTmGuG6RCUStyTGJLhcRQOPqLgGboyiosR/wKvGkKhJTNS4K+BKhLig7JssM3+qk26655xheqmtz7z9PPOc7jpVX1W9v+rqmj5ff52F+T777CM33XSTDB48ODRTik9fddK5LqiFedIHnVysC3SOAxsnpA86uR7vKnL97rvvLqodjbdevXqJctZ0vfmgk+l1gWn7NjT0Qaewn6bXBdOmTZMzzzwzisAc1tvUp4rQrB5gPOCAA5rKYi3dlk42rwem5zHT9quJb0In0+sC09cz0/ar6dBcmgmdTPazZ8+eqe8VNdd39f2UKVPkpJNOirKath9VlHHHhE4Zm0B2CEAAAhCAAAQgAAEIQAACEIAABCAAgRZMAEdmA+IHN/3KEJG5rrW02rpNJgIdv72V1B25ZaYyXmaugYjMjz32WBCFWb2atdpWC47Mql9lv4mOTtVGp/u04447TtSP6nm2I488UmbMmJGnqPMyZTufiuj0jW98Q1sEJdvClU0nFdX8W9/6Vm5M22+/vbz//vu5y7sqWDadFCf1pgYV/SvPttVWW8nLL78sylmvTJtvOuleF9TKPOlapyIc86wLdI8DW+dkmXXSsS446qij5JFHHqmK2xdHZtU41zqZXheYtl9VYAOJrnVSXTK5LlCOoMqB+c4778xMT0UvfeaZZ2TAgAGZy+ouYFon29cD0/OYaftN6atbJ9PrgiL201zPTNtvSofm0n3SqTmO6m0LixYtaq5Lqb9XbwFTdYabafthPXk+deuUpw2UgQAEIAABCEAAAhCAAAQgAAEIQAACEGiZBHBk1qx7dLOvBBGZO1ywlXQ+ZVvNBMphrlWbB4JXAZejtclWfvrpp3LBBReI+gF3U1stODJH59OmOurpd+jkqTAbmrV27Vrp0KFD1TlAjbltttkmiLyzevXqJjsxefJkOf3005v83scvynY+qde1t2vXTpQTRHyrq6uTz33uc7LLLrsEPywqx8qmIiBOmjSpkINtvF5b+2XTSXEp6lB0wgknyAMPPGALsZZ6yqjTq6++Kl/4whek8dzWrVs3UWsGFQFRnXNz584NHPWqPSiVx2FTC/CcRnzSycS6oFbmSdc62VwXmBgHOU+PzMVc6+R6vD/88MNy7LHHNsnNF0dm1zopQKbXBabtNymyxi980Mn0umDixIkycuTICmqdO3cO3vAwaNCgYA2vHJarPdCm1vp///vfpUuXLhU2bCWY1MnF9cD0PGbaflO669bJ9LrA9PXMtP2mdGguXbdOpvv51a9+VZ544onmupX6e/U2gaOPPjrKb9p+VFHGHd06Zaye7BCAAAQgAAEIQAACEIAABCAAAQhAAAItnACOzAYGQHDTrwQRmVuyI7OUNCKzcvQ666yzUr2WtRYcmdXpWcab6OhkYGLVaHLVqlXSqVOnyGLHjh3l1FNPDSKG7bHHHqIcZZXz7EsvvRRELv3zn/8c5Q131GtA58+fHzhEh2ll+CzT+bRu3brAqTLkOnDgQDn//PMDB/K4firf9ddfL5dffnmFg6ZyeH799ddDE6X5LJNOCmpjh6LBgwfL7bffnpq30kk9XFC2rWw6VfuxfNiwYTJhwgRREcHim3pN8y9+8Qu56KKL4snB/pw5c6Rfv34V6b4m+KCTqXVBLc2TLnWytS4wNQ5snnsudXI53tUDILvttpu88847TeL2xZFZNdClTqp+0+sC0/ZVH2xsrnUyuS5YsmRJsFZYsGBBAuXXvvY1mTJliqiHqOLbDTfcIKNGjYonBftqLXLeeedVpNtMMKGTi+uB6XnMtP3mNNepk+l1genrmWn7zWmxqe916mS6nytWrJDXXnttU92p+p1q13777Zf4rn379vLBBx8k/ucybT/RgIwHOnXKWDXZIQABCEAAAhCAAAQgAAEIQAACEIAABFo4ARyZNQ+A6GYfEZk1k9VrrowRmdVN7+23317q6+sTMLbccku5+uqr5eKLL044ONeCI3N0PiV67PcBOvmtT9g6Fdlr+fLl8s1vflOuu+66IApz+F38Uzk0Dx06VB566KF4crD/wgsvyF577VWR7mtCGc8n5TCuNuWkfPbZZ0ubNm2axDtu3LjA0TmeoW3btoHOZXKSLaNOjR2K1Culp0+fHpei5vbLppOKWKachpYtWxZpoZzynnvuOVEPczS1jRgxQm699dbE1/fff7+ceOKJiTRfD3zQyfS6oBbmSR90Mr0uMD0ObJyDPujkarz/7Gc/kx//+McRZjVvHn744aKij4abL47MPuhkel1g2n6oqclP1zqZXheMHj06+B8rzlC9gUM5MTe1nr/55puDh7bjZQYMGCBvvPFG4JwfT7e1b0InV9cD0/OYafub0tyETqbXBaavZ6btb0qPpr4zoZOP/bzvvvvk5JNPTmBQ953uvvvuRFreA9P2TeiUt6+UgwAEIAABCEAAAhCAAAQgAAEIQAACEGh5BHBkNqB5cNOPiMwGyGo0WcKIzOq1qirKZbipHwDVq1p//vOfy+abby5bbbWVfPzxx+HXwWvip06dGh2XdadsN9HRqRwj7a9//auo1xrvvvvuzTZ43rx5on5EX7lyZSLv5MmTg+jAiUTPD8p2Pn3yySdBhGylVXObcjrv06dPxaupX3zxRdlzzz2bK+7V92XTqRYcivIMgDLp9Oabb0r//v0T3bzyyivlkksuSaQ1Pnj++edlyJAhieQf/ehH8tOf/jSR5vOBa51MrwtqZZ50rZPpdYHpcWDrHHStk4vxPnfuXFFvDlAROsNNzYPqwRAVLTbcfHFkVu1xrZPpdYFp+6Gmpj9d6mR6XdC3b99EBHN172L27Nmi0je1DRo0SF555ZVElpkzZ8pBBx2USLN5oFsnF9cD0/OYaftp9Natk+l1genrmWn7aTSplke3Tj7280tf+pKo8RPf1PE+++wTT8q9b9q+aphunXJ3loIQgAAEIAABCEAAAhCAAAQgAAEIQAACLY4AjsyaJY9u9hGRWTNZvebKGJFZRSLaddddAxDqNYXqVfBx57xadGSOzie98hu1hk5G8Tozfsghh4j6ET2+KQdA5QhYlq2M51NWtsccc0xFJOAZM2bIkUcemdWUs/xl1KlWHIqyiF42ndR5cPTRRye6eNddd8m3v/3tRFrjA/WAlFpfxLfLLrsseIgqnubrvg86+bYu8HGe9EGnrGM467rAt3GQtb8qfxl10jHeVRTZBx98MEK24447BhFiL730Ui8dmX3QyfS6wLT9SGyDO651Mrku+Oyzz4IHRtVDhuGm3uSg3ujQ3KbeNNX4ISv14LZae7jYTOjk4npgeh4zbb857U3o1Fydjb/Pui5oXL65Yx3Xs03VYdq+qtsHnUz3809/+pPsv//+CdTK8fgvf/lLIi3vgWn7ql0+6JSXD+UgAAEIQAACEIAABCAAAQhAAAIQgAAEyk8AR2YDGgY3/YjIbICsRpMljMhcX18vN9xwQxBR8etf/3oFjFp0ZFadLNtNdHSqGJo1kXDGGWfIHXfckehLmZz5woaX7XwK25328+CDD5Y//OEPiewvv/yy7LHHHok03w/KplMtOBTlGRNl0qlx9D/V34suukiUw9Cmtj/+8Y8VURDVa5HV65HLsrnWybd1ga/zpGudso7nrOsC38ZB1v6G+cumU9Hx/vjjj8vhhx8edj/4VG+8Of744+WCCy7w0pFZNdK1TqbXBabtJwQ3eOBSJ5Prgtdee63irTdjxowR5fzf3KYi+/bZ8IaVhoaGKGtaJ+iogOYd3TrZvh6YnsdM208rp26d0tYb5su6LgjLpf0sej1rrh7T9sP6Xetkup+NnfpVv++55x4ZNmxYiKDQp2n7YeNc6xS2g08IQAACEIAABCAAAQhAAAIQgAAEIACBlkcAR2bNmkc3+4jIrJmsXnNljMjcHIFadGSOzqfmOl+i79GpRGLFmnrKKafIvffeG0sRGT9+vJx77rmJNJ8PavF8ivNWDg89evSQxYsXx5NlxYoV0qlTp0Sazwdl1KlWHIqyjIuy6bRy5UrZbLPNEo5B3bp1E+VstN122zXZ9SOOOEIeffTRxPezZs2SAQMGJNJ8PSiDTjbXBb7Ok2XQqfEY170usDkOGvcl7XHZdCo63teuXSuDBg0SNeeF22GHHSaPPfZYcOirI7MPOpleF5i2H+pt8tO1TibXBQ899FDg7B/npzQ77bTT4klN7g8cOFBmz54dfd+vXz+ZM2dOdGxzx4VOOq8Hpucx0/bTau1Cp8Zt070uiNsvej2L26q2b9p+WKdrnUz38+233w4CT6iHFcJN/Z/13nvvSdu2bcOk3J+m7YcNc61T2A4+IQABCEAAAhCAAAQgAAEIQAACEIAABFomARyZDege3PQjIrMBshpNljAic3O91/mDV3N12fy+1m6io5PN0aOvrsGDB4uKXBbfpkyZIieddFI8yfv9Wjuf4sAnTJgg55xzTjwpcEB66aWXEmllOCibTrXgUJRnXJRNp2qvvN53333lN7/5jWyxxRYVCMaNGyfnn39+It11VMREY1Ie+K6TzXWBz/Ok7zo1Hm661wU2x0HjvmQ5LpNORcf7ddddJ6NHj47wtGvXTtRbHpSTpdp8dWRWbXOtk+l1gWn7iqGNzbVOptYFDz74oKioofHtlltukREjRsSTmtw/+uijZcaMGdH3bdq0kXXr1kXHtnds66TzemB6HjNtP4vWtnVq3Dbd64K4/aLXs7itavum7cfrdKmT6X6ed955wcPu8f6mjUYfL9PUvmn78Xpd6hRvB/sQgAAEIAABCEAAAhCAAAQgAAEIQAACLY8AjsyaNY9u9hGRWTNZveaIyKyXpylr0flkqgIHdnX+MOmg+VWrrEWd4h195513pG/fvvGkwEHk3XfflR133DGR7vNBLev0t7/9TQ488EBZvXp1QoL77rtPhg4dmkjz/aCMOjXlUKSiUa1fv15at24tygmllrYy6vT888/LF77whURUZqXJTjvtJOrBjH322SeQSOn205/+VK644oqEZJ07d5YXXnhBVGTEsmxl0MnWusDnebIMOsXHvIl1ga1xEO9H1v0y6VR0vH/wwQdB5Plly5ZFmC688EK59tpro2NfHZl90Mn0usC0/Uhkgzs+6GRqXaDsDhkyJEHv0ksvFeXQl2YbOXKkTJw4MZHV1RtWXOik63pgeh4zbT8xAJo5cKFTvEkm1gWh/aLXs9BOU5+m7cfrdamT6X6qt0LtsMMOsnz58qjLHTt2lPfff7/qA6NRppQ7pu3Hm+FSp3g72IcABCAAAQhAAAIQgAAEIAABCEAAAhBomQRwZDage3DTj4jMBshqNElEZo0wzZqqtZvoun6YNEs9u/Va0ylO4Morr5TLLrssniT77befPP3004m0MhzUmk7qh8Gf//zncscddwQOs3ENlGPzzJkzA6fzeHoZ9sumU2OHIsW4ffv2smbNmgC3cmLu3bu37LzzzsFDAbvssoucfPLJQVoZ9GiqjWXTSfVDOShffvnlFV1SfRk+fHjg+K8cmNWP/fFNOTGr6IgHHHBAPLkU+77rZHpdUJZ50ned4oPdxLrA9DiIt7/Ivu866Rrvp512mtx9990Rqm222UZmz54tXbp0idJ8dWRWDXStk+l1gWn7kciGd1zrpLpnYl2wcOFC6dmzZ4LerrvuKq+++mqqdbl6aGDs2LGJ8h999JH06tUrkWbrwLZOuq4Hpucx0/az6mtbp3j7TKwLdF3P4u2M75u2H68rvm9bJ1v9/J//+R+56KKL4l2V//qv/5Lbb789kZb3wLT9xu2yrVPj+jmGAAQgAAEIQAACEIAABCAAAQhAAAIQaLkEcGTWrH10s68EEZnbHNhZOhyV/IFpUzja9q6Ttn07bSpLab4jInM5pIrOp3I0N1Urdf0wmaoyS5lqUacQnYp8M2DAAPn444/DpODzxhtvlLPPPjuR5vtBmXWaNm2aTJo0KYgk29DQICoC2JtvvilKn2rbMcccIyoac11dXbWvvU4ro07VHIqag6wiVJ1zzjmiIvR17969uezefV9GnUKI11xzjVx88cXhYbOf2223ndxzzz3yla98pdm8vmUog0661gVlnifLoFM4tk2tC3SNg7CdJj590snkeFcPqjWe7371q1/JqaeemsDqqyOzDzqZXheYtp8Q2tCBDzqFXTOxLujWrZssXbo0rCL4TPOmFPUmj+OPP14efvjhRNm33nqr4g05iQyGDlzopON6YHoeM20/q5wudArbWHRdYPJ6ptpo2n7IIc2nSZ1c9nPt2rXBA7vz5s1LYHj55Zdljz32SKTlOTBtv3GbTOrUuC6OIQABCEAAAhCAAAQgAAEIQAACEIAABCDQmACOzI2JaDgObvqVICJz5q62bSU9ntpLpBbeDk9E5szyuypQazfRdfww6UqLTdVbazqFfVXOyjfddFN4GHxuu+228sYbb0jXrl0T6WU4KKtOKrryk08+2SziLbbYQsaPHx9ElW3btm2z+X3NUDadpkyZIsOGDcuFUzkxT506VQ4++OBc5V0WKptOcVaPPfaYnHXWWfL222/Hkyv2TzrpJLnttttKOd+FnfFdJ13rgrLPk77rFI4nU+sCXeMgbKepT190MjXelRPl4MGD5aWXXooQ7r///vLUU09Fx+GOr47Mqn2udTK9LjBtP9TY9KdrneL9070uOP/882XcuHHxKqRTp05yww03yJlnnplIVwfr1q0LoqCPGTMmeFgxnqF169aiHARVZHQXm22dil4PTM9jpu3n1di2TmE7i64LTF3PwvaZth/Wk/bTlE4u+/nrX/+64mEn9b/t73//+7RYNpnPtP1qlZvSqVpdpEEAAhCAAAQgAAEIQAACEIAABCAAAQhAIE4AR+Y4DQ370c2+EkRkztPd7o/uLq26t8tT1KsyRGT2So4mGxOdT03mKN8XRX+Y9LHHtaiT4vzcc8/JF7/4Ramvr09gV9F+jj322ERaGQ7KrNO+++4rf/nLX1JhVs7MJ5xwgqjocioaXNm2Muo0d+5c+fKXvxxEylYO/j169AjYt2/fXhYsWCD//Oc/Zc2aNU1KoRxTVMQqpV1ZtjLqFGerHIauv/76ilcgx/OoffVq+J/85CcycuRIKePDAWXQSde6oMzzZBl0UueDyXWBrnGg2mlq80knU+N9woQJwdsCQoZt2rSR559/Xvbcc88wKfr01ZHZB51MrwtM249ENrjjg07x7uleF6j138477yzLly+PVxPsDxw4UAYNGiQ77bSTfPjhhzJ79myZNWuWLFmypCJvmKA07927d3ho7dOFTkWvB6bnMdP284jrQifVTh3rAlPXs5CjafthPWk+Terksp9DhgwJ1gpxBjrvGZm2H2+32jepU+O6OIYABCAAAQhAAAIQgAAEIAABCEAAAhCAQGMCODI3JqLhOLjpV4sRmTew6f74HtKqW3mjXEbyEpE5QuH7Tq3dRC/6w6SvetWaTupH93322SeIvBxnPnToUFGvRS7rVladLrzwQhk7dmwm7DvssINMnjxZDjrooEzlfMhcRp0aGhoCp3/l9NV4U98pR5VJkyYFEbM/+OCDxlmChwPUD75l2sqok+KrIosqx+TXX389NW71WuTf/OY30qdPn9RlfMnou0661gVlnyd918n0ukDXODB93vmik4nx/sknn0j/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cII88MADFek+J5RJJ/Ua3TfeeCM4p0aNGhVEVFZOs9W2p556Sn74wx/Kk08+WfH1tGnT5Nhjj61I9zmhTDpVi+y11157yaRJk5p0SP70009l9OjRctdddyVk6Nq1q6jv2rZtm0j39cB3nYqsC2ppnnSpkw/rgiLjwOa551In38a7LQe9PPq61Mn0usC0/Ty885ZxqZPpdcHbb78t9957r6i1xle/+lVREcqrbW+++aacfPLJoiLfxjeVX/1ftt9++8WTnezb1snm9cD0PGbafnxA6NTJ9LrA9PXMtP0496z7OnVy0c9jjjkmeHtXvN8/+MEP5Jprrokn5d43bT9tw3TqlLZO8kEAAhCAAAQgAAEIQAACEIAABCAAAQhAQBHAkVnzOIhu9tV6ROY1DbLwyJdFlm0Is/zvre2Jm0vXH/QJD4PPxWfPkvpnV0Vp7Yb3lC5n946OXe2UNSKzcuRr/ArDkOGzzz4b7gaf6se/atES999/f7n++usTeX09iM4nXxvYRLvQqQkwniRfffXVcskll1RtTbt27aqmN5V4yimnBI6ATX3vU3rZzqf+/fuLcm6IbypS9pAhQ6RPnz6yzTbbBBG1VZ6//e1vol4T23jr3bt3MGd279698VfeHpdNp6233joRgVKdQ1/60peCSL/bbrutNDQ0yHvvvSdz5sxp8vp11llnyYQJE7zVpFrDyqbT5MmTZfjw4RVdUf046qijgoja6nzp2LGjzJ8/X2bPni2/+tWvZPny5RVl7r///iByYsUXHib4opOpdUGtzJOudbK1LjA1Dmydeq518m2823TQy6Kxa51MrwtM28/Cukhe1zqZXhdce+21opz71LbZZpsFa8PPf/7zwRtS2rRpIx9++KH86U9/kqeffroqRtW+008/vep3NhNN6eTL9cD0PGbafjgWdOtkel1g+npm2n7IPeunbp1s91M9vLvbbrsF/9+GfVfz2TvvvCPq/6iim2n7adunW6e09ZIPAhCAAAQgAAEIQAACEIAABCAAAQhAAAKKAI7MBsZBcNOvxiMyK2yrn14oK0fN3UiwdSvpes8AadvnX6+FX/3khu8vjH2/RRvp8f82vIa8zcYizvZKGJFZORN16dKlMLK6ujpRr5Mty1a2m+jo5P/IGjlypEycOFFLQ3faaSd59913tdiyYaRM55N6Zat6tWreTf2o+Ic/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nnves//7+yW7MzvzP2efZ85h93jmbMkO74/wBwIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIGCZRgIrNB2igKBEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABECgggAmMuNCAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQME4AE5mNI0eBIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACmMiMawAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQMA4AUxkNo4cBYIACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACGAiM64BEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAAB4wQwkdk4chQIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiCAicy4BkAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABEAABIwTwERm48hRIAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAAAiAACYy4xoAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwTgATmY0jR4EgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAKYyIxrAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARAwDgBTGQ2jhwFggAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIgAAIYCIzrgEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAHzBHbgj5WAZ7AiD4/g4F8IuA5wHeA6QDtAP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6Aa39gH/tSv792DtIllCE2VovNtQb/1j6zRXXAa4DXAdoB+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD8Q9AP+tSD1V+IHewXhj4lASUmJ33sRbR/BlIgYCQIlZc/BkwRY5kx4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5tiEJ+bc1DhMZE4lwrBdMZl523CGJESIESh9luBJjC5fMDzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fNjzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fNjzxsZRMgidJunzZ8MTHUjIJniTp8mXDEx9LySR4kqTLlw1PfCwlk+BJki5fduBJeL1kTGTmU1aRhBWZmYEKxSXuFMDK2UKEeWLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefITnnjisqZgInNWNPFfwEq/8dkZOzO4UwArZxtDHqsgeIqFzfhJ8GQceawC4SkWNuMnwZNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzfhI8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqvAwBNWZI6Fr9pOworM1YY+r4ITdwpgRea8uJk+GJ5ME49XHjzF42b6LHgyTTxeefAUj5vps+DJNPF45cFTPG6mz4In08TjlQdP8biZPgueTBOPVx48xeNm+ix4Mk08XnnwFI+b6bPgyTTxeOXBUzxups+CJ9PE45UHT/G4mT4LnkwTj1cePMXjZvoseDJNPF558BSPm+mz4Mk08XjlwVM8bqbPgifTxOOVB0/xuJk+K+FJuGCsyCwAGCsyC0DljgzuFMCKzNxkefPgiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXMDT1iRmZerdBpWZJYmzJOfuFMAKzLzABVKgSchsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKS3gSyg9isSJzQILxESsyM8KUigruFMCKzFKEeXLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefIDT1iRmYenqRSsyGyKdGHlJO4UwIrMhYEUPhuehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOCbhSbqcHd6fcBlFF48VmRUoD+4UwIrMdsuCJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLux8CT8DTjEkxk5r0OsCIzL0+ptMSdAliRWQoxSy48sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUkDCE0ta9hBMZM7OJvYrWJE5NjpzJwZ3CmBFZnPM45QET3GomT8Hnswzj1MiPMWhZv4ceDLPPE6J8BSHmvlz4Mk88zglwlMcaubPgSfzzOOUCE9xqJk/B57MM49TIjzFoWb+HHgyzzxOifAUh5r5c+DJPPM4JcJTHGrmz4En88zjlAhPcaiZPweezDOPUyI8xaFm/hx4Ms88TonwFIea+XPgyTzzOCXCUxxq5s+BJ/PM45QYeMKKzHHoVd85WJG5+tjnU3LiTgGsyJwPNuPHwpNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzfhI8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqtAeIqFzfhJ8GQceawC4SkWNuMnJTwJl4wVmQUAY0VmAajckcGdAliRmZssbx488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosb27gCSsy83KVTsOKzNKEefITdwpgRWYeoEIp8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJxCU9C+UEsVmQOSDA+YkVmRphSUcGdAliRWYowTy488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowT37gCSsy8/A0lYIVmU2RLqycxJ0CWJG5MJDCZ8OTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKxyQ8SZezw/sTLqPo4rEiswLlwZ0CWJHZblnwZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9GHgSnmZcgonMvNcBVmTm5SmVlrhTACsySyFmyYUnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCkh4YknLHoKJzNnZxH4FKzLHRmfuxOBOAazIbI55nJLgKQ418+fAk3nmcUqEpzjUzJ8DT+aZxykRnuJQM38OPJlnHqdEeIpDzfw58GSeeZwS4SkONfPnwJN55nFKhKc41MyfA0/mmccpEZ7iUDN/DjyZZx6nRHiKQ838OfBknnmcEuEpDjXz58CTeeZxSoSnONTMnwNP5pnHKRGe4lAzfw48mWcep0R4ikPN/DnwZJ55nBIDT1iROQ696jsHKzJXH/t8Sk7cKYAVmfPBZvxYeDKOPFaB8BQLm/GT4Mk48lgFwlMsbMZPgifjyGMVCE+xsBk/CZ6MI49VIDzFwmb8JHgyjjxWgfAUC5vxk+DJOPJYBcJTLGzGT4In48hjFQhPsbAZPwmejCOPVSA8xcJm/CR4Mo48VoHwFAub8ZPgyTjyWAXCUyxsxk+CJ+PIYxUIT7GwGT8Jnowjj1UgPMXCZvykhCfhkrEiswBgrMgsAJU7MrhTACsyc5PlzYMnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzYUnXp5SafAkRZY3F554eUqlwZMUWd5ceOLlKZUGT1JkeXPhiZenVBo8SZHlzQ08YUVmXq7SaViRWZowT37iTgHHVmT+fvVm2rRpO9WrV0YNG9XkgVWNKa542lS+jRYs2ECLFm2gVas2Ubt29ahXr8ZOOPIvD1c8bVi/lRYu3EDffbexwlObNnWpW7dG1KJl7WpsBXxFu+IpK5EdRFu2bKeaNUu9izLrUda/4Lwn6w1Eq6DLnpYs3kgzZ66h9V6f2Mj7LOH3hZ07N6QSr2lp+3PZkzYXVdXXNU9Ll5TTrFlraPnycmrbth517dqQmrfQ/1nCJU/z5q6nJUs2Vjjyr02/j+vSpQHVrlNW1aWq4jUtniS+t/qf5f3vXN99t4FWe9+LmzatVfFvWPv29ale/RpW+StmT8kiJK6D5PxCnxerJ23jF8XqSdv4RbF6ytoPWTp+AU9ZjVn1AjxV6rB5/AKeKj3Z/KzYPWkZvyhmT5rGL2z1ZOL7DcYjCu/pTXhKriXGI5JpRH8u7Uk6P/o7jXZksfZ7GI+Idn3kOqrarneMR+RSE3q92jyFamHPRqLfE64SVmQWAIwVmQWgckcGdwo4siLzZxNW0plnj6NJkzcmSJ1/bnu69949E9sqnyj2tH7dVnryyTk0ctQCGvve994Ec+9TQcpfu3ZltMfuTejG63enPfo1S3lV0aZiTytXbKLHHp9NL3mePhm3lrZtS+feuHEJ9e/XiG66YQ/ae0jL9AO07FHsqSrE/3h4Fl1/0zRvEvpW8m/+KvEmMTdrVkrDT2hLDz44uKpT7XxNoaeNG7bRKT/7gCZO+j4W05+e1J5uuaV/rHOr7SSFnrKxmjljDd12+zT6csr3NGPmBlqzJv3fq3r1SujAoc3o3LO705E/aZctyr79yjxdeOEE73PDIhaOTRrXoFdfPoh23qUeS55oiDJPqSzKN26jO+/6ip55dh59M7uc1q1Lb0ONGpVQr5716PLLdqUTh7dPjdCxrdzTsqXldMONX9Kol7+j+fO3pjH3Pz907FiDLr6gJ51zTneqWUvh3Rv+u7LcE/v3Vq+5Pf/8fHr8idn0+hsraWu6WqpVq4SOOLw5/fpXXemYY3dOc18tO4rNUwpk9usgJZ9ts4g8qR6/KCJPqscvishTVX2Q9eMXReDJifGLIvCUrR2pGr9w3JMz4xeOe0ptS2rHL4rMk9rxC4s8Gfl+g/GI1C4m720jnlJqhfGIFCARNqU9SedHeIvxDymifg/jEfEvk+Qzq/N6x3hEsomqn0t5cmo8AisyV30R2fYqVmS2zUjm+iTuFFC+IrN/x9M1106mu+6ZS9u3h9/rCce3pOefOyC8U9mWRk/bt+2g2++YTn+5Zaa3qm+KlCz8y7zF3y66oCNdf90eVL+BXauFZalyaLdGT1s2b6cbb5pCd9z1TcYJR6E3mLRxysmt6d579lS5sqJGT0noMz79ZtZa2rXvm7R5c/qksVatSmnp4hMynmfzTo2eXnl5ER117Cexsfo3dSycf3zs86vjRI2eUjn5qw5cd/2XdN8DczNO/Eo93t/2J/otmHsktdtZweRYv75lz3k3OHj9g5LPe81bvhD5s0MmP6n7nvnvIBpxUofU3dZta/OUDPCf3s1Qf/jjl97NNBnuhEo+MOn5noPq09/u34v6D9B1E5tmTy+NXEBnnD3BW4E52mfzzp1r0uOP7E377d8qyZyOp7Z6kvje6v/H3dN++RG9OWZ1ZDk/Pak1Pfi3wdS4SfX+elExeUqWI3EdJOdzPy8GTy6MXxSDJxfGL4rBU64+SMP4RTF4cmH8ohg8pbYnjeMXrntyZfzCdU/JbUnz+EUxedI8fmGDJ1PfbzAekdy75P/clKfkmmE8IplGtOfSnqTzo73Lwo4qhn4P4xGFXSPB2dV9vWM8IjBR9aO0J6fGI6pGWfCrWJG5YITpAViROZ2JdXssukMqLpsxby6mM88ZT3PnZlh2ygt1YSKz7SuKZXJ3/AljaeRLKzK9lHPfEYc3o1dfOSjncdYdoLA9FeLpmKNb0Esjh1qnIWeFFHrK9Z6O/Mk79NrrqzIepnUis8Z+71/e6vOn/WpiRg9Rdu68cxktmKdrIrNGT8kuJny6ko446j1auTLapL7kcz8bfyANGNg8eZe9z5X1e81avECrV+fvJJuAUS8OpqOPsWT10WyV9Pcr8xS8lfvvm0nnXzQl2MzrsXXrMpoy+Qhq2apOXudV68EKPfkDT2eeNY4eeSz/lc6bNCml8R8Po+49GlUr9rwLt9CTxPdW/yeQB+71Wl43EQQsh+zdgN579zCqUdO7O6e6/orEUzJeiesgOV/keRF4KuR7sTXjF/BU5eVvzfhFEXiqUoT3oorxiyLw5MT4RRF4Sm5PascvHPfkzPiF456CtqR+/KIIPDkxfmGBJxPfbzAeEfQs8R9NeEquHcYjkmlEfy7tSTo/+jst4Mgi6PcK8YTxiMprqxCOHONvGI+odFHVM2lPTo1HYEXmqi4l+17Disz2OclUIxvukMpUryj7Vq3cTJdcOoGe+NfiKg93YSKzNk9bt+ygWnWf91Z/TFfjr2LZpk1ZxUqL5eUZDvjfKU8+3p9+flrn9ACL92jzRB7+GrWfo20piyfWrev/7Hsd6tq1kTeRbBN9OWUtLV2actD/PDzxWH867RfwVJ2X5ehRC+mY48dlrYLWiczq2pNnoNAP3iee0JKee/aArC5tfEGjp4Dj4u82epO/Xqfvvkvv33baqYyGHdSS2rWr562+XELLlpXTZ5+vpKnTyhO//DD584Np9z2aBnFWP2rzNOyQt+jtd75nY/rKqL29CRPt2PKkgrR58jlMm/q9147eptTPdI0bl9CJx7elzp0bUM2apTRv3np69fXvMt54yDEAJeUkU65GT39/aBadde4XaW+nfv0SGtC/Ie3etyktWbqRxo1fRQsWpN8c2rVrTZr02U+oQUM9v5hikyep763+d66hB71JH328Ns1tp041aJB3s029umU059t1ntu1GX+548LzO9Dddw9KO9/UjmLwFLCUug6CfMlH1z25Mn7huidXxi+c95SjM9IyflEMnlwYvygGT0GT0jx+4bonV8YvXPfktyUXxi+KwZML4xfV7cnE9xuMRwT/Qsd/NOEpqB3GIwIS+T9Ke5LOz/8dxzvD+X7PkfkUznvKcfliPCIHoP+9bKJfcmo8IhrW2EdhRebY6LKfiBWZs7Ox5hUL7pCKw+L55+bTOed/FulnkV2YyKxthb7yjduoboMXE2rr1Cmhn5/als48ozv16dOE6nj/Qd2/s/qLL1bT+Rd+Sh9/si5xbPCkefNS+m7BcVSrdmmwy/5HZe1p29Yd3kTm5xNce/asRZdc2ItO8yaQ161XltjvH3fHndPp2j/NSJuo1KtnbZo+7ejEsSqeKPNUFdNN5duod5+Xac6cLVkP0zqRWVu/5wtI/eA9oH89euThvbO6SX2hV6/Guvo8/w0obU9+29l/6Jv06YT1IQ3+pL5/PDSARozoQGU10leo9FeaGD16AS1bXk5XXL5b9a5iGap5jg1lnvyfuJs27Yccbyr95a1bt9OQ/d4LvVCrVgktWXQ0NW1WK7Tfyg1lnnyGmf6j7Sknt6b779srjbn/82t33f0VXXHlV2n4Z804jLp2a5i238odyjyt+WELde0xOu1702GHNqVnntqfGjWuGcJ8151f0SW/mxba52/cfcdudOFFPdP2W7vDEk+S31vvvWcGXXjJ1JCCUu+r09//tgedfnoXKi2r/Hds1tdr6ZzzxqfdJFLmfeT/Zubh1LFTg1COsY0i8OSzlLwOjLhy3JMz4xeOe3Jm/MJxT1X1SarGL4rAkxPjF0XgyW9T6scvHPfkzPiF4578tuTE+IXjnpwZv6hmTya+32A8wu9VCvsz4cmvIcYj7PZk6joojEKEsx3v9zAeEeEaiHBIdV7vGI+IIOh/h5jw5NR4RKaVPaPjznkkJjLnRJTfAViROT9e1XV0dd95E+d9L1m8kdq1fyWxImKQ0bJlKf31z7vT76/+IvQf6l2YyKzRU8PGz9O6dTvoZ6fsRLfdOoB2alM3UBV69Cc0Dz/pfXpx5PLQfn9D02qXfn01emre8gW/6vSna3rTeef1CE14qHgh6f/uuXsGXXRpeLJEDW9hvvVrTlA1+VKjpyQNoac33jiFrvnjzMQ+/6aBQw9pTqNGr0js0zqRWaOn1A/eRx7RjF55+aCECxefaPTke0htO/6+pk1L6dXR+9PgvVv4m079afWUr4Rnn5lHJ50yIXSa/znkX//aN7TP1g11nryVCBo1fZ7WrvWe/O9v19616fMJR1LtOpU3RAWvBY9nnz2OHnp4YbBZ8fjc03vSicPbh/bZuqHN0xVXTKRbb58Twun/AoA/iTl5omvyAQ/+7WvvptEvk3dRjx61aMa0Y7wPvKHd1m7Y4Enye6u/MkLnbi+lraB9/Z+60zXX9M3oxR+EHLjnqzRt+qbQ6xec14Huuad6VmV23ZMPWvI6CIkU3CgGTy6MXxSDJxfGL4rBU7buKPU7mM3jF8XgyYXxi2Lw5Len1Lbj79M0flEsnnwv+fzZNn7hvCdHxi9c9+TK+IUNniS/32A8Ip/evupjJT35JWM8omr+UV+V9iSdH/V9FnKc6/2ezwbjEYVcIZXnVtf1nvqdCuMRlU4yPZP25NR4RCaAjPswkZkRZhDl5IrMm7bT1gXltGO7t5Jpq9pU0kTPz+sGXkKP1XyHVKguETcmTVxF/Qe9kzjaX0XqnLPa04039KPGTWpS6zYveD8Bvz3xugsTmTWuePnp+BVUv34N2nW3JgkX2Z4sWriBuvd6jTZsqJwI4x/75OP96efe6sBq/hS2p5UrNlFdb4Xsep6rXH/+pPOOXdInTHwx8WDqu3vTXKfb87pCT5ngzZ+3nnru+jpt3FjZbq79QzdvQtkWuvPuuYlTtE5k1tjvufDBO3HhRH2isD35d0+37zSSvvtuW+Jd+r8CMPbtg2g371cDnPxT6CmOh8F7v0bjPw2vsv3pJwfSoD2bx4kzf44yT9/MWkvder4R4nTzTT3pyit3C+1L3Zj4+SoasGflZ3n/df/fr+uu2z31UDu3lXnq4k12Tf7lBv+709dfHU6du1S9Am/f3V+mKVPLQw7Gvr0fHTC0dWiftRsWeJL83ppp4sMhw5rQG68No5IqftAmU/ur1s+Kjnvy24fkdWCs/RWBJyfGL4rAkxPjF0XgKVPfpG78ogg8OTF+UQSenBi/KAJPmfq9XPusG79w3JMz4xeOe3Jm/MICT5LfbzAekauHj/66pCe/FhiPiO6iqiOlPUnnV/Xe2F5zvN/zOWE8gudqqY7rHeMR+buT9uTUeARWZM7/AqvOMzStyLx96Wb64fJZtGPljxNaSpqXUePbulFpqx9/gnr78s20/j+Lacvo74nWVE6QreDr/ex4ab86VO+3balWv0bViTxW2TbcIZVvxWd89QP12m1MxWn7DGlID9y3Z2gSpYsTmTV6ytfrQQePoXfHhn9G/uoru9BNN/XLN6raji8GT0cd/S698urKEOPXXh5Chx/RNrTP5g1XPJ04/D164cXKlcw7dKjhrZR4NF39f5OcmMis0ZMTH7zzbLwaPWUabL3uj93p2mszr2CZJxIrD9foKV+QH3+0nPbZ/73QaYP3akCffHx4aJ/NG9o8vfbqIjry6E9CSB9/pB/98lddQvtSN5YvK6dWbV4O7f7D1V3phhv2CO2zdUOTp83eTbj1Gr5A2yrv26DhJ7aiZ5/ZPyfev/51Gl159Veh4266oQddfXWf0D5bN2zwJPm99Te/+YQefXxRCP+EcQfSwEG5b9zo03c0TZ0WXpV52peHUO9dG4fyTGy47slnKHkdmHDkl1EMnvJlaeP4BTylW7Rx/KJYPWkbvygGTy6MXxSDJxfGL4rBU/q/QFXvsXH8wnVProxfuOzJpfELGzxV3Qulv5rP9xuMR6TzM7UnH09+nTAeYcpMuJx8PYXPzr0lnZ+7BulHuN7vpb/j3HswHpGbUZQjOK53jEdEIV3YMfl6cmo8ojB0Oc/Gisw5EeV/gJYVmcvfXUkbfj8/9Abr3dKe6gxtTuufXkyb7l5K5K3eV+VfSQnVvrgV1T9Fz2S+ivdjwR1SVXLN8OIOby75nXdNp+7dGtFRR++cdoSLE5k1rkyaJibHjjPO+IT+8Wj4P8ZrmtRS8fYUtqccWtJePvCgMTT2vfCE8ymTh+laxdQBT2+NWUyHHP5RyM8Lz+5Jx5/Qni699DMnJjJr7Pdc+OAduqiibChsTwcPG0PvvFvZj9WsSbRg7lHUeqc6Ud6xzmMUesoXdOpghH/+U/8eSCf/tGO+UdV3vDJPqat6+OCuvKIL3Xxz1Tehvf/eUjrgoA9CnP/z5EA65dSOoX3WbijyNH3aD7Rr3x9vAA14/vnGnnTVVVWvmu0f669U0LHLa5R8Q3nUSdBBWdX6aIEnye+tO7d/kRYtqpyh3rhxCa1afgKVlpXkxH7TTVPoD9fODB334P196ayzu4f2Gdlw3JPPUPI6MOLIL6QIPOXL0srxC3hK02jl+EURelI5flEEnpwYvygCT06MXxSBp7R/gHLssHL8wnFPzoxfOOzJqfELCzzl6IbSXs7n+w3GI9LwGduRjye/UhiPMKYmVFC+nkInR9iQzo9QhfRDHO/30t9w7j0Yj8jNKMoRhV7vGI+IQrnwY/L15NR4RPJ/QCscZVoCJjKnISlsh6YVmTNOZL65PZW/tIK2j9uQF4iyIxpS4+u65nVOdR6s8Q6pXLxcnMjsoqdUj6ee+gH992nvpoGkv3vv6kPnX9AjaY/dT5335N3P0bTFC/T99+GV6TesPZ7q1vN+p1zJn3ZPW7fsoD57jKYZMzYniPs/Jf7mG8Mqtl2ZyKzRkxMfvBNXVbQn2jz5P8vaoPELVF5eeYPaqT/dif79732jvWGlR2nzlC/mObPXUbeer9P2pH+e2rUro3lzjqMy79dTtPxp87Rxwzaq3+jF0ERXfzLl9ClHUtt2dbNiP/yIt+mNN1eHXp85/VDq3kPHr9to8jTyxQV0/PDxIdb/+ucA+tnPO4X2Zdvo2XsUzZxZ+XmjW7ea9PWMY7MdbtV+DZ7ifm9dvWozNWs5KsT7qJ80p9GjDgzty7Yx5s3FdOgR4RviLrukE91224Bsp4jtd9lTVGhxr4Oo+RzHwVM6RRvHL+ApxZOl4xfF5knr+EUxeHJh/MJ1T66MX7juKeVfn5ybto5fuO7JlfELlz25NH6hwVNqZxX1+w3GI1LJmd2O6ilqrTAeEZVUfsdxe0otXTo/tbwo2y73e1Hef9oxGI9IQxJ3RyHXO8Yj4lLP/7x8PTk1HpE/rrzOwETmvHBFO1jzisxU05v04E0Wi/NX/95OVHuvJnFONX+OwjukckHS8ME713tIe91BT6nvccDAV2jipI2h3c/8dxCNOKlDaJ/VG457euD+mXTehVNCCvr2qUNfTD4qtM/6DeWebr99Ov3uiukJzP5qslMmH0o9ev44AcyVicw2rPyWgBzxiQsfvCO+1crDlLWnqVO+924EeKuy/t6zkc/vRccet0ton3Mbyjzly//iiyfQ3ffOC50WddXZ0EnVvaHQU6afjBqydwMaNfJAat6idhrRe+6eQRddOjW0X9Uqv37NFXl68YX5dMKIT0O8H3pgdzrzrG6hfdk2fnLUO/Tqa6sSL5d5961t3Tw8sW31EwWe4n5vTf5p0MDBHbfuSpdc2ivYrPJx3twfV9tOPujEE1rSc88ekLzLzHOHPUUFGPc6iJrPchw8pWG0cvwCnkKerB2/KDJPascvisCTE+MXjntyZvzCcU+hf3wibFg7flEEnpwYv3DYk1PjFwo8pXZXUb/fYDwilZzZ7aieotYK4xFRSeV3HLen1NKl81PLi7TtcL8X6f2nHITxiBQgBWwWcr1jPKIA8Hmemq8np8YjsCJznldLNR+ufUXmTPhK96xLNfdr7P0Wh/cfcL9cR9vGrveepE92Luldm5o+3jtThHX7NN4hlQuiig/eud5Eyusuekp+i9/OWUedu72evItKvHsJ5s4+gtp3qB/ab/OGy54mfLqS9j9wbGgVU9/Fs08NouEjFE029+qs2dOSxRupe69Xae3ayn97Lr+sM91yS/9E03BlIrNGT9k+ePs/4bVt2w4qLfXmv0X4yfeETAVPtHl64p9z6Je/nhgiO/WLYbTrbpU3oPl36a5YUe6tPr+ZdtqpLjVpWit0vMYNbZ7yYfzD91to5w6jaN26yn6xTp0SWjjvqIwTafPJNn2sRk8TP19FA/d6J7Qqs8+tY8ca9Mx/96NBezavwOj3g9ff8CX96fqvQ1jr1y+hyZ8fSl27NQztt3lDkyffz4A93wnh/L+rutKNN+4R2pdt45xzxtODf18QelnLL3Fo8BT3e+t7Y5fS0IM/CHnJ56Ycvz3Wa/h86HP9oIH16dPxR4QyTWy47Ckqv7jXQdR8juPgKUzR1vELeKr0ZPP4RTF50jx+UQyeXBi/cN2TK+MXrnuq/Ncn9zObxy+KwZML4xcue3Jp/EKDp+QeK5/vNxiPSCZn9nk+nqLWDOMRUUlFP07CU3Lp0vnJZeXz3OV+Lx8O/rEYj8iXWPbjC7neMR6RnSv3K3E8OTUewQ00JQ8rMqcA4dhUvSJzMoCmZdTw7i5Us2d4QuWWGetp7VnfEG30/ktgyl+j//SgGl3rpey1cFPhHVK5KGr44J3rPaS97qCn5Pd4881T6eo/zEjeRfsMaUgffnBYaJ/1Gw56WrhgA91405f0j0cXehMxwwYO2L8RjX3nUG9mcHi/9VuKPZ122of0r/8sSSBu06aMvv7qaGrQsEZinysTmTWteBnAT/3g7e+vVauENm/+cYKlv5Jl+/Y1qHOnBtS1i/e/ro3oZG/V+V3ahz9fBHkqHpW1pyuumEi33j4nhHbdD8fRpEmr6Kmn59J77y+ladM3hSZltm5dRr16NqDevRrTr0/vQgMG/jgxMxRi+4YyT/ngvPXWaXTFlV+FTvntr9vRww/vHdqnYkOppxu8CcrX/ik8Qdnn7d+U9qtftKURwzt4E5i/pE8neDeBJv35k5hfe3k/2m//Vkl7FTxV5CnTT3727lWbpk05OtLnt8sv/5xuu+PbkJRli4+ilq3qhPZZuaHAU9zvrc8+M49OOmVCCPs7Y/alAw/aKbSvqo0OnUbS/PlbE4f06FGLZkw/JrFt7InDnqIyjHsdRM1nOQ6eQhitHb+AJ1IxflFEnlSPXxSBJyfGLxz35Mz4heOeQh8ScmxYPX5RJJ7Uj1847Mmp8QsFnpK7q3y+32A8Ipmc2ef5eIpaM4xHRCUV/TgJT8mlS+cnl5XXc4f7vagcMB4RlVT04wq53jEeEZ1zoUfG8eTUeARWZC70EjJ7visrMpd0rklNHu5FJQ292UcZ/jaN/57WXxD+j7v+YbXOa0UNftkuwxl27dJ2h1QUeio+eEd5I0nHuOgpeHv+SgTde42mZcvCNwTcf08fOve8HsFhKh41e3pp5AJ6/InZFZP3/H9vF3sr/876ZqO3ImnYSyDiqJ80p2ef3p/q1M3cNwbH2fio1dNHHy6nfQ94L4T0308MoFN/1im0z5WJzBo9ZfrgHZKTYcNfOfaC8zrR1VftpnLlX22efvvbT+iRxxaFTOzq/ZKGP3k5yl8N756Bq6/sRtf8oS/VqKnnLg5tnqK48I/xV8/u1HUkLVwYvtNmyuRhtFufylW2o+ZV93GaPd1yyzT6/VXhCeVV8WzXroye+vc+tO9+yiYxe29Km6fGTZ+nNWt+vKEmcBLlFzW2e78kcPyJ79Go0SuC0yoeZ399OHX2bsax/U+Dp7jfW++7dyZdcPGUkILPxh+Y1402vXYdRTNmbE5k+Ddazfv2uMS2qScue4rKMO51EDWf4zh4qqRo8/hFMXnSPH5RLJ60j18UgycXxi9c9+TK+IXrnio/JVT9zPbxi2LypHn8wnVProxfaPAU9Fj5fr/BeERAzuxjvp6i1g7jEVFJRTtOylNQunR+UE6cR5f7vVQeGI9IJSKzXcj1jvEIGSeZUuN6cmo8IhMYxn1YkZkRZhClfUXmkrY1qOlTuxLV8X4Lvoq/VUd9SbQsPIGixvAm1OiK8OSyKiKq7yVld0hFAaXhg3eU9xE6xkFPwfs7//xP6f6/zQ82Kx7bti2jGdOOooaNaob2W7+h2NMBQ9+k9z9YkxNxixaldO9d/WnEiA5UVkPPJL7QG1PoyZ9M1H/gK/TFl+WJt7LvPg3pg/fTVy13ZSKzxhWZn3l6Hp18aniFxISwHE+aNi2lF57dh4Ye2DrHkZa9rKw9jTjpfXru+WUFQxy8VwP6yPvVgNIyJf2gMk9RBf33P3Pp1NM+Cx1+4NDG9M7bh4T2qdlQ7mnMm4vpHO9z3ezZW6pEftKI1vSPvw/W9zkveFfKPF1yyWd01z1zg9pXPNarV0J33d6XzjizW2i/v7Ft6w7697+/pRtvnkKzZoVdlnpfixfN/wnt1KZu2nnW7VDgKe731muumUw3/tn7Zaikv6+/Ooy6dW+YtKfqpwO8z5UTJ21MHNSyZSktW3JCYtvYE4c9RWUY9zqIms9yHDwlMFo9flFEnlSPXxSBJyfGL4rAkxPjF457cmb8wnFPiQ8JOZ5YP35RZJ7Ujl847smZ8QsFnoIuK9/vNxiPCMiZfczXU9TaYTwiKqlox0l5CkqXzg/KifXocL+XygPjEalEZLbjXu8Yj5DxkS01rienxiOwInO2y8PO/epXZK5XSk1f6E0lzXJPpFx751za8t/VIRFl+9Wnxrd3D+2zcUPTHVJR+an44B31zfzvOBc9+W/t889W0p57v0vbUxb9femFwXTMsTvnSan6D9fsacg+r9Mn49ZFguhPZh5+Qjv661/6U6PGufvISKEGD9Lo6YH7Z9J5F1auvFfmLYQ9ccLB1Hf3pmnkXJnIrNHT/HnrafA+b3ormm+jRo1KqFmzMmrcqAbVqlVGy1dsou++20abN4dXxUwW2KZNGU2ZfCQ1b1E7ebfVz7V5OvyIt+mNN8Of2ZIBN2hQQnsOakQ7ta5LK1Zuoq9mrKUFC7YmH5J4/ujD/ej0X3dJbNv8RJunqCwHDnqVPp+4IXS41s8Q/pvQ7smfAHvHndPpiiurXpm5efNSuu7aXenss7urvClKm6cVyzd5K5e/TOvWpf/707NnLerbpyl16lifliwppxkzf/D+t4F++CH92KChzf/2CNqlff1g09pHDZ7ifm/NNEC4YO6RtPMu9SL7SF2RuUuXmvTN18dGPp/rQJc9RWUU9zqIms9xHDz9SNH28Yti8qR5/KIYPLkwflEMnlwYv3DdkyvjF657ivpZy/bxi2LzpHX8wnVProxfaPDk911xvt9gPCJqr893XBxPUUvHeERUUrmPk/Tkly6dn/sdVn2Ey/1e6jvHeEQqEf7tQq53jEfw+8iWWIgnp8YjsgFi2o8VmZlAJsdoXpG5xPuZ8aaP905+O1mfr//vd7TpzqWh10u8/yjc9AlvNWfb/xTdIRUVpYYP3lHfS+I4Bz2tX7eVBu31mjdJbFPibfpPRgxvRc88vX9on5oNxZ4uv/xzuu2Ob/NCvcsuNejJx/emA4ZiBdm8wOV58EpvAmy3nq/Q6tWVM/7PP7c93XvvnhmTXJnIrHFF5goh3tyv7dt3ZF6p13ttyZKN9M8n5tDd935dMeE5VeKxx7SgkS8OTd1t77ayfm/f/d6gjz5eG+JZ4i2qfOIJreics7rTAQe0TptYOX7cCvrZLz5KW2V2553L6JuZx1DtOt6dBbb/KfMUBecH7y+j/Q98P3Ro587eRLyZx1JJ1T+mEjrHqg3Fnj78YBmddc54mv5V+HNdVXz77FaHRo0cSh07NajqMPteU+gp35/OrQr6D6uO1XEjmwJPcb+3XnzxBO9zxLyQpm+/OTyvtpQ66N6hQw2aO+e4UKaRDYc9ReUX9zqIms9yHDyRivGLIvKkevzCcU/OjF847inxb4P28QvHPTkzfuG4p0R7quKJivGLIvKkevyiCDw5MX6hwFPc7zcYj6iisxd4Ka6nqFXBeERUUlUfJ+1JOr/qdxfxVYf7vVQCGI9IJcK7Xcj1jvEIXhdVpRXiKZHryngEVmROKFXxRPuKzPlMZC5/eyVtuGp+yEtJuxrU9MU+oX02bmi5Qyofdio+eOfzhrxjnfPk/cM04uT36bnnl4VINGtWSl9NPZJata4T2q9lQ7undWu30o7//WO7Zs0WmuetLjt37joaN34FPfLYfNqwwROX8le3bgl9MfHQvH7KOiXC+KY2T2edNY7+/o+FCU7+itizZhxFTZrWSuxLfuLKRGZtnpIdRHm+ZfN2OuVnH9DzLyxPO3zihIOoX/9maftt3KHN04EHjaGx7/2QQFm/fgmNfXsoDRzUPLEv05O1Xp/YpftoWr688oYC/7jRIwfTUUfb/wsC2jxlcpC679jjxtKo0StCu++6fVe66OJeoX2aNrR6euKfc+i3Z02kLVvCtP3PdZdd0o2WLi2nB/8+P+OK9C1bltKoF/enwXu3CJ9s8ZZWTyNfXEBnnjMhrR/Lhtq/ySN1DMbft33LcO/LSbaz7NmvwVPc761XXTWJ/nLL7BDsGdMOpR49G4X2VbXRf8ArNGnyxsQhgwbWp0/HH5HYNvXEZU9RGca9DqLmcxxX9J6UjF8Umyet4xeue3Jl/MJ1T/n+22Dr+IXrnlwZv3DdU5T2pGH8olg8aR+/KBZP2scvrPdUwPcbjEdE6fWZjinAU9QaYDwiKqkqjpP2JJ1fxVvL5yWX+71MHDAekYkKw74Cr3eMRzA4iBJRoKcoRSQfY/14RHJlBZ5jRWYJqN5/6dyxzfsPnZb/lb/rTUT+fcpE5DxWZN78xRpad0b4PySWtPUmMo+0fyKz2hUvq7imNHzwrqL6mV9ScCdb5opn3pvpy26Zt6Dl66/sQ8MOaZP5JA17HfOUjNz/Wa+b/jyF7rpnbvLuiudD9m5AH75/uJ4VMBV5yvSzHA8/uDv99oxuaR6CHa5MZHbx36fAUfDoT44dsOerNGtWePbfow/3o9N/3SU4zO5HRe3JB3n0Me/Sy6+sTDD1J1EuW3JCYruqJ3/5y1S66v9mhA65+47d6MKLeob2WbmhzFMuht/MWks9er/hrX5eeWTDhiW0aP4x1LBRzcqd2p4p9HTXnV/RJb+blkb67DN3oZv/3C9x043/U1G/u+Jzeva58E1s/on16pXQ1C8Oo06dlazMrNBTIMj/PPeHaybRy68upkWLtgW7E48NGpRQ1y516ID9W9H55/Wk667/gv71nyWJ15s2LaVVK6L1mYmTquuJAk9xv7def/2X9Mfrvg6RnTDuwJw35SSf0GvXUTRjxubErp8c2ZxeHn1gYtvYE4c9RWUY9zqIms9yXJF7UjN+UeSekq91q8cvHPbk1PiFw56S20o+z60cv3DckzPjF457ytWO1IxfFIEnJ8YvisBT0KZUj19Y7qmQ7zcYjwiuUPnHQjxFrR3GI6KSyn6ctCfp/OzvLM9XHO738iRBGI/Il1jl8YVc7xiPqOQo/awQT3HrZvV4ROpqQHHfZJbzMJE5C5i4u4tpReYtU9fS2l9/E0KlZSKz9XdIhahG21DxwTvaW0kc5ZKne++ZQRdeMjXx3oIn997Vh86/oEewqfLRJU/ZBJx77nj620ML0l4e+/Z+dMDQ1mn7bdyhydNBB4+hd8dWrh47cEA9+nTckVVOGndlIrMmT4Vc5w89+DWdfd6XoYgLz+9Ad989KLTP1g1tnk499QP679NLEzj9FZnXrTkxsV3Vk1lfr6Xuvd4IHXLxhR3pzjsHhvbZuKHNUy6G55//Kd3/t/BNiJraTbb3p83T1zPXUJ89xoRWWq5Vq4QeuHd3+s1vu2Z8m489OpvOv2hy2q88HDKsCb35xrCM59i2U5unbPwWLtjgrc5cTqtWbaa6dcuoS5eG1Hqn8K+i7D3kde+XOdYlIvbfrxG9N/bQxLbNTzR4ivu99Y47ptNll08P4R/14mDvZp3ovxDQqMnztHatt3zC//5+/at29Mgjewebxh5d9hQVYtzrIGo+x3HF7EnT+EUxe8p2nds4fuGyJ5fGL1z2lK29RNlv2/iF655cGb9w3VOutqNl/MJ1T66MX7juKVt70jZ+YbOnQr/fYDwi21XKu79QT1Frg/GIqKQyHyftSTo/87uKt9flfi8eESKMR+RHrtDrHeMR+fGOe3ShnuKW659n7XhEIW8qwrmYyBwBUr6HVExmLoIVmTVPZHZxxUsNH7zzbUuuePrXk3PoF6dPTPuZ6ssu6US33TYgbyzWnWD5HYccvLZt3eGtgjmKZs8OryB7+6296dJLe3MUIZ+hxNP3qzdT0xaj0nj06FErbV/yjrlzt9CmTZUTU/zXks/p6k1UGv3SgVVOhk7Oq7bnSjwVyueTj5fTkP3eC8VU26qIoVpE3FDm6YwzPqF/PLoo9ObWfn8cNWhYI7Qv08bGDduoXsMXQy+d/su29OijQ0L7rNxQ5qkqhqu9SZc7dxgdmgjr/QgMff3VYdS1W8OqTrX/NWWeDj3sLRrz1vchrg/e35fOOrt7aF/qxpg3F9NhR36U9nnwkw+H0uC9W6Qebt+2Mk+FAGy10wveZOfKpc9/d2knuvVWJZ/ZFXiK+7312Wfm0UmnTAipjdL2ghNWrthELVqPDjYrHq+8ogvdfHO/0D4jGw57isov7nUQNZ/luCL1pG78okg9VXWNWzl+4agn58YvHPVUVXuJ8pp14xeOe3Jm/MJxT1W1HVXjF457cmb8wnFPVbWnXK9ZNX5hqSeO7zcYj8h1JRb+OoenqLXAeERUUunHSXuSzk9/RwXucbjfi0sG4xHRyRV6vWM8IjrrQo4s1FMhZfvnWjsegRWZC1Vr9nysyFyDmo7sYxZ6jNJsvkMqxtupOEXFB+8835wLnl4auYCGnzyetm4Nv/nfnN6O/vEP86t/hWvBs+WCpygkfvObT+jRx8MTATV51OLJ/+nBbj3Dq79G8RPlmG9mHkZduto94U+Lpyi8qzpm9jdrqWuPsOeDD2pCb43ByqRVcYv72h//+AVdf+Os0OlTJg+j3fo0Ce3LtOEPPNSo/XzopdN+1oaeeGKf0D4bN1xqT3/5y1S66gxLkDIAAEAASURBVP9mhDCrmvwfqnl4Q5On8o3bqEHjF2nbtsr3MGTvBvTRB4cTeRPLc/1ddtlndMddc0OH3X9PHzr3PPt/nUOTpxDgPDfGj1tBg/cZGzrrqX8PpJN/2jG0z9YNDZ7ifm/9dPwK2mvI2BD6889tT/feu2doX7aNcZ+soL33DZ9/x6270iWX9sp2ith+lz1FhRb3Ooiaz3FcMXrSOH5RjJ6iXN+2jV+46sm18QtXPUVpM1UdY9v4heueXBm/cN1TVW1G0/iFy55cGr9w2VNVbSnXa7aNX9joiev7DcYjcl2Nhb3O5SlqLTAeEZVU+DhpT9L54XfDs+Vyv1cIIYxH5KbHcb1jPCI350KP4PBUaB2sHY8o9I3lOB8rMucAFOdlrMhs/0RmV1b6Tb4+NXzwTq5vpOeW3skWqe7eQW+NWUxHHftx2iqxJ57Qkp55an8qLYsw4yVqYdV5nHJPUdHdfPNUuvoP4UlkZ/xmZ/r73wdHjaje45R4+nbOOurc7XURVnNnH0EdOtYXyWYLVeKp0Pf72quL6MijPwnFHH9cS3rh+QNC+6zdUObpuWfn0Yifhlex/Nc/B9DPft4pJ+I5s9dRl+7hNnndH7vTtdf2zXlutR+gzFM2Xls2b6eOXV6i775Lmj3rHTzm9X1o2CFtsp2mZ78iTxM/X0UD9nwnxPbPN/akq67aLbQv20amu6cvv6wz3XJL/2yn2LNfkadCoI046X167vlliQh/5fN5c46gXdpb/vkhqLECT3G/t2ZaUXnQwPr06fgjgndf5eP1139Jf7zu69Axr47em444sl1on5ENhz1F5Rf3Ooiaz3JckXlSO35RZJ6iXtvWjV846sm58QtHPUVtN9mOs278wnFPzoxfOO4pW3tRN37hsCenxi8c9pStLUXZb934hWWeOL/fYDwiyhUZ7xhOT1FrgPGIqKQqj5P2JJ1f+U6Ynznc7xVCCuMRVdPjut4xHlE150Jf5fJUaD2sHY/AisyFqjV7PlZkxorMZq+4ytJUfPCurG6kZzbeyRap4t5B/kSVQw5/n9av3xE65cgjmtFLLx5INWo6MonZe3eaPYXk5Ng488xx9PAjC0NH3XxTT7ryymiTl0InVsOGFk+bN233JjK/RIsWhSfsFYqsY8caNHP6MVSrdmmhUaLna/FUKIRMq7NceH4HuvvuQYVGGzlfm6eZM9ZQz13fDLH59a/a0SOP7B3al2kj00/nPf2fQXTSyR0yHW7VPm2essF78ok59IvTJ4Ze7t2rNk2benRon9YNTZ6efmou/fRnn4VQP/TA7nTmWd1C+7JtzJ+3njp0fi308mWXdKLbbhsQ2mfjhiZPcfn5g39de7xO27dXJmhb+VyDp0K+t/bsPYpmztycEFRWRrRw3k9opzZ1E/uyPek/4BWaNHlj4uVatUpo9YpjqV79Gol9pp647ikKx0Kugyj5HMcUkyfN4xfF5Cmf69q28QtXPbk2fuGqp3zaTqZjbRu/cN2TK+MXrnvK1Fb8fdrGL1z25NL4hcuesrWlXPttHL+wyZPE9xuMR+S6KvN/XcJTlFpgPCIKpcpjpD1J51e+E/5nrvd7cYlhPCI7Oc7rHeMR2TkX+gqnp0LrYu14RKFvLMf5WJE5B6A4L2NFZqzIHOe6KfQcDR+8836Plt3JFrX+kyetoqEHv0s//BCexHzQgY3p1ZcPotp1vP/i7tKfUk/5KPB/iq13n9H07bdbQ6e98eoQOvSwtqF91m4o8rTDm0BUXp7fRObfXf45PfDg/AT+5s1LacHcYxPbtb0JzCpWQVfkKQE3zydrfthCe3iTiVLb0+iRg+moo3fOM62aDlfmafu2HdSo6Quhm2saNy7xJn8dSw0aVj2Ba8DAV2jipMqJXz7xLycNoz59m1QT/DyKVeYp2zvr1/8VmvxF2EE+k2ez5VqzX5Gnjz5cTvse8F4I3UUXdKC77op2E8abb3xHhx35cej8x/7Rj351epfQPis3FHmKw2/rlh108inv0wsvLg+d/uZr+9Ahhypa+VyBp0K+t5577nj620MLQo5uuqEHXX111WMQY99dSgcO+yB03oFDG9M7bx8S2mdsw3FPUTgWch1EyWc5pkg8qR+/KBJP+VzTVo5fOOzJqfELhz3l04aSj7Vy/MJxT86MXzjuKbmdJD9XN37hsCenxi8c9pTcfqI+t3b8whJPUt9vMB4R9QqNdpyUpyilYzwiCqUfj5H2JJ0f/Z3GPNLxfi8OFYxHZKcmcb1jPCI777ivSHiKWxerxyOwInNcrdVzHlZkxorM1XPlEan44J0nHJvuZItadX/ViP2GvkXLlyct5eadPGTvBjTmjWHVsuJX1LrHPU6bpz/96Qv6zPtp+N9d2puGHtg60tu+8MIJdO/989KOXbb4KGrZqk7afht3aPOUL8NLL/2M7rx7buK0Vq1KaeniExLbWp5o8zR92g+0Zs0WGrx3i8iIh494j55/ITxRrFmzUlo0/1iqU1fHjR7aPPlyfvvbT+iRxxaFPOVaBfufj8+mX/1mUuicPrvVockTf6LixgCNnkKwvY1331lCBx3yYWi33178Seh16+loL6HKZ9jQ5Gnjhm3eTQEv0tak+5p8HxMnHEYdOtbP8O4qd/n/QX7YoW/Ru2N/qNzpPdNyY4AmTyHAETbWrd1KJ3r/Nr05ZnXo6F49a9P0abpWPtfgqZDvrWPeXEyHHvFRyFODBiU09YvDs7ZBf3WKPnu8TF9/XbmSsx/w7FODaPiI6vl1Adc9hQRl2SjkOsgSyb67GDy5MH7huidXxi9c95RvB2Tr+IXrnlwZv3Ddk9+eXBi/KAZPqX2fxvELlz25NH7hsqfUdpRr2+bxCxs8SX6/wXhErqsz+uuSnqLUAuMRUSgRSXuSzo/2Lgs7yvV+D+MRhV0fyWfbdL1jPCLZTPi5pCfnxiPC6Ni3sCIzO1IirMhc9WpIAsjzj7TkDqn8K579DA0fvLPXPssryjytXrXZW2X0VZo/P2l2i/fWBvSvR++8dQg1alwzyxtVvluZp928lZWnTd9UAX3//RrRWWd0o+OO2yXjJPOFCzbQ76+cSP95akmapBNPaEnPPXtA2n5rdyjzlC9HWz945/s+SJmn3ruOpq9mbKJ+e9Slyy7pTUd7Kypn6+s+/GAZ/d81k+n9D9akYXnphcF0zLFKVmP2a6/Mk1/lT8evoL2GjPWfhv7OP7c93XvPnt4H2NBuuvnmqZ6vGZR6U+Xbb+5LBx28U/hgW7cUekpFedTR79Irr64M7f795Z3pL3/pH9qnekOZp0wrTO2xe1164vF9sq5UvmrlZrr8is/p0cfDNxM0alRCq5afQGU1UhqgjUKVeZozex099fS3tMfuzWjYsDZUy/tlhkx/38xaSyf99H2aNDm86nnt2iX0zpj9acg+LTOdZu8+BZ4K/d66R7+X6Ysvy0MOunWrSSOfH0q9d20c2u/7PfXnH9KEz9aH9vfsWYumTzmGSjJfFqFjRTaKwFMuboVeB7nyWV533JMz4xeOe3Jm/MJxT/n2OdaOXzjuyZnxC8c9+e3JifGLIvCU2vepHL9w3JMz4xeOe3Jm/KKaPZn4foPxiNSeP/9tE55y1QrjEbkIEUl7ks7P/Q6ZjnC838N4BM91Ytv1jvGIzF6lPTk3HpE6eSAz1th7MZE5NrrMJ2JFZqzInPnK4Nl71lnjvP/IHl4pLEhO/Y+z/n9879unXvBy4nG/fVvS7bcPTGzb/MSGO9ny4fPXv06jK6/+KuMpNfOcw3zqT9vS448PyZhl205tnrr3fIlmzdoSwli/fgkNHNCQOndqQG3a1PVW1N5EX89aQ59OWEsbN+4IHetvtG9fg76YeCQ1aVor7TVbd2jzlC9Haz945/lGtHnaqe2LtHTptsS79Pu6wXs1pE4dG1DbtvW8SbA76Nu5671VENfQ5C/Ck8SCk847pz3dd583kVbRnzZPAdr99n+DPvxobbCZeOzevRYN3rM5denS0Osf19DH41bSnDnhftI/+NhjWtDIF4cmzrP9iVZPAdcZX/1AvfuMCU0mL/MWYf72myNol/ZVr/4bZGh41ObpySfm0C9On5iGtsSbi3zkEc29X+FoQe13qU916pTRokUbaKbX/z3574W0bl3654nnnt6TThzePi3Lxh3aPN1223S6/PfTK1D6K/YO3quxd3NhM2rl/ZJGWWkJLVla7vWHyzL2if5JTz7en35+WmcbVVRZJ1s8SX5vfXn0Qjr6uHEZOXTpUpP28yafN2tWi6Z6vxrx4Uff04YN4bbn96NvvbFf5F9myVhQgTuLwZOPSPI6KFBBpNNd9+TK+IXrnlwZv3DdU6ROJekgW8cvXPfkyviF656CpqJ9/KJYPAW+tI5fuO7JlfEL1z25Mn5R3Z5MfL/BeETQ68d/NOHJrx3GI+I78s+U9iSdX9i7j3626/0exiOiXwtVHWnb9Y7xiMy2pD05Nx6RGSPbXkxkZkNZGYQVmbEic+XVwPds/bqt1KDxyIID69YtoQ3rTiw4x0hANd/Jlu97POec8fTg3xfke1rG4zt2rEHfzj4u42vW7VTm6eBhY+idd8M/654PU3/yw3vvHED7eDcFqPpT5ilftrZ+8M73fWhb6bdDp5Fpq9Dn857796tLH394ONX2Jvyp+lPanpYuKadBg1+nBQvCvxwQhb2/6vZL3iRmVRNolXoKfJx99jh66OGFwWbF4/ATW9Gzz+wf2qd+Q6Gn3/9+It1y25yC0F9+WWe65RZFK2sr8/TnP0/xVpWfGcvRNf/Xla6/fo9Y51b7SRZ4MvG99aqrJtFfbpkdC/ddt+9KF13cK9a5bCcVgScT1wGbj2xBjntyZvzCcU/OjF847ilbN5Jtv7XjF457cmb8wnFPQbtRP35RJJ4CX2rHL4rAkxPjF457cmb8opo9mfp+g/GIoOeP92jCE8Yj4rlJPkvak3R+8nsRfe54v4fxCJ6rx7brHeMRmb1Ke3JuPAIrMme+kGzdixWZsSKz1LX5/erN1LTFqILjmzcvpRXLTig4x0RAdd/Jlu97vOCCT+m+B+bne1rG4zt0qEFz5+iYyKzN06SJq+jU0z6kGTM2Z2Rf1c5DD2lKt90yIOtPx1d1bnW/ps1Tvrys/eCd5xvR5umKKybSrbfnP5mvRYtS+tM1u3p3xnenGjW9ZUyV/WnzlIz3yy9W01HHvhd5MnNpKZE/4fIGb1JfzVrehqI/zZ7WrtlCrduOSvtVgA/fU3gjTY5rRqOnHduJLr3sM+8GtnlUXh5e7TXH26XGjUvo4gu70rXX9KXSMj39nzZP//n3t/SzX3yeS0fodf+GjTtuG1itK/WGKhRjwwZPJr63bt+2g665dnLFZObtXnuM8uf/AssD9/ajX/yy+lfaLgZPJq6DKN4LOcZ1T66MX7juyZXxC9c95dvX2Dp+4bonV8YvXPeU3J40j18UkyfN4xfF4MmF8QvXPbkyflHdnkx9v8F4RPK/1Pk/N+EJ4xH5e0k9Q9qTdH7q+5Hadr3fw3gEz5Vj2/WO8YjMXqU9OTcekRkj216syMyGsjIIKzJjRebKq4H3Wd/dX6YpU8sLCj1g/0Y09t1DC8owdnI138mW7/t89ZVFdNIp42j9+vwmtGQqZ8TwVvTM0/tnesm+fco8+QD9AbzXXltE/3xyDo19bzktW5Z9BkTDhiW0e98G9EdvwtGwQ9rYxz9qjRR6ivrW/ONSf/Jj9751aPKko/KJsONYhZ4+m7CS/vnEbHr19cU0Z86WrBxr1CDq3LkWnXDcLnTVlbtRo8Y1sx5r/QsKPSUz3bxpOz3wwEz681+/ouXLM/d/vq/99m1c0fcdMLR18ul6niv2tGjhBurW87XQROZjj2lBI71VsZ37U+xp2dJyuufeGfS3h+bQqlWZ21Lgq02bMjrvnK50wfk9dfZ/yjxt27qDbr1tGj32zzn09dfZb17zP+f16F6XLvS8nHaaN8FVz9zy4NIKP1riydT31o8+XE633zmdXn1tBW3alPk7mH8j76k/3YUuurAndenaMMyruraKxJOp60BMo+OenBm/cNyTf307MX5RBJ7y6YusHb8oAk9OjF8Ugafk9qR2/KKIPKkevygiT6rHLxz35Mz4RTV7Mv39BuMRyf9aR39uyhPGI6I7yXSktCfp/EzvSWRfEfR7GI8o/Mqx7XrHeERmpyY8OTUegRWZM19Itu7FisxYkdnWa1Njvar7TjaNzKqjzi54+nrmGpo3b703obmcVq7cRI0a1aRu3Rp5/2tIrVrXqQ6s7GW64CkXlJUrNtEPP2yh2rVLqW3belSia/HYiren3dOK5ZtoypTVtMJz4belbd6KiZ06NaDu3RtVPJbV0D5D7MerULunRFvy5nwt9CbMfvPNWpo9ey1t2LCVWrSoQ629fm/AgObUuIniyebem9TuaVP5top/l7Z6EzIbNqxJLVrWTqhz6Yl2T4EL/9+g+fPXV/xv0aINVKNGKbVvX586dPjxf/Xqe3cHKP7T7Mn/Weovv1xNS5ZspO+/30x165ZVfM7z/21q07auYivpVdfsKf3dRN+zxvv894X3iwOLF2+s6Ddrer/24H8WbOv53X33Ztb9+kOxeopu1I4j4ckOD7lqUYyeNI5fFKOnXNeujeMXxeZJ6/hFsXlKtCVl4xfF5knr+EWxeQrak7bxi2LypHn8opg8BW3Jf8R4RDINPOciUKztiYufqZxi9ITxCFNXl2w5GI+Q5RslXf14RJQ3WcAxWJG5AHjZTtWyIvOWqWtp7W9me0t7VK5cVHZwA2p8c7dsby20f9uicvrhxBlE2yvPL+1Xh5o81Ct0nJUb1XyHlJVMbKwUPNloJb1O8JTOxMY98GSjlfQ6wVM6Exv3wJONVtLrBE/pTGzcA082WkmvEzylM7FxDzzZaCW9TvCUzsTGPfBko5X0OsFTOhMb98CTjVbS6wRP6Uxs3ANPNlpJrxM8pTOxcQ882WglvU7wlM7Exj3wZKOV9DrBUzoTG/fAk41W0usET+lMbNwDTzZaSa8TPKUzsXFP4ClpjqlENTGRmZmqphWZK976hm20dckmIm/FxFJvBdLS1rXyI1K+nbYu3kQ7tmyn0oY1qKyNjpXiivEOqfzE2nE0PNnhIVct4CkXITtehyc7POSqBTzlImTH6/Bkh4dctYCnXITseB2e7PCQqxbwlIuQHa/Dkx0ectUCnnIRsuN1eLLDQ65awFMuQna8Dk92eMhVC3jKRciO1+HJDg+5agFPuQjZ8To82eEhVy3gKRchO16HJzs85KoFPOUiZMfr8GSHh1y1gKdchOx4HZ7s8JCrFvCUi5Adryc8CVcHE5kFAGtZkVngreuJDO4U2DZcT52LsabwpMM6PMGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE+6PGFFZh2+glqqW5E5qHiRPSbuFNg+osjeua63C086fMETPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2pMyTcHWxIrMAYKzILACVOxJ3dHATlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlcmDJxmu3KnwxE1UJg+eZLhyp8ITN1GZPHiS4cqdCk/cRGXy4EmGK3cqPHETlckLPGFFZhm+UqlYkVmKLG8u7ujg5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVBk9SZHlz4YmXp1QaPEmR5c2FJ16eUmnwJEWWNxeeeHlKpcGTFFneXHji5SmVlvAkVcD/crEiswBgrMgsAJU7MrhTYNtw7mTkcRKAJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UyGJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UyGJ06aclnwJMeWMxmeOGnKZcGTHFvOZHjipCmXBU9ybDmT4YmTplwWPMmx5UwOPGFFZk6q8llYkVmeMUcJiTsFto/giEOGEAF4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQoTh4EgLLHAtPzECF4uBJCCxzLDwxAxWKgychsMyx8MQMVCgOnoTAMsfCEzNQobiEJ6H8IBYrMgckGB+xIjMjTKmo4E4BrMgsRZgnF554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnH554OEqnwJM0YZ58eOLhKJ0CT9KEefLhiYejdAo8SRPmyYcnHo7SKfAkTZgnP/CEFZl5eJpKwYrMpkgXVk7iTgGsyFwYSOGz4UkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVj4EkYMFM8PDGBFI6BJ2HATPHwxARSOAaehAEzxcMTE0jhGHgSBswUD09MIIVjEp6ky9nh/QmXUXTxWJFZgfLgTgGsyGy3LHiy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H4MPAlPMy7BRGbe6wArMvPylEpL3CmAFZmlELPkwhMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFJDyxpGUPwUTm7Gxiv4IVmWOjM3dicKcAVmQ2xzxOSfAUh5r5c+DJPPM4JcJTHGrmz4En88zjlAhPcaiZPweezDOPUyI8xaFm/hx4Ms88TonwFIea+XPgyTzzOCXCUxxq5s+BJ/PM45QIT3GomT8Hnswzj1MiPMWhZv4ceDLPPE6J8BSHmvlz4Mk88zglwlMcaubPgSfzzOOUCE9xqJk/B57MM49TIjzFoWb+HHgyzzxOiYEnrMgch171nYMVmauPfT4lJ+4UwIrM+WAzfiw8GUceq0B4ioXN+EnwZBx5rALhKRY24yfBk3HksQqEp1jYjJ8ET8aRxyoQnmJhM34SPBlHHqtAeIqFzfhJ8GQceawC4SkWNuMnwZNx5LEKhKdY2IyfBE/GkccqEJ5iYTN+EjwZRx6rQHiKhc34SfBkHHmsAuEpFjbjJ8GTceSxCoSnWNiMnwRPxpHHKhCeYmEzflLCk3DJWJFZADBWZBaAyh0Z3CmAFZm5yfLmwRMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmwhMvT6k0eJIiy5sLT7w8pdLgSYosby488fKUSoMnKbK8ufDEy1MqDZ6kyPLmBp6wIjMvV+k0rMgsTZgnP3GnAFZk5gEqlAJPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFAdPQmCZY+GJGahQHDwJgWWOhSdmoEJx8CQEljkWnpiBCsXBkxBY5lh4YgYqFJfwJJQfxGJF5oAE4yNWZGaEKRUV3CmAFZmlCPPkwhMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkwxMPR+kUeJImzJMPTzwcpVPgSZowTz488XCUToEnacI8+fDEw1E6BZ6kCfPkB56wIjMPT1MpWJHZFOnCykncKYAVmQsDKXw2PAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHAMPAkDZoqHJyaQwjHwJAyYKR6emEAKx8CTMGCmeHhiAikcA0/CgJni4YkJpHBMwpN0OTu8P+Eyii4eKzIrUB7cKYAVme2WBU92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y/wZLefoHbwFJCw+xGe7PYT1A6eAhJ2P8KT3X6C2sFTQMLuR3iy209QO3gKSNj9CE92+wlqB08BCbsf4cluP0Ht4CkgYfcjPNntJ6gdPAUk7H6EJ7v9BLWDp4CE3Y+BJ+lpxv5EZvzxEfCuqoowPIKDfyHgOsB1gOsA7QD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gHtPYD/rUr+fdj7yBZQhFma73YUG/8Y+k3V1wHuA5wHaAdoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/QD6AfQD6AfQD6AfQD+AfgD9APoB9APoB9APoB9AP4B+AP0A+gH0A+gH0A+gH0A/gH4A/UDQD/jXgtRfiR/sFYQ/JgIlJSV+70W0fQRTImIkCJSUPfejJ4lwZLIRSLQntkQESRCAJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn8mPPEzlUiEJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn8mPPEzlUiEJwmq/JnwxM9UIhGeJKjyZ8ITP1OJRHiSoMqfCU/8TCUS4UmCKn+mKU+YyMzvjirkbRsukIxINgKlz/7oCfP42ZBKBZnqDKXqXyy58KTDNDzBkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlibaEyYyM18LCWlYkZmZLG8cVmTm5SmVlmhPUgUgl4UAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQU54wkVlAZYU8rMgsQJYxEisyM8KUjTLVGcq+C/fT4UmHY3iCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLU20J0xkZr4WEtKwIjMzWd44rMjMy1MqLdGepApALgsBeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIhpjxhIrOAygp5WJFZgCxjJFZkZoQpG2WqM5R9F+6nw5MOx/AETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWppoT5jIzHwtJKRhRWZmsrxxWJGZl6dUWqI9SRWAXBYC8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVDTHnCRGYBlRXysCKzAFnGSKzIzAhTNspUZyj7LtxPhycdjuEJnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtTTRnjCRmflaSEjDiszMZHnjsCIzL0+ptER7kioAuSwE4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHmPKEicwCKivkYUVmAbKMkViRmRGmbJSpzlD2XbifDk86HMMTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6aon2BE86COioJdoTPOkgoKOWaE/wpIOAjlqiPcGTDgI6ammiPWEiM/O1kJCGFZmZyfLGYUVmXp5SaYn2JFUAclkIwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPMeUJE5kFVFbIw4rMAmQZI7EiMyNM2ShTnaHsu3A/HZ50OIYneNJBQEct0Z7gSQcBHbVEe4InHQR01BLtCZ50ENBRS7QneNJBQEct0Z7gSQcBHbVEe4InHQR01BLtCZ50ENBRS7QneNJBQEct0Z7gSQcBHbVEe4InHQR01NJEe8JEZuZrISENKzIzk+WNw4rMvDyl0hLtSaoA5LIQgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeYsoTJjILqKyQhxWZBcgyRmJFZkaYslGmOkPZd+F+OjzpcAxP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqCXaEzzpIKCjlmhP8KSDgI5aoj3Bkw4COmqJ9gRPOgjoqKWJ9oSJzMzXQkIaVmRmJssbhxWZeXlKpSXak1QByGUhAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8BJ7EEbMUAE8sGMVD4EkcMUsB8MSCUTwEnsQRsxQATywYxUPgSRwxSwHwxIJRPASexBGzFABPLBjFQ+BJHDFLAfDEglE8xJQnTGQWUFkhDysyC5BljMSKzIwwZaNMdYay78L9dHjS4Rie4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUu0J3jSQUBHLdGe4EkHAR21RHuCJx0EdNQS7QmedBDQUUsT7QkTmZmvhYQ0rMjMTJY3Disy8/KUSku0J6kCkMtCAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4CDyJI2YpAJ5YMIqHwJM4YpYC4IkFo3gIPIkjZikAnlgwiofAkzhilgLgiQWjeAg8iSNmKQCeWDCKh8CTOGKWAuCJBaN4iClPmMgsoLJCHlZkFiDLGIkVmRlhykaZ6gxl34X76fCkwzE8wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5ZoT/Ckg4COWqI9wZMOAjpqifYETzoI6Kgl2hM86SCgo5Ym2hMmMjNfCwlpWJGZmSxvHFZk5uUplZZoT1IFIJeFADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEHgSR8xSADyxYBQPgSdxxCwFwBMLRvEQeBJHzFIAPLFgFA+BJ3HELAXAEwtG8RB4EkfMUgA8sWAUD4EnccQsBcATC0bxEFOeMJFZQGWFPKzILECWMRIrMjPClI0y1RnKvgv30+FJh2N4gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy3RnuBJBwEdtUR7gicdBHTUEu0JnnQQ0FFLtCd40kFARy1NtCdMZGa+FhLSsCIzM1neOKzIzMtTKi3RnqQKQC4LAXhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIfAkjpilAHhiwSgeAk/iiFkKgCcWjOIh8CSOmKUAeGLBKB4CT+KIWQqAJxaM4iHwJI6YpQB4YsEoHgJP4ohZCoAnFoziIaY8YSKzgMoKedW0IvP2JZto7d3zafvcTVW/s7ISKmlc9uP/mtSgsra1qfaQJlSjc72qz3PlVazIrMakqc5QDRBLKwpPlopJqRY8pQCxdBOeLBWTUi14SgFi6SY8WSompVrwlALE0k14slRMSrXgKQWIpZvwZKmYlGrBUwoQSzfhyVIxKdWCpxQglm7Ck6ViUqoFTylALN2EJ0vFpFQLnlKAWLoJT5aKSakWPKUAsXQTniwVk1IteEoBYukmPFkqJqVa8JQCxNJNeLJUTEq1THjCROYU6IVuJqRV04rMa66bTVtfWRP/bdQpodLd61C937SlWns0ip9j+Zmursi8evVq2rRpE9WrV48aNdLvL9GeLL+e8q0ePOVLzMzx5eXltGDBAlq0aBGtWrWK2rVrR7169XKiLfkEXWlP69evp4ULF9J3331X4alNmzbUrVs3atmypZkLRbgUVzwJY6r2eNc8LVmyhGbNmkXLly+ntm3bUteuXalFixbVzrnQCrjmKeCBzxEBCbse8e+TXT6y1Qaf97KRsXs/+j07/aDfs9NL1Frt2LGDtmzZQjVr1qz4rhj1PNuOc/Xznm2cC60PPBVK0Mz5rnnC91wz100hpcydO5d8T/5YhP/XuXNn6tKlC9WpU6eQWCvOda09BVDxuTwgoeMRn/fgySQBV/o9jBuZvGril4XxiPjsTJ4JTyZpxy8LnuKzw5l8BFz5HMFHxM4kU54wkVnAf4W8alqRefXxU2jHoq0s76qkRy2qf3l7qtW3IUueVSGOrcg8YcIEOuuss2jSpEkJzOeddx7dd999iW2tT0x1hib4wJMJyvmVsW7dOnryySfppZdeorFjx1bcCJCa4E9o3mOPPeiGG26gfv36pb6saltre1qxYgU99thjNGrUKPrkk09o27ZtadwbN25M/fv3pxtvvJGGDBmS9rqmHdo8bdiwgU499VSaOHFiLMwnn3wy3XrrrbHOrc6TtHlKZrVx40a688476dlnn6VvvvmG/L4w9c+/Icq/meN3v/sdDR8+PPVlNduaPaVCxueIVCLVv41/n6rfQZQa4PNeFEp2HoN+zz4v6Pfsc5JvjR5++OGK77b+zaH+5Bb/s1KzZs3oxBNPpIceeijfOCuO1/Z5D9+frLhsclYCnnIisu4AfM+1TknGCi1durTi36HRo0fT/Pnz047x+/SOHTvSRRddROeccw7VqlUr7RgtO7T9+1QVV3wur4qOfa/h8559TjLVCJ4yUamefRg3qh7u+ZaK8Yh8iVXP8fBUPdzzLRWe8iVm7vgLLrigYt4KR4lNmjShV155hXbZZReOOPEMTd+f4GmH6PWAiczMeBONq5pWZOacyFyBxhs4qvX/7Z0JvBdV+f8f7mVfBUTFBUUEzAUtzF+KmZo7+jMXFFOzX5mQSy5JbhVpYZqiQeK+BOXPFSX/qb/MMpc0K3NfABdIcJcdZLv3/u8Z+w4z3+V+t3NmzjO85/WCO3Nm5jnPvD9zzpyZ7zPPfLefdP/mZpZJpWsuKxmZzRtSP/rRj2TSpEnS3Nwcg3rEEUfI9OnTY2XaFsL2pM3xPH/RKQ+IB4smEHbixIly2WWXBVl9K3GpsbFRvve978nFF18s3bt3r2QXr7bR2J5Wr14dBCabgMtigZalAI8ePVp+9atfqcwoq1Gn3//+93LooYeWkqNsuXlZwARSaJo06pTj++tf/zoYO1TDfNddd5VrrrlGhg8fnjOj4q9mnaKAGUdEafgxz/XJDx3KecF4rxwhf9fT7/mnDf2ef5rU4pH5AscOO+wgRs/8aaONNhITXKZt0jje4/5Jx1mGTjp0ynnJfW6OhN9/Z8yYISeffHKYgbmctyZDs0lssOeee5bb1Lv1Gq9PxSAyLi9Gxe8yxnt+65PzDp1yJNL9y3OjdPlXWjvPIyolle526JQu/0prR6dKSaW3Xd++fSuOXanEyzvvvFOOPvroSjZNdRtt90/o5PZ0IZDZAd+gkfmUkXmDRmkY2GHdkbYmsmxZ0iQtS1sDX82/1eWj5Rv36S69Lh28zob2uQxkZH744YeDLMzmE2zFpiwEMpvj0nbRytcCnfKJ+LF8+OGHi3l4Xst00EEHyYMPPljLrqnvo6091aPTf//3f1t7YzFp4bTpZLKaf+Mb36gZ0+abby7vvPNOzfuntaM2nQwn86UG85ZoLdPGG28sL774opggF02TRp2ifBlHRGn4M8/1yR8t2vKkHp0Y77VF1u06+j23fGu1Xk97YlxeK3X7+x188MHy0EMPFTWsNZDZHIy28R73T0VPQe8K0ck7SUo6xH1uSTTerDCBYiaA+ZZbbqnaJ5NF7G9/+5sMHTq06n3T3kHb9SmfF+PyfCI6lhnvoVOaBLT1e/Xc5/LcKLkzrR6deB6BTq4JrE/9Hu3J9dn0mX3z1bSFCxdaq8x8ldxop2HS1J7QqXyMaT3nHIHM9dArsm/YuDzKyNzprI2l27GbFvH2s6I1s5bLykc+kTX3tnaIS1oDm0tMHY7vIz2+t2WJtbqKNWdk/uSTT+Sss84S80C9rSkLgcxhe2rrQD1dh06eCtPq1po1a6RTp07BZ3TzvTTnXP/+/YM33VauXJm/OlyeNm2anHDCCeGyhhlt7cl85rhDhw5ifuyITl26dJHPfe5zss022wQDeRNYWSpz2NSpU+sKsI3Wm9S8Np0Ml3p/4DWfsb7nnnuSQmylHo06vfzyy/LFL35R8vu2Xr16iRkzmExHps3NnTs3CHAp9qKUtge0GnXKnaCMI3Ik/PvL9ck/TYp5xHivGBW/y+j3/NWHfs9fbarx7P7775fDDjus5C5aA5k1jve4fyp5Gnq1Ap28kqOkM9znlkTj1Yrrr79exo4dW+BTt27dgi8/DRs2LHi2ZwKWi73obp4B/utf/5IePXoU2PC1QOP1KceScXmOhL6/jPd0aIZOfujEcyM/dCjnBc8jyhHyYz06+aFDOS/QqRwhP9bvu+++8qc//cmaM+ZrUyNHjrRmz5UhbfdP6OTqTPjMLoHMDvgGjcyjjMzlAplDBCuaZNH5b0jz0yvCothMO5FuV24lnUb0jhWrXFCakdkEep1yyikVfX4tC4HM5tzSdtEyPqOToeDv9Omnn0rXrl1DBzt37izHHXdckBlkxx13FBMoa4JnX3jhhSBz6VNPPRVum5sxn4uYP39+EBCdK9PwV1N7Wrt2bRBUmeO67bbbyplnnhkEkEf1M9tdeeWVMn78+IIATRPw/Oqrr+ZMqPmrSScDNf8H3uHDh8tNN91UMW+jk3m5QNukTadiN1WjR4+WKVOmiHlzNDqZz0v98pe/lHPPPTdaHMzPmjVLBg/W85UObToZyIwjCk47rwq4Prl909qW2Iz3dOiU05t+L0fCz7/0e7raU7GzyLzItv3228tbb71VbHVQpjWQ2TivbbzH/VPJ09CrFejklRwlneE+tyQab1YsXrw4eIbw0UcfxXw64IADxHzm2LxcHZ2uuuoqOfvss6NFwbx5RnHGGWcUlPtcoO36ZFgyLvf5jGrbN8Z7bfPxZS06+aKECM+NdNzn8jwCnfzpNYp7omm8R3vS0Z6WL18ur7zySvETro1So++IESNiW3Ts2FHee++9gt+AYxt5tKCpPaGT2/ZEILPlhhk2LkUZmfMRrLjnfVk58X2RpiInX/cG6fPITiIN+XvpWtaYkdlcZDbffHNpbo5nze7Xr59ceumlct5558UCnLMQyBy2J0WnFzrpEMtk8Fi2bJl8/etflyuuuCLIwlzMcxPQPGrUKLnvvvsKVj/33HOy8847F5T7WqCxPZmAcTOZIOVTTz1VGhsbS+KdNGlSEOgc3aB9+/aBzpqCZDXqlP8Dr/mE4QMPPBCVInPz2nQyb1qbHweXLl0aamGCWf75z3+KeZmj1DRmzBi54YYbYqvvvvtuOeqoo2Jlvi5o08lwZBzh69kU94vrU5yHr0uM93xVJu4X/V6ch69L9Hu+KlOZXz/96U/lxz/+cbixGf/tv//+YrLB5Satgcwax3vcP+XOOr//opPf+hjvuM/1XyPj4bhx44Jnr1FvzZe5TBBzqed81157bZDMJbrP0KFD5bXXXgteXomW+zqv8frEuNzXs6kyvxjvVcYp7a3QKW0F4vXz3CjOw9clnkf4qkzcL3SK8/B1CZ18VaZ+v+666y455phjYoZMHMxtt90WK/N1QeP9Uy0s0akyagQyV8apqq2CRqYxI3PkKNe+sUKWHD9LpLkwmLnzef2l6xGbRLZWOKswI7P5fJrJcpmbzIM+80m2n/3sZ7LBBhvIxhtvLB9++GFudfCZ+OnTp4fLWme0XbTQSceZ9swzz4j5fOEOO+xQ1uF58+aJeVi+YkU8W/20adOC7MBlDXi0gbb29PHHHwcZso1W5SYTdD5w4MCCT1A+//zzstNOrS/gKJq06bQ+/sBrTidNOs2ePVuGDBkSawWXXHKJnH/++bGy/IVnn31Wdtlll1jxj370I7n44otjZT4vaNLJcGQc4fPZtM43rk/rWPg8x3jPZ3XW+Ua/t46Fz3P0ez6r07Zvc+fOFfMFFJNxLDeZ8Zx5wc1kt8xNWgOZjf/axnvcP+XOOr//opPf+hjvuM8t/N3GR9UGDRoU+yKA+U1j5syZYsrbmoYNGyYvvfRSbJNHH31U9tprr1iZzwvark+My30+m9r2jfFe23x8WYtOviixzg+eG61j4fMczyN8Vmedb+i0joXPc+jkszr1+falL31JzHUtOpnlXXfdNVrk9by2+6daYKJTZdQIZK6MU8VbhY1LcUbm3MEuuehNWfvAktziur/9GqXPA8PWLSuc05iR2WQc2G677QLa5rMA5lPw0eC8LAYyh+1J0TmGTorEqsLVffbZR8zD8uhkAgBNIKCWSWN7qpbtIYccUpAJ+MEHH5SDDjqoWlOpba9Rp/XxB15tOpl2MHLkyNh5feutt8o3v/nNWFn+gnlByowvotOFF14YvEQVLfN1XptOhiPjCF/Ppvr84vpUH7+k9ma8lxTpeD30e3EeWVmi3/NHSZP18t577w0d2nLLLYPxxgUXXJCJQGaN4z3un8LT0esZdPJansA57nP912jVqlVBIgmTfCA3mS88mS89lZvMFyjzX742CV3MMwkNk8brE+NyDWdWcR8Z7xXn4lspOvmmSPX+8NyoemZp7MHziDSoV18nOlXPLI090CkN6tXX+de//lX22GOP2I4mYPbpp5+Olfm8oPH+qVqe6FQ5MQKZK2dV8ZZBI1OekdkcbMuCNbJw5CsiTYVv9/e8fai0H9S1YibebagwI3Nzc7NcddVVQUbFQw89tABpFgOZzUFqu2ihU8GpmYmCk046SW6++ebYsWgK5ss5rq095fyu9O/ee+8tf/nLX2Kbv/jii7LjjjvGynxf0KbT+vgDrzmHNOmUn1XH+H/uueeK+WGwremxxx4ryHZkPkNkPkekZdKkk2HKOELLmVWdn1yfquOV1taM99IhT7+XDnfXtdLvuSZcmf0//vGPsv/++8c2Nl/uOuKII+Sss87KRCCzOTht4z3un2KnpLcL6OStNKFj3OcW/mYTwvFk5pVXXin4Gt6ECRPEvExTbjKZSwe2fnmtpWXdcVYaBF3OdlLrtV2fGJcndWbYrYfxnl2erqyhkyuyydrluVGyvGutjecRtZJLdj90SpZ3rbWhU63kkt0v/2UpU/vtt98uo0ePTtaROmvTdv9U7eGiU+XECGSunFVFW4aNKwMZmc0BL7nsbVk7fVHBsXc6bSPp9o3NCsq1FGjMyFyObRYDmcP2VO7gFa1HJ0ViRVw99thj5Y477oiUiEyePFlOP/30WJnPC1lsT1He5oeNPn36yKJF8WvW8uXLpWtXPS/eaNRpffyBV5tOK1askO7du8d+AOzVq5eYHxU326z0eO7AAw+UP/zhD9GmJq+//roMHTo0VubrgjadKuHIOKISSn5tw/XJLz3a8obxXlt00ltHv5ce+1prpt+rlZzd/dasWSPDhg0Lxm45y/vtt588/PDDwWJWApk1jve4f8qdkX7/RSe/9THecZ/rv0b33Xdf8PJM1FPTto4//vhoUcn5bbfdVmbOnBmuHzx4sMyaNStc9nlG4/WpHE/G5eUIJb+e8V7yzGupEZ1qoebnPjw38lOXqFc8j4jS8HcenfzVJuoZOkVp+Dv/5ptvBokwzUuJucn87jtnzhxp3759rsj7v1m8f4pCR6cojfLzBDKXZ1T1FkEjy0BGZnPgLUubZOG+L7XOrHvz3ZQ37NJFNrhmWzOrc1KYkbkc6Cw+SDLHnLWLFjqVO5P9XD98+HAxmV6i05133ilHH310tMj7+ay1pyjwKVOmyGmnnRYtCn64f+GFF2JlGha06bQ+/sBrziNtOhX79N3uu+8uv/vd72TDDTcsaBqTJk2SM888M1auLfuRRp1iwIssMI4oAsXzIq5PngsUcY/xXgSGR7P0ex6JUaEr9HsVgnK82RVXXCHjxo0La+nQoYOYr9WYoDAzZSWQ2RyLtnE5909GNf8ndPJfI+POAnnTAAA1nUlEQVQh97l+63TvvfeKyToVna677joZM2ZMtKjk/MiRI+XBBx8M1zc2NsratWvDZd9ntF2fyvFkXF6OUPLrGe8lz7yWGtGpFmp+7sNzIz91iXrF84goDX/n0clfbaKeoVOUhr/zZ5xxRpB8L+phpV/Bie7jw3zW7p+iTNEpSqP8PIHM5RlVtUXYuDKSkdkc/IKvtgaBLV33BkcApHej9PnDsKrY+LQxGZl9UqO0L2F7Kr2JujVZfOCXRZ2iJ9Zbb70lgwYNihYFP5S+/fbbsuWWW8bKfV7Isk5///vf5Stf+YqsXLkyJsFdd90lo0aNipX5vqBRp1I/8Jq3P5uamqShoUHMj01ZmjTq9Oyzz8oXv/jFWFZmo8lWW20l5sWMXXfdNZDI6HbxxRfLRRddFJOsW7du8txzz4nJgKRl0qhTObaMI8oR8ms91ye/9GjLG8Z7bdFJdx39Xrr8q62dfq9aYm62f++994IvaCxdujSs4JxzzpHLL788XM5KILPG8R73T+Fp6PUMOnktT+gc97khCi9njD677LJLzLcLLrhAzA/rlUxjx46V66+/Prapli+vabw+xUAXWWBcXgRKikWM91KEX0XV6FQFLM835bmR5wK1usfzCP81Mh6iEzolTSCL4/IcQ/OV6i222EKWLVuWK5LOnTvLO++8UzSBVbiRhzPo5KEoRVxKSicCmYvAr7coEC8jGZkNi4XHviItb66OY+nUTvo8sXO8TNMSGZnVqJVUZ5gUkCw+8DPssqZT9Hy45JJL5MILL4wWyYgRI+TJJ5+MlWlYyJpOZiD+s5/9TG6++eYgYDaqgQlsfvTRR4NzM1quYV6bTvk/8BrGHTt2lNWrPxs7mCDmAQMGyNZbbx28FLDNNtvIMcccE5Rp0KOUj9p0MsdhApTHjx9fcEjmWE488cQg8N8EMJuHSdHJBDGbLEh77rlntFjFvEad2gLLOKItOv6s4/rkjxaVesJ4r1JSyW9Hv5c881pqpN+rhZq7fY4//ni57bbbwgr69+8vM2fOlB49eoRlWQlkNgekbbzH/VN4Gno9g05eyxNzjvvcGA6vFhYsWCB9+/aN+bTddtvJyy+/XNHzOvMSzsSJE2P7f/DBB7LRRhvFynxd0HZ9KseRcXk5QsmuZ7yXLO9aa0OnWsn5tx/PjfzTJOcRzyNyJPz+i05+65PzDp1yJHT8/cUvfiHnnntuzNlvf/vbctNNN8XKtCxk7f4pxx2dciQq/0sgc+WsKtoybFwZysi8eNwsaXpsefz4WwNe+jyjN5CZjMxxOX1dCtuTrw7W4FcWH/hlUaectOZNtqFDh8qHH36YKwr+Xn311XLqqafGynxf0KzTjBkzZOrUqUEm2ZaWFjGZDGbPni1Gn2LTIYccIiYbc5cuXYqt9rpMo07FfuAtB9m8EXraaaeJycTTu3fvcpt7t16jTjmIl112mZx33nm5xbJ/N9tsM7n99tvly1/+ctltfdtAs06lWDKOKEUmnXKuT+lwt10r4z3bRO3ao9+zy7Nea/R79RJ0v7954TZ/3Pbb3/5WjjvuuFjlWQlk1jje4/4pdip6u4BO3kpT1DHuc4ti8aKwV69esmTJkpgvlXxBzXzh64gjjpD7778/tu8bb7xR8OW82AaeLGi8PpVDx7i8HKHk1jPeS451PTWhUz30/NqX50Z+6MHzCD90KOcFOpUj5Md6dPJDh3q8WLNmTZBAbN68eTEzL774ouy4446xMg0LWbx/MtzRqbazj0Dm2ri1uVfQyDKUkXnpr+bKmt8sKDjmPo/tJNKloaBcRQEZmVXIZJzM2kUriw/8sqhTroGYYOVrrrkmtxj83XTTTeW1116Tnj17xso1LGhtTya78uOPP14W8YYbbiiTJ08Ossq2b9++7Pa+bqBNpzvvvFNGjx5dE04TxDx9+nTZe++9a9o/zZ206RRl9fDDD8spp5wib775ZrS4YP7oo4+WG2+8UWV/lzsYzTrljiH6l3FElEb681yf0tfAhgeM92xQdGeDfs8d21os0+/VQi25fUzQ1/Dhw+WFF14IK91jjz3kiSeeCJdzM1kJZDbHo228x/1T7iz0+y86+a1PMe+4zy1GJf2yM888UyZNmhRzpGvXrnLVVVfJySefHCs3C2vXrg2+KjBhwoQgiUF0g4aGBjE/1JsvDWiYtF2fyjFlXF6OUDLrGe8lw7neWtCpXoJ+7c9zIz/04HmEHzqU8wKdyhHyYz06+aFDPV787//+b0HSAvNb+5///Od6zKa6b9bunwxMdKrtlCKQuTZuJfcKG1eGMjIvvfrfsmbaJ/FjbmzNyPzoMJHOOgOZycgcl9PXpbA9+epgDX5l8YFfFnUy0v7zn/+U//qv/5Lm5uaY0uYtxcMOOyxWpmFBs0677767PP300xVhNsHMRx55pJhsPCbri7ZJo05z586V3XbbLciUbQL8+/TpE7Dv2LGjfPTRR/Luu+/K6tWrS0phfoAyb4ga7bRMGnWKsjU/DF555ZUFnxyKbmPmzSdgf/KTn8jYsWNF48sB2nXK18MsM44oRiW9Mq5P6bG3VTPjPVsk3dmh33PHthbL9Hu1UEtunylTpgRfPcnV2NjYKM8++6zstFNrIoK8KSuBzBrHe9w/5Z2Mni6ik6fCtOEW97ltwElxlXkutPXWW8uyZcsKvNh2221l2LBhstVWW8n7778vM2fOlNdff10WL15csG2uwLTNAQMG5Ba9/avx+lQOJuPycoSSWc94LxnO9daCTvUS9Gd/nhv5owXPI/zRoi1P0KktOv6sQyd/tKjVk1122SV45hfdX2sMizmGLN4/meNCJ0Oh+olA5uqZld0jaGQZysi8fNp8WXX1hwXH3eeZz7f2KAXFOgrIyKxDp1Yvs3bRyuIDP3MyZU0n83B91113DTIvRxvLqFGjxHz+UOukVadzzjlHJk6cWBX2LbbYQqZNmyZ77bVXVfv5sLFGnVpaWoKgfxMskT+ZdeYHqalTpwYZs9977738TYKXA8wNlqZJo06Gr8nIZwKTX3311Ypxm88Q/e53v5OBAwdWvI8vG2rVqRQ/xhGlyKRTzvUpHe62amW8Z4ukWzv0e275Vmudfq9aYslt//HHH8uQIUNk4cKFYaUmc9jVV18dLkdnshLIbI5J43iP+6fo2ejvPDr5q02+Z9zn5hPxa9kkGzjvvPOsOLVo0SI1iQs0Xp/aEolxeVt0klnHeK8lGdB11oJOOnSqRGaeG1VCKblteB6RHOt6akKneuglty86JcfaRU3mK9Ymq3Z0Mi+Pzp49W8xXbLROWbt/Qqfaz0QCmWtnV3TPsHFlPSNz+9aMzE/tXJSBhkIyMmtQSeePUeXIZvGBX9jvlTt4JevND1VHH3203HPPPTGPTZZZE/hnNNQ4addp6dKlYrQx05IlS8RkYJkzZ4787W9/k1tuuUVWrFhRIEuXLl3k+eefD37QL1jpaYF2ncphNZmZv/71r8v06dMLNjXZ4r7whS8UlPtYoFUnE0z+ne98R9asWRPDavq3s88+Wz744AO5/vrri2bQ7tevXxDMbLJva5m06tQWX8YRbdFJZx3Xp3S411sr4716CSa3P/1ecqwrrYl+r1JSyW538skny4033hhWar52MmvWLOndu3dYFp3JSiBzFsd7UZ24f4rS8HcendLVhvvcdPlXWvt9990nY8aMCb7cVck+xfp3U9bU1BS8wFKJjTS3KeZ/mv7YqJtxuQ2K9dlgvFcfv6T2RqekSLuth+dGbvnWap3nEbWSS3Y/dEqWd621oVOt5NLfz3w5/P777485ctVVV8mZZ54ZK9O0kMX7J3Sq/QwkkLl2diX3DBpZhjIyLx7/hjQ9tDR+vN0apM+jhZ+mjG/k8RIZmT0WJ+5a1i5aWXzgZxTLkk4mQ4jJFBKdTJbZhx56SPbbb79osbr5LOkUhW8+UzlhwgSZNGlStDiYN5/HMZl5NL2BmFWdcuKYQHTzKRXzZmh0uvnmm+Vb3/pWtMjreW06mZtYE6ycP5kfEn/+85+HQS7mJYFx48bJ3Xffnb+pdO3aVV566aXgs7AFKz0t0KZTOYyMI8oR8ms91ye/9Ih6w3gvSsPvefo9v/XJ945+L59IMsvFPnd8ww03BC+wlfIgK4HM5viyNt7L14z7p3wifi6jUzq6cJ+bDvdaazXjhB/+8IfywAMPyPz58wvMdO/eXbbZZhvZc8895bTTTpOLLrpIbrvttnA783LOggULwmXfZ7J2fWJcnu4Zx3ivXZjkJF0l2q4dnXTo1LaKn63luVEllPzahucRfulRyht0KkXGr3J08kuPqDfmt/Vtt902+EpyrrxHjx4yb9486dmzZ65I5d8s3T+hU32nIIHM9fEr2DtsXBnKyLxw1MvSMjeeua/dJu2l9/07Fhy/lgIyMutQKmxPOtytyMssPvDLkk6TJ0+WM844o0BLU3766acXlGsqyJJOpbh/97vfleuuu65g9aOPPip77bVXQbmPBeuDToa70cnoFZ1MGzNtTcOkTaeZM2fKsGHDYpmWO3bsKFOmTJGTTjqpKHKT6dxokp/t3LzQ8fDDDxfdx7dCbTpVwo9xRCWU/NuG65NfmjDe80uPct7Q75Uj5Od6+r1kddlnn33E3PPkJvPS4DPPPNPmy5xZCWTO4ngvp2P0L/dPURr+zqNTstpwn5ssb9u1vfPOO0F2ZhOYbL6oNmjQINlkk01i1ZgvQpkvseUmE+D82GOP5Ra9/pvF6xPj8nRPOcZ7n32pMV0VyteOTjp0Kqckz43KEfJ7Pc8j/NYn5x065Uj4/Red/NPn1FNPlWuuuSbmmKbf12OORxaydv+EThFxa5glkLkGaOV2CRpZVjIyt95zLNj9eZGm+M1H4z7dpdelg8uh8Hc9GZn91SbPs6xdtLL4wM9IlgWdfvOb38iJJ55Y8Ga/yWA6ceLEvDNT52IWdGqL/Nq1a4O3EN98883YZldccYV8//vfj5X5vJB1nQz7p556SkaMGBGTYeTIkfL73/8+Vubzgiad9t9/f/njH/8Yw3nttdfK2LFjY2X5CyZg+cADDyzoF41+5gdFDZMmnSrhyTiiEkr+bcP1yR9NGO/5o0WlntDvVUrKr+3o95LTY+HChdKnT5+CCocOHVpQFi2YM2eOrFq1Klok0X1MRkzzmUoNX7bJ2ngvJsp/Frh/KkbFvzJ0SlYT7nPjv9ckSz+Z2jbaaKMg2DlXm3m2Z57xaZmydn1iXJ7emcd4T8fvT+ikQ6dyLZnnRuUI+b+e5xH+a2Q8RCd0SpJAVsbl5iXQLbbYIpaAyhybecl38GDFsXv/ORnQKclWUXtdSehEIHPt+hTdMxQtIxmZVz21UJafOafgWDufv6l0PXzjgnItBWRk1qFU2J50uFuRl1l84JcFnWbMmCGjRo0KbpyiQn7rW9+Sm2++OVqkdj4LOlUC32h26623xjbVpOP6otMbb7xRcFP11a9+VR555JGYdr4uaNLp008/FfNZoaamphDn7rvvLk8++WTwEkpYWGLGvMxhPtcbna6++moxb5P6PmnSqVKWjCMqJeXfdlyf0teE8V76GtTiAf1eLdT82Id+LxkdzKcKhwwZ4qQyY9sENPs8ZXG8V4w390/FqPhXhk7JacJ9bvaDmE0m5vwXqG+//XYZPXp0cidaHTVl8frEuLyOE6LOXRnvtStIslAnUie7o5MOndoSn+dGbdHRtY7nETr0Qid0SoJAlsblP//5z+WCCy6IYdOWJCzmfGQBnSIwPJ5NSicCmR2cBIF4GcnIvOi7r0vzs58WUOp1/3bSuEmngnI1BWRkViNVUp1hUkCy+MDPsNOsk8lSeuihhxZkozryyCPlzjvvlMbGxqROD+f1aNapUjiXXHKJXHjhhbHNTzrpJLnxxhtjZT4vrA86Pfjgg2JurqLT4YcfLvfee2+0yOt5LTo9++yzYj4vHp0mTJhQcLMbXR+dL5ZV7JxzzpHLL788upm381p0qhQg44hKSfm3HdendDVhvJcu/3pqp9+rh166+9LvJcP/rbfekkGDBjmp7O2335atttrKiW2bRrM23ivGhvunYlT8K0On5DThPld/sFi5s8UknLjnnnvCzUxfb74mMGDAgLDM95msXZ8Yl6d3xjHe0/H7Ezrp0KlUS+a5USkyOst5HqFDN3RCp6QIZGFcvnr1ahk4cKC8++67MWzmy7r77bdfrEzrAjrpUC4JnQhktnwuhKJlICPz2jmfypLRM0Wa42/4t9u4UXr/v2GWySVrjozMyfKutbawPdVqwMP9svjAT7NOJkDPfIpy+fLlsbPl4IMPFvP2dYcOHWLlmhc061QN9+985zty0003xXYxN8Pnn39+rMzXhfVFp2JvjZ5++ukyefJkX6WJ+aVJpzvuuEOOPfbYmP/XXXedjBkzJlZWamHu3LkFASwmS/PEiRNL7eJNuSadKoXGOKJSUv5tx/UpPU0Y76XH3kbN9Hs2KKZjg34vGe6rVq0KApnnz59vtUITwPz6669Lp05+JzHI4nivmJDcPxWj4l8ZOiWnCfe58d9rkiOfTE0mGNB8Grm5uTmsUFumsSxenxiXh6dj4jOM93S8vIFOOnQq1oB5blSMiu4ynkfo0A+d0CkJAlkZl0+bNk1OPPHEGLLttttOXnnllViZ1gV00qFcUjoRyOzgfAjE056RufUZ0cIjX5KW+WsLCHW+cFPpetjGBeWqCsjIrEaupDrDpIBk8YGfYadRp+eee0723ntvWbx4cUz+ffbZRx544AHp3LlzrDwLCxp1qoa7+bTo9ttvLyZzWHT6v//7PznggAOiRV7PZ10n0+Y+//nPF+h0//33B9nRvRYn4pwWnZ588kn58pe/HPFc5Hvf+55MmjQpVlZq4Q9/+IMceOCBsdW33HKL/M///E+szNcFLTpVyo9xRKWk/NqO61N6ejDeS4+9rZrp92yRTNYO/V6yvE2g18qVK6uq1Hxh49prrw336du3r/z73/8Ol00As5avE2VtvBeK8J8Z7p/yifi5jE7J6sJ9rt5gsXJnypo1a2T06NEFX+wyzyZMMgpNU9auT4zL0z37GO/p6PfQSYdO0dbMc6MojWzM8zxCh47ohE5JEsjCuNz8rv7888/HsFWTtCq2o6cL6OSpMHluJaETgcx50OtdDEXTnJG5NYh58YWzpelPywpxdG+QPo/sJNJQuMqUrJ29XFY+tShY2XlEb2m/Tddgfs2ry2TVEwtl7YvLpV2/DtJhWDfptOsG0rh5OoGCZGQOZPH+v7A9ee9p5Q5m8YGfRp1MZqk999xTPvroo5h4u+++u5hPcHTr1i1WnoUFbTqNHz9ezKdCv//97wcB55VoYDL6Xn311QWbfvDBB7LRRhsVlPtYoE0n86bnkiVLZLfddqsY51FHHSXTp0+Pbd+nTx+ZN2+edOnSJVbu64ImnVasWCG9evWStWvXvZxmeJv2ZTLttTU1NTUFnyR69NFHY5u98MILMmyY/1/n0KRTDHAbC4wj2oCT0CquTwmBtlAN4z0LED0wQb+Xvgj0e+lr4MKDs846S375y1+Gps39krlv0jZpG+9x/6TjDEMn/3XiPjebGZmXLl0q5pmReTYbnT73uc/Jq6++Gi3yfl7b9akSoIzLK6Hk1zaM9/zSo5Q36FSKjPtynhu5Z1xvDTyPqJdgMvujUzKc660FneolmN7+f/7zn+WrX/1qzAHzO+8777wjXbt+Fo8XW6lwIQv3T+hk78QjkNkey9BS0MiUZmRuWbxWFp81S5pfXhUeT3Smy/jNpMvI0sFgi86cKc1PrQh2aRjRVXqcu5UsOXmWtLy/LngmtNeunXQ6tZ90+8ZmYVFiM2RkTgx1vRVl4aIVZZDFB37m+DTptGDBgiAbbDTblDmG4cOHy5/+9Kcg4M8sZ3HSpNMOO+wQfg7FBJ2ffPLJ8rWvfa1okLkZqJ977rly++23F8h25JFHyj333FNQ7nOBJp3MZ2tee+21oE2dffbZQUZlEzRbbHriiSfkhz/8oTz++OMFq2fMmCGHHXZYQbnPBZp0Kvam7s477yxTp04tGZD8ySefyLhx4+TWW2+NydCzZ08x69q3bx8r93VBk06VMGQcUQklt9twfdIRNMF4T4dOlbRW+r1KKLndhn4vO+0peqZkJWDCHJOm8R73TzraEzrp0In7XB06vfnmm3LHHXeIeQax7777isn4X2yaPXu2HHPMMWIyY0Yns715XjtixIhosYp5TdenSoAyLq+Ekl/bMN7zS49S3qBTKTJuy3lupGMcwfMIdHLbE9RvXdN4j/akoz0VOysPOeSQ4Gvi0XU/+MEP5LLLLosWqZ/X1J6KwUanYlRqKyOQuTZuJfcKG5eyjMxN766S5b95V9b+bnFrWuXinXj7kT2l5/hBJY/drFh0Rmsg89OfBTJL30aR5a3pnVcWt5cz1HFMP+n+7c1zi4n81ZqR2QTy5X8yIAfsH//4R242+Gse8hXLlrjHHnvIlVdeGdvW14WwPfnqYAm/0KkEGE+KL730Ujn//POLetOhQ4ei5aUKjz322CAQsNR6n8q1tachQ4aI+REjOplM2bvssosMHDhQ+vfvH2TUNtv8/e9/F/MZovxpwIABQZ/Zu3fv/FXeLmvTaZNNNollbjNt6Etf+lKQ6XfTTTeVlpYWmTNnjsyaNavk9euUU06RKVOmeKtJMce06TRt2jQ58cQTCw7FHMfBBx8cZNQ27aVz584yf/58mTlzpvz2t7+VZcsKv85x9913BxmSCox5WKBNpxxCxhE5En7+5frkpy75XjHeyyfi9zL9nt/60O/5rU+t3mUlYELbeI/7p1rP2GT3Q6dkeddaG/e5tZJLdr/LL79czI/sZurevXvwzOgLX/hC8OW0xsZGef/99+Wvf/2rPPnkk0UdMzqfcMIJRdf5XKjt+pRjybg8RyIbfxnv6dARndLRiedG6XCvtlaeR1RLLJ3t0Skd7tXWik7VEvNje5NMbPvttw9+b895ZO6j3nrrLTG/62Zl0nr/lOOPTjkSdv4SyGyHY8xK0Mg8ysjcMKyztN+j5zofm1qkZclaaV7cJC0frZHmV1uzL5uA4zamdtt0lN6/2V6kNTa5rSkWyJy3Ybv+7aXdph2k+aWVIqsjwc2d20mfP+8k0r5d3h4OFxVmZDbBRD169KgbSpcuXcR8fk/LpO2ihU7+n1ljx46V66+/3oqjW221lbz99ttWbCVhRFN7Mp9IMZ/gqHUyg/i//OUvYl7e0DZp0mnLLbeU/Ozm1fA2P16ZH6xMAK22SZNOhq354dD8gFjPdM4559Rto576a9lXm06MI2pROdl9uD5F7uOSRV9VbYz3dOhkRKXfq+rUTmVj+j097amaEyQrARPmmDWN97h/0tGe0EmHTqb9c59rKPg9TZgwIfg6Vy1emq96/fSnP61lVy/20XR9MsAYl3tx2lh1gvGeVZzOjKGTM7RtGua5kY7xHs8j0KnNhuzBSk3jPdqTjvaUf1qPGTNGbrjhhljxUUcdJSbpVNYmTe0pnz065ROpb5lA5vr4FewdNi6PMjIXOFllQeMBPaTXT7YpG8RszBYNZO7dKD2vGyztB3YJam6av1IWnzCz9cnIuuDpLhdtLl0O6lelZ7VvrjEj88KFC6VPnz61H/R/9uzbt698/PHHddtJwkDYnpKozFId6GQJpEMzp512mrXsr+bHLZNtVsOkrT3961//kuOOO05ef/31qvHuv//+QbBlsaz0VRtLeAdtOo0bN06uuOKKqiltuOGGMn78eDED+2ozoVddmYMdtOlkEDQ3N8vZZ58dvMixcmXrS2VVTL169ZIzzjhDfvzjH4t5SUDLpFEnxhH+n11cn/zXyHjIeE+HTsZL+j3/taLf81+jWjzMSsCEtvEe90+1nK3J74NOyTOvtUbuc2sll9x+t912mxx//PFVVfj5z39eJk6cKHvvvXdV+/m0sbbrk2HHuNynM8iOL4z37HB0bQWdXBMubp/nRsW5+FbK8wjfFCnuDzoV5+JbKTr5pkh5f5YsWSLmi1H5X6V+4oknVCZya+uINd4/5Y4HnXIk7P0lkNkey9BS0Mg8ysgcOlbtTJcG6XzWJtL1axtXvGdBIHNrEPMGt31OGjbsELOx/I73ZNWV74dlHb+9oXQfs0W47HxGYUZmw8QE5b300kt14fnKV74SZCmty0iCO2u8aKFTgidIDVU98MADcswxx8jy5ctr2Du+y6hRo+Suu+6KF3q8pK09mR+kHnroITGfkTTZlT/88MOSdE3G+p122ikItNxvv/1KbqdhhTad/vGPf8jUqVMDrcynbEpN7du3l6233loOP/xwOf/888UEx2qetOmUY/3BBx/I5MmT5brrrpMFCxbkiov+7d+/v5xyyily+umnq9VLo06MI4qejl4Vcn3ySo6izjDe05Vhgn6v6GnsVSH9nldyWHEm/1PK5l7q+eeft2I7aSPaxnvcPyV9htRWHzrVxi2tvbjPTYt8+XrXrl0bJBv49a9/LbNmzSq5g3muN3To0OD5wwknnBBk2y+5sZIV2q5PBivjciUnV4VuMt6rEFTKm6FTOgLw3EjPcyOeR6TTRqqtFZ2qJZbO9uiUDvdaa503b54MGTIkFsh82GGHyYwZM2o16fV+Gu+fDFB0sn9aEchsmWnYuFLKyLzo1Nel+R+f1ndUfRul0zf7SbcjNxFp364qW7FA5sZ2ssHvt5eGvvEgZmOwZdFaWbj/uoDc9iN7Ss/xg6qqq56NNWZkrud4te4btietB7Ce+I1OOoTOgk4zZ86UuXPnBgHNn3zyifTs2VMGDx4c/Nt448pfuvFZMe06ffTRR8ELNybzv9GoqalJBg4cGNxomb8mmDkLk3adchoYnf79738H/+bPnx/oM2DAADHZ5s2/bt265TZV+TcrOqmEX4XTWdCJ61MVgrOpUwJZaE9OAXliPAs60e95cjLV6YYZCy5evFg6deokm266qTQ0NNRpMfndtbcn7p+SP2dqqRGdaqGW3j7c56bHvlzN77//vrz44oti/i5atEi6dOkSPNMzP86b61CWJu3Xpyxp0daxrA86Md5r6wzwZx06+aNF1j3JQr/H8wgdZyk6oZMvBLT3e+YLuybRm3lB1Lz82a9fP1/QWvUDnazidGYsKZ0IZHYgYSBeShmZVz+7WJb9YI7I0ua2j6w1yFhMfHFr1uV23RukYXAn6bBrD+m0W29p7N+p7X3bWBsLZO7cTvo8vnPJrRd8qTXTS/Nnb/w17N5VNvjl0JLbWl+hNCOzdQ4KDCbVGSpA4bWL6OS1PKFz6BSi8HoGnbyWJ3QOnUIUXs+gk9fyhM6hU4jC6xl08lqe0Dl0ClF4PYNOXssTOodOIQqvZ9DJa3lC59ApROH1DDp5LU/oHDqFKLyeQSev5QmdQ6cQhdcz6OS1PKFz6BSi8HoGnbyWJ3QOnUIUXs+gk9fyhM6hU4jC6xl08lqe0LkkdCKQOcRtZyYULaWMzHaOonYrVQUy79kayLzyP4HMu7UGMk9KLpCZjMy1a5zknmF7SrJS6qqaADpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2QKdUsFddKTpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2QKdUsFddKTpVjSyVHdApFexVV4pOVSNLZQd0SgV71ZWiU9XIUtkBnVLBXnWl6FQ1slR2SEonApkdyBuIl1JGZgeHU5VJLYHMQkbmqnRNc+OkOsM0jzELdaOTDhXRCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OFlEu2JQGbL50IoGhmZRTq3kz6P71yS8AIyMpdkw4rPCITtCSBeE0Anr+UJnUOnEIXXM+jktTyhc+gUovB6Bp28lid0Dp1CFF7PoJPX8oTOoVOIwusZdPJantA5dApReD2DTl7LEzqHTiEKr2fQyWt5QufQKUTh9Qw6eS1P6Bw6hSi8nkEnr+UJnUOnEIXXM+jktTyhc+gUovB6Bp28lid0Dp1CFF7PoJPX8oTOJaUTgcwhcnszgXhkZPY6kJmMzPbOd9eWkuoMXR9H1u2jkw6F0QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhJe0JnXQQ0OEl7QmddBDQ4SXtCZ10ENDhZRLtiUBmy+dCKBoZmb0OZG7XeI+0tLRYVh9ztgmE7cm2YexZJYBOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M4ZOztBaNYxOVnE6M5aUTgQyO5AwEI+MzF4HMpOR2cGJ78hkUp2hI/fXG7PopENqdEInHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4mUR7IpDZ8rkQikZGZq8DmcnIbPnEd2QubE+O7GPWDgF0ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtRV0ck3Yjn10ssPRtZWkdCKQ2YGSgXhkZPY6kJmMzA5OfEcmk+oMHbm/3phFJx1SoxM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDS9oTOukgoMNL2hM66SCgw0vaEzrpIKDDyyTaE4HMls+FUDQyMnsdyExGZssnviNzYXtyZB+zdgigkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq2gk2vCduyjkx2Orq0kpROBzA6UDMRbTzMyL75gtjQ9suwzqj0bpM8jO5UkvGC/F0QWNwfrG/ftLr0uGVxyW+srGu6WpBqZdd/XM4PopENwdEInHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCJx0EdHhJe0InHQR0eEl7QicdBHR4SXtCpxwBAplzJCz9DRvXepqR2WBs/nB1638t0tC3o0iHdqXJrmmR5k9at21oJw0btW6b4ERG5gRh11FV2J7qsMGu7gmgk3vGNmpAJxsU3dtAJ/eMbdSATjYoureBTu4Z26gBnWxQdG8DndwztlEDOtmg6N4GOrlnbKMGdLJB0b0NdHLP2EYN6GSDonsb6OSesY0a0MkGRfc20Mk9Yxs1oJMNiu5toJN7xjZqQCcbFN3bQCf3jG3UgE42KLq3gU7uGduoAZ1sUHRvA53cM7ZRQ1I6EchsQ608G4F462lG5jwU/i6SkdlfbfI8S6ozzKuWxSoJoFOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2lzdEoJfJXVolOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2lzdEoJfJXVolOVwFLaHJ1SAl9ltehUJbCUNkenlMBXWS06VQkspc3RKSXwVVaLTlUCS2nzJHQikNmyuKFo63FGZstInZgjI7MTrNaNhu3JumUM2iSATjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOFTu7Y2rSMTjZpurOVlE4EMjvQMBCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5dJtCcCmS2fC6FoZGS2TNauOTIy2+XpylrYnlxVgF0rBNDJCkbnRtDJOWIrFaCTFYzOjaCTc8RWKkAnKxidG0En54itVIBOVjA6N4JOzhFbqQCdrGB0bgSdnCO2UgE6WcHo3Ag6OUdspQJ0soLRuRF0co7YSgXoZAWjcyPo5ByxlQrQyQpG50bQyTliKxWgkxWMzo2gk3PEVipAJysYnRtBJ+eIrVSATlYwOjeSlE4EMjuQMhCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5dJtCcCmS2fC6FoZGS2TNauOTIy2+XpylrYnlxVgF0rBNDJCkbnRtDJOWIrFaCTFYzOjaCTc8RWKkAnKxidG0En54itVIBOVjA6N4JOzhFbqQCdrGB0bgSdnCO2UgE6WcHo3Ag6OUdspQJ0soLRuRF0co7YSgXoZAWjcyPo5ByxlQrQyQpG50bQyTliKxWgkxWMzo2gk3PEVipAJysYnRtBJ+eIrVSATlYwOjeSlE4EMjuQMhCPjMwOyFo0SUZmizDdmkqqM3R7FNm3jk46NEYndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5e0J3TSQUCHl7QndNJBQIeXtCd00kFAh5eJtKcWJqsEWk+twB5/4WBOBM4DzgPOA9oB/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP2A1n7AnLsup896B5c1rIe2tZ5s+M3F0jRXzgPOA84D2gH9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/QD9AP0A/UCuHzDngqupnTHcWhETBCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHECBDInBhqKoIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAARyBAhkzpHgLwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIJAYAQKZE0NNRRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgECOAIHMORL8hQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBIjQCBzYqipCAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEMgRIJA5R4K/EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQGIECGRODDUVQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAjkCBDLnSPAXAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQSIwAgcyJoaYiCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIEeAQOYcCf5CAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiREgkDkx1FQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI5AgQyJwjwV8IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAgMQIEMieGmoogAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBHAECmXMk+AsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgkRoBA5sRQUxEEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQI0Agc44EfyEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAIHECBDInBhqKoIABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAARyBAhkzpHgLwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIJAYAQKZE0NNRRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgECOAIHMORL8hQAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABBIjQCBzYqipCAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEMgRIJA5R4K/EIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAQGIECGRODDUVQQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAjkCBDLnSPAXAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQSIwAgcyJoaYiCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAIEeAQOYcCf5CAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACiREgkDkx1FQEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEI5AgQyJwjwV8IQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAgMQIEMieGmoogAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIACBHAECmXMk+AsBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQgkRoBA5sRQUxEEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCQI/D/AXS7PVttGH42AAAAAElFTkSuQmCC\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"algorithm\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"algorithm\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"algorithm\"","","\"","algorithm","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2b9781370\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2b97812d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2b9780a10\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2b97815f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2b9781550\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2b97814b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2b9781410\u003e":"tag:\"algorithm\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2b9781410\u003e":"tag:\"algorithm\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"algorithm\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"algorithm\"","","\"","algorithm","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2b9781370\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2b97812d0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2b9780a10\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2b97815f0\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2b9781550\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2b97814b0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2b9781410\u003e":"tag:\"algorithm\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2b9781410\u003e":"tag:\"algorithm\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2053,"difficulty_rating":"easy"},{"id":55530,"difficulty_rating":"easy-medium"},{"id":45385,"difficulty_rating":"easy-medium"},{"id":2189,"difficulty_rating":"easy-medium"},{"id":55285,"difficulty_rating":"easy-medium"},{"id":55290,"difficulty_rating":"easy-medium"},{"id":56070,"difficulty_rating":"easy-medium"},{"id":2685,"difficulty_rating":"medium"},{"id":43642,"difficulty_rating":"medium"},{"id":2190,"difficulty_rating":"medium"},{"id":57715,"difficulty_rating":"medium"},{"id":57735,"difficulty_rating":"medium"},{"id":45367,"difficulty_rating":"medium"},{"id":45463,"difficulty_rating":"medium"},{"id":55305,"difficulty_rating":"medium"},{"id":45389,"difficulty_rating":"medium"},{"id":45426,"difficulty_rating":"medium-hard"},{"id":45422,"difficulty_rating":"medium-hard"},{"id":45416,"difficulty_rating":"medium-hard"},{"id":45458,"difficulty_rating":"medium-hard"},{"id":55355,"difficulty_rating":"medium-hard"},{"id":57760,"difficulty_rating":"hard"}]}}