{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.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":"2026-04-06T00: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":59409,"title":"Determine pressure altitude using field elevation and altimeter setting","description":"Given an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the pressure altitude of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.","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: 42px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 21px; transform-origin: 407px 21px; vertical-align: baseline; \"\u003e\u003cdiv style=\"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=\"\"\u003eGiven an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Pressure_altitude#QNE\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003epressure altitude\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 of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function a = pressureAlt(elevation,altSetting)\r\n  a = [];\r\nend","test_suite":"%%\r\nelevation = 4831;\r\naltSetting = 30.00;\r\na_correct = 4750;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n%%\r\nelevation = 1602;\r\naltSetting = 29.83;\r\na_correct = 1690;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n%%\r\nelevation = 0;\r\naltSetting = 29.92;\r\na_correct = 0;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":48615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":22,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-12-08T01:14:46.000Z","updated_at":"2026-02-20T08:53:13.000Z","published_at":"2023-12-08T01:14:46.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\u003eGiven an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Pressure_altitude#QNE\\\"\u003e\u003cw:r\u003e\u003cw:t\u003epressure altitude\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.\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":42641,"title":"MATLAB Basic: rounding ","description":"Do rounding near to zero \r\n\r\nExample: -8.8, answer -8\r\n\r\n+8.1  answer 8","description_html":"\u003cp\u003eDo rounding near to zero\u003c/p\u003e\u003cp\u003eExample: -8.8, answer -8\u003c/p\u003e\u003cp\u003e+8.1  answer 8\u003c/p\u003e","function_template":"function y = round_zero(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = -8.8;\r\ny_correct = -8;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  8.8;\r\ny_correct =  8;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  0.8;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  0.4;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n\r\n%%\r\nx =  0;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  eps;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  pi;\r\ny_correct =  3;\r\nassert(isequal(round_zero(x),y_correct))","published":true,"deleted":false,"likes_count":50,"comments_count":10,"created_by":27760,"edited_by":427930,"edited_at":"2024-04-30T18:06:07.000Z","deleted_by":null,"deleted_at":null,"solvers_count":6346,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-10-01T05:13:22.000Z","updated_at":"2026-04-13T00:52:04.000Z","published_at":"2024-04-30T18:06:07.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\u003eDo rounding near to zero\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\u003eExample: -8.8, answer -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\u003e+8.1 answer 8\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":61140,"title":"Calculating Swimming Stroke Index (SI)","description":"In competitive swimming, speed () is only one part of the equation. High efficiency is defined by moving fast while maintaining a high Distance Per Stroke (DPS). The Stroke Index (SI) is a common metric used by coaches to quantify this efficiency.\r\nYour task is to calculate the Stroke Index based on a single pool length. However, you must account for the glide distance after the wall push-off, as no strokes are taken during that phase.\r\n\r\nWhere:\r\n is the velocity over the entire length (m/s).\r\nDPS is the distance covered per stroke during the swimming phase only.\r\nConstraint:If the glide distance (pushOff) is greater than or equal to the pool length (poolLength), the scenario is physically impossible for this calculation. In such cases, the function must return NaN.\r\nInputs\r\npoolLength: Pool length in meters (e.g., 50).\r\ntime: Time taken to complete the length in seconds.\r\nstrokeCount: Total number of individual arm strokes taken.\r\npushOff: Glide distance (meters) covered before the first stroke begins.\r\nOutput\r\nSI: The Stroke Index rounded to two decimal place","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); 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: 483.562px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 408px 241.781px; transform-origin: 408px 241.781px; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn competitive swimming, speed (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003ev\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) is only one part of the equation. High efficiency is defined by moving fast while maintaining a high \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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eDistance Per Stroke (DPS)\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eStroke Index (SI)\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a common metric used by coaches to quantify this efficiency.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour task is to calculate the Stroke Index based on a single pool length. However, you must account for 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eglide distance\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e after the wall push-off, as no strokes are taken during that phase.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"82\" height=\"18\" alt=\"SI = v*DPS\" style=\"width: 82px; height: 18px;\"\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhere:\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; padding-inline-start: 0px; padding-left: 0px; 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.2188px; text-align: left; transform-origin: 363px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003ev\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is the velocity over the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eentire\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e length (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003em/s\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\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.2188px; text-align: left; transform-origin: 363px 10.2188px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eDPS\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is the distance covered per stroke during the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eswimming phase only\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 43px; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21.5px; text-align: left; transform-origin: 384px 21.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eConstraint:\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the glide distance (\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epushOff\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) is greater than or equal to the pool length (\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epoolLength\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), the scenario is physically impossible for this calculation. In such cases, the function must return \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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eNaN\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; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInputs\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 83.75px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 391px 41.875px; transform-origin: 391px 41.875px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epoolLength\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Pool length in meters (e.g., 50).\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003etime\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Time taken to complete the length in seconds.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003estrokeCount\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Total number of individual arm strokes taken.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epushOff\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Glide distance (meters) covered before the first stroke begins.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.9375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 391px 10.4688px; transform-origin: 391px 10.4688px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eSI\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: The Stroke Index rounded to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003etwo decimal place\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function SI = calculateStrokeIndex(poolLength, time, strokeCount, pushOff)\r\n  SI = 1;\r\nend","test_suite":"%% Test Case 1:\r\nassert(isequal(calculateStrokeIndex(50, 35, 30, 5), 2.14));\r\n\r\n%% Test Case 2: Short Course Sprint\r\nassert(isequal(calculateStrokeIndex(25, 15, 12, 6), 2.64));\r\n\r\n%% Test Case 3:\r\nresult = calculateStrokeIndex(25, 10, 15, 30);\r\nassert(isnan(result), 'Function should return NaN when glide distance exceeds pool length');\r\n\r\n%% Test Case 4:\r\nresult = calculateStrokeIndex(50, 40, 20, 50);\r\nassert(isnan(result));\r\n\r\n%% Test Case 5:\r\nfor i = 1:5\r\n    L_rand = 50;\r\n    T_rand = 30 + rand*20;\r\n    S_rand = 20 + randi(20);\r\n    G_rand = rand*10;\r\n    \r\n    v = L_rand / T_rand;\r\n    DPS = (L_rand - G_rand) / S_rand;\r\n    expected = round(v * DPS, 2);\r\n    \r\n    assert(abs(calculateStrokeIndex(L_rand, T_rand, S_rand, G_rand) - expected) \u003c 1e-8);\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4996329,"edited_by":4996329,"edited_at":"2025-12-18T10:10:12.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-12-18T09:56:54.000Z","updated_at":"2026-04-10T15:35:54.000Z","published_at":"2025-12-18T10:03:46.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\u003eIn competitive swimming, speed (\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\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"v\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$v$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e) is only one part of the equation. High efficiency is defined by moving fast while maintaining a high \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDistance Per Stroke (DPS)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eStroke Index (SI)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a common metric used by coaches to quantify this efficiency.\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\u003eYour task is to calculate the Stroke Index based on a single pool length. However, you must account for the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eglide distance\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e after the wall push-off, as no strokes are taken during that phase.\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=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"SI = v*DPS\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$$SI = v \\\\cdot DPS$$\u003c/w:t\u003e\u003c/w:r\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\u003eWhere:\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"v\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$v$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is the velocity over the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eentire\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e length (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em/s\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=\\\"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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDPS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is the distance covered per stroke during the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eswimming phase only\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eConstraint:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eIf the glide distance (\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\u003epushOff\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) is greater than or equal to the pool length (\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\u003epoolLength\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), the scenario is physically impossible for this calculation. In such cases, the function must return \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\u003eNaN\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInputs\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epoolLength\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Pool length in meters (e.g., 50).\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etime\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Time taken to complete the length in seconds.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrokeCount\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Total number of individual arm strokes taken.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epushOff\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Glide distance (meters) covered before the first stroke begins.\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\u003eOutput\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSI\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: The Stroke Index rounded to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etwo decimal place\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":44695,"title":"What score did they give?","description":"Your task in this problem is to figure out the most recent score, |S|, submitted.  \r\n\r\n\u003c\u003chttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Star_rating_4.5_of_5.png/799px-Star_rating_4.5_of_5.png\u003e\u003e\r\n\r\nMany websites allow users to rate things like restaurants, books, films, and even computer programs.  Often these are rated _from one to five stars_, and the display shows the _average_ rating after _rounding to one decimal place_, |R|, and the number of users who have rated the item/place/thing, |N|.  \r\n\r\nThis morning you checked the website and noted |R| and |N|.  This evening you check again:  |N| has increased by one, and the rounded version of the updated overall rating is now displayed, |R_new|.  You then deduce what possible scores, |S|, were submitted by the additional person during the day.  \r\n\r\nEXAMPLE\r\n\r\n % Inputs\r\n N = 11\r\n R = 2.5\r\n R_new = 2.6\r\n % Output\r\n S = [3 4]\r\n\r\nExplanation:  Given |N|=11, the unrounded version of |R| must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing |N| by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of |R_new| would become 2 ⁷/₁₂, consistent with the displayed value.  \r\n\r\n|S| shall be a row vector, or scalar, or empty.  If |S| is a row vector, scores shall be listed in ascending order, without repetition.  ","description_html":"\u003cp\u003eYour task in this problem is to figure out the most recent score, \u003ctt\u003eS\u003c/tt\u003e, submitted.\u003c/p\u003e\u003cimg src = \"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Star_rating_4.5_of_5.png/799px-Star_rating_4.5_of_5.png\"\u003e\u003cp\u003eMany websites allow users to rate things like restaurants, books, films, and even computer programs.  Often these are rated \u003ci\u003efrom one to five stars\u003c/i\u003e, and the display shows the \u003ci\u003eaverage\u003c/i\u003e rating after \u003ci\u003erounding to one decimal place\u003c/i\u003e, \u003ctt\u003eR\u003c/tt\u003e, and the number of users who have rated the item/place/thing, \u003ctt\u003eN\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eThis morning you checked the website and noted \u003ctt\u003eR\u003c/tt\u003e and \u003ctt\u003eN\u003c/tt\u003e.  This evening you check again:  \u003ctt\u003eN\u003c/tt\u003e has increased by one, and the rounded version of the updated overall rating is now displayed, \u003ctt\u003eR_new\u003c/tt\u003e.  You then deduce what possible scores, \u003ctt\u003eS\u003c/tt\u003e, were submitted by the additional person during the day.\u003c/p\u003e\u003cp\u003eEXAMPLE\u003c/p\u003e\u003cpre\u003e % Inputs\r\n N = 11\r\n R = 2.5\r\n R_new = 2.6\r\n % Output\r\n S = [3 4]\u003c/pre\u003e\u003cp\u003eExplanation:  Given \u003ctt\u003eN\u003c/tt\u003e=11, the unrounded version of \u003ctt\u003eR\u003c/tt\u003e must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing \u003ctt\u003eN\u003c/tt\u003e by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of \u003ctt\u003eR_new\u003c/tt\u003e would become 2 ⁷/₁₂, consistent with the displayed value.\u003c/p\u003e\u003cp\u003e\u003ctt\u003eS\u003c/tt\u003e shall be a row vector, or scalar, or empty.  If \u003ctt\u003eS\u003c/tt\u003e is a row vector, scores shall be listed in ascending order, without repetition.\u003c/p\u003e","function_template":"function S = latestScore(N, R, R_new)\r\n    \r\nend","test_suite":"%% No silly stuff\r\n% This Test Suite can be updated if inappropriate 'hacks' are discovered \r\n% in any submitted solutions, so your submission's status may therefore change over time.  \r\nassessFunctionAbsence({'regexp', 'regexpi', 'str2num'}, 'FileName','latestScore.m')\r\n\r\nRE = regexp(fileread('latestScore.m'), '\\w+', 'match');\r\ntabooWords = {'ans'};\r\ntestResult = cellfun( @(z) ismember(z, tabooWords), RE );\r\nmsg = ['Please do not do that in your code!' char([10 13]) ...\r\n    'Found: ' strjoin(RE(testResult)) '.' char([10 13]) ...\r\n    'Banned word.' char([10 13])];\r\nassert(~any( testResult ), msg)\r\n\r\n\r\n%% N = 11\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.2;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.4;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [2 3];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.6;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [3 4];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.9;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n\r\n%% N = 12\r\nN = 12;\r\nR = 2.3;\r\nR_new = 2.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 12;\r\nR = 2.3;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n\r\n\r\n%% N = 17\r\nN = 17;\r\nR = 1.6;\r\nR_new = 1.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [2 3 4];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [3 4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2 3];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n\r\n%% N = 48\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.5;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.6;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:4;\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:4;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.4;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.5;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":64439,"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":"2018-07-09T03:13:05.000Z","updated_at":"2025-09-14T14:31:48.000Z","published_at":"2018-07-09T04:06:39.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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\u003eYour task in this problem is to figure out the most recent score,\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, submitted.\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: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=\\\"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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMany websites allow users to rate things like restaurants, books, films, and even computer programs. Often these are rated\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efrom one to five stars\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and the display shows the\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eaverage\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e rating after\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003erounding to one decimal place\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: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\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and the number of users who have rated the item/place/thing,\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\u003eN\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis morning you checked the website and noted\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\u003eR\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: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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. This evening you check again: \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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e has increased by one, and the rounded version of the updated overall rating is now displayed,\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\u003eR_new\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. You then deduce what possible scores,\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, were submitted by the additional person during the 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\u003eEXAMPLE\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[ % Inputs\\n N = 11\\n R = 2.5\\n R_new = 2.6\\n % Output\\n S = [3 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\u003eExplanation: Given\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e=11, the unrounded version of\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\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of\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\u003eR_new\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e would become 2 ⁷/₁₂, consistent with the displayed value.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e shall be a row vector, or scalar, or empty. If\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a row vector, scores shall be listed in ascending order, without repetition.\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\"}]}"},{"id":44545,"title":"\"Percentages may not total 100 due to rounding\"","description":"*Percentages* are commonly *rounded* when presented in tables.  As a result, the sum of the individual numbers does not always add up to 100%.  A warning is therefore sometimes appended to such tables, along the lines: _\"Percentages may not total 100 due to rounding\"_.\r\n\r\nEXAMPLE 1:\r\nA survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral.  Percentage-wise this becomes\r\n\r\n  In favour:          45% (5 of 11)\r\n  Undecided/neutral:   9% (1 of 11)  \r\n  Opposed:            45% (5 of 11)  \r\n\r\nThe total of these is 99%, rather than the expected 100%.  Despite this conflict, in this example *all of the individual numbers have been correctly entered*.  \r\n\r\nEXAMPLE 2:\r\nIn the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral.  Suppose the data were presented in the following table\r\n\r\n  In favour:          45%\r\n  Undecided/neutral:  20%\r\n  Opposed:            45%\r\n\r\nGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%.  In fact, we would probably guess that a copy-and-paste mistake had occurred.  However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example *one or more of the individual numbers must have been entered incorrectly*.  \r\n\r\nYOUR JOB:  \r\nGiven a list (vector) of integer percentages, determine whether among the individual values at least one of them _must_ have been incorrectly entered (return |true|), as in Example 2, or whether there might not be any incorrect entries (return |false|), as in Example 1.","description_html":"\u003cp\u003e\u003cb\u003ePercentages\u003c/b\u003e are commonly \u003cb\u003erounded\u003c/b\u003e when presented in tables.  As a result, the sum of the individual numbers does not always add up to 100%.  A warning is therefore sometimes appended to such tables, along the lines: \u003ci\u003e\"Percentages may not total 100 due to rounding\"\u003c/i\u003e.\u003c/p\u003e\u003cp\u003eEXAMPLE 1:\r\nA survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral.  Percentage-wise this becomes\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eIn favour:          45% (5 of 11)\r\nUndecided/neutral:   9% (1 of 11)  \r\nOpposed:            45% (5 of 11)  \r\n\u003c/pre\u003e\u003cp\u003eThe total of these is 99%, rather than the expected 100%.  Despite this conflict, in this example \u003cb\u003eall of the individual numbers have been correctly entered\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eEXAMPLE 2:\r\nIn the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral.  Suppose the data were presented in the following table\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eIn favour:          45%\r\nUndecided/neutral:  20%\r\nOpposed:            45%\r\n\u003c/pre\u003e\u003cp\u003eGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%.  In fact, we would probably guess that a copy-and-paste mistake had occurred.  However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example \u003cb\u003eone or more of the individual numbers must have been entered incorrectly\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eYOUR JOB:  \r\nGiven a list (vector) of integer percentages, determine whether among the individual values at least one of them \u003ci\u003emust\u003c/i\u003e have been incorrectly entered (return \u003ctt\u003etrue\u003c/tt\u003e), as in Example 2, or whether there might not be any incorrect entries (return \u003ctt\u003efalse\u003c/tt\u003e), as in Example 1.\u003c/p\u003e","function_template":"% \"May not sum to total due to rounding: the probability of rounding errors\"\r\n% Henry Bottomley, 03 June 2008\r\n% http://www.se16.info/hgb/rounding.pdf\r\n\r\n% \"How to make rounded percentages add up to 100%\"\r\n% https://stackoverflow.com/questions/13483430/how-to-make-rounded-percentages-add-up-to-100\r\n% cf. https://stackoverflow.com/questions/5227215/how-to-deal-with-the-sum-of-rounded-percentage-not-being-100\r\nfunction containsMistake = checkForMistake(z)\r\n    containsMistake = true * + false,\r\nend","test_suite":"%% Basics\r\nassessFunctionAbsence({'regexp', 'regexpi'}, 'FileName','checkForMistake.m')\r\n\r\n%% Example 1 (Row vector)\r\nxVec = round( 100*[5 1 5]/11 );\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% Example 1 (Column vector)\r\nxVec = round( 100*[5 1 5]/11 )';\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% Example 2 (Row vector)\r\nxVec = [42 20 45];\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% One percentage, over and under\r\nxVec = [100];\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test a')\r\nxVec = round([100.5]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test b')\r\nxVec = round([99.49]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test c')\r\n\r\n%% Two percentages, over and under\r\nxVec = [50 50];\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test a')\r\nxVec = round([49.5 50.5]);\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test b')\r\nxVec = round([50.5 50.5]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test c')\r\nxVec = round([49.49 50.49]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test d')\r\n\r\n%% Equal percentages\r\nfor j = [2:250 1000:1000:10000]\r\n    xVec = round( repelem(100/j, j) );\r\n    containsMistake = false;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Geometric series (from Bottomley, §5)\r\nfor j = 10:30\r\n    xVec = round( 10 * (9/10).^[0:j] );\r\n    containsMistake = j \u003c 21;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Geometric series (from Bottomley, §5), permuted\r\nfor j = 2:40\r\n    xVec = round( 10 * (9/10).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 21;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) I\r\nfor j = 2:100\r\n    xVec = round( (99/100).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 66;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) II\r\nfor j = 2:30\r\n    xVec = round( 20 * (4/5).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 12;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) III\r\nfor j = 2:20\r\n    xVec = round( 25 * (3/4).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 10;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) IV\r\nfor j = 2:20\r\n    xVec = round( 50 * (1/2).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 5;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Systematic overestimation\r\nfor j = 2:100\r\n    num = randi(round(100/j)+1) - 1;\r\n    xRaw = repelem(num+0.5, j);   % cf. https://oletus.github.io/float16-simulator.js/\r\n    sm = sum(xRaw);\r\n    xRaw = [xRaw max(100-sm, 0)];\r\n    if sm \u003e 100.5,                % Not sm\u003e100, because need to account for extra zero added.\r\n        containsMistake = true;\r\n    else\r\n        containsMistake = false;\r\n    end;\r\n    xVec = round( xRaw );\r\n    xVec = xVec( randperm(j+1) );\r\n    assert( isequal(checkForMistake(xVec), containsMistake) , ['Failed with xRaw = ' num2str(xRaw)] )\r\nend;\r\n\r\n%% Systematic underestimation\r\nfor j = 2:100\r\n    num = randi(round(100/j)+1) - 1;\r\n    xRaw = repelem(num+0.499755859375, j);   % cf. https://oletus.github.io/float16-simulator.js/ \u0026 https://au.mathworks.com/help/matlab/matlab_prog/floating-point-numbers.html\r\n    cs = cumsum(xRaw);\r\n    if cs(end) \u003e 100,\r\n        xRaw( cs \u003e 100 ) = [];\r\n        containsMistake = true;\r\n    else\r\n        xRaw = [xRaw (100-cs(end))];\r\n        containsMistake = false;\r\n    end;\r\n    xVec = round( xRaw );\r\n    assert( isequal(checkForMistake(xVec), containsMistake) , ['Failed with xRaw = ' num2str(xRaw)] )\r\nend;","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":64439,"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":"2018-03-23T08:02:20.000Z","updated_at":"2018-03-24T13:53:40.000Z","published_at":"2018-03-24T13:53:40.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ePercentages\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are commonly\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\u003c/w:rPr\u003e\u003cw:t\u003erounded\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e when presented in tables. As a result, the sum of the individual numbers does not always add up to 100%. A warning is therefore sometimes appended to such tables, along the lines:\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\\\"Percentages may not total 100 due to rounding\\\"\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEXAMPLE 1: A survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral. Percentage-wise this becomes\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[In favour:          45% (5 of 11)\\nUndecided/neutral:   9% (1 of 11)  \\nOpposed:            45% (5 of 11)]]\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 total of these is 99%, rather than the expected 100%. Despite this conflict, in this example\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\u003c/w:rPr\u003e\u003cw:t\u003eall of the individual numbers have been correctly entered\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEXAMPLE 2: In the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral. Suppose the data were presented in the following table\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[In favour:          45%\\nUndecided/neutral:  20%\\nOpposed:            45%]]\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\u003eGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%. In fact, we would probably guess that a copy-and-paste mistake had occurred. However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example\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\u003c/w:rPr\u003e\u003cw:t\u003eone or more of the individual numbers must have been entered incorrectly\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYOUR JOB: Given a list (vector) of integer percentages, determine whether among the individual values at least one of them\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emust\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e have been incorrectly entered (return\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\u003etrue\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), as in Example 2, or whether there might not be any incorrect entries (return\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\u003efalse\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), as in Example 1.\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":59409,"title":"Determine pressure altitude using field elevation and altimeter setting","description":"Given an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the pressure altitude of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.","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: 42px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 21px; transform-origin: 407px 21px; vertical-align: baseline; \"\u003e\u003cdiv style=\"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=\"\"\u003eGiven an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Pressure_altitude#QNE\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003epressure altitude\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 of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function a = pressureAlt(elevation,altSetting)\r\n  a = [];\r\nend","test_suite":"%%\r\nelevation = 4831;\r\naltSetting = 30.00;\r\na_correct = 4750;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n%%\r\nelevation = 1602;\r\naltSetting = 29.83;\r\na_correct = 1690;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n%%\r\nelevation = 0;\r\naltSetting = 29.92;\r\na_correct = 0;\r\nassert(isequal(pressureAlt(elevation,altSetting),a_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":48615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":22,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-12-08T01:14:46.000Z","updated_at":"2026-02-20T08:53:13.000Z","published_at":"2023-12-08T01:14:46.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\u003eGiven an airfield's elevation in feet (ft) and the current altimeter setting in inches of mercury (inHg), calculate the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Pressure_altitude#QNE\\\"\u003e\u003cw:r\u003e\u003cw:t\u003epressure altitude\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e of the airfield. Use 29.92 inHg as standard pressure and round solutions to the nearest tens of feet.\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":42641,"title":"MATLAB Basic: rounding ","description":"Do rounding near to zero \r\n\r\nExample: -8.8, answer -8\r\n\r\n+8.1  answer 8","description_html":"\u003cp\u003eDo rounding near to zero\u003c/p\u003e\u003cp\u003eExample: -8.8, answer -8\u003c/p\u003e\u003cp\u003e+8.1  answer 8\u003c/p\u003e","function_template":"function y = round_zero(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = -8.8;\r\ny_correct = -8;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  8.8;\r\ny_correct =  8;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  0.8;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  0.4;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n\r\n%%\r\nx =  0;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  eps;\r\ny_correct =  0;\r\nassert(isequal(round_zero(x),y_correct))\r\n\r\n%%\r\nx =  pi;\r\ny_correct =  3;\r\nassert(isequal(round_zero(x),y_correct))","published":true,"deleted":false,"likes_count":50,"comments_count":10,"created_by":27760,"edited_by":427930,"edited_at":"2024-04-30T18:06:07.000Z","deleted_by":null,"deleted_at":null,"solvers_count":6346,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-10-01T05:13:22.000Z","updated_at":"2026-04-13T00:52:04.000Z","published_at":"2024-04-30T18:06:07.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\u003eDo rounding near to zero\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\u003eExample: -8.8, answer -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\u003e+8.1 answer 8\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":61140,"title":"Calculating Swimming Stroke Index (SI)","description":"In competitive swimming, speed () is only one part of the equation. High efficiency is defined by moving fast while maintaining a high Distance Per Stroke (DPS). The Stroke Index (SI) is a common metric used by coaches to quantify this efficiency.\r\nYour task is to calculate the Stroke Index based on a single pool length. However, you must account for the glide distance after the wall push-off, as no strokes are taken during that phase.\r\n\r\nWhere:\r\n is the velocity over the entire length (m/s).\r\nDPS is the distance covered per stroke during the swimming phase only.\r\nConstraint:If the glide distance (pushOff) is greater than or equal to the pool length (poolLength), the scenario is physically impossible for this calculation. In such cases, the function must return NaN.\r\nInputs\r\npoolLength: Pool length in meters (e.g., 50).\r\ntime: Time taken to complete the length in seconds.\r\nstrokeCount: Total number of individual arm strokes taken.\r\npushOff: Glide distance (meters) covered before the first stroke begins.\r\nOutput\r\nSI: The Stroke Index rounded to two decimal place","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); 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: 483.562px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 408px 241.781px; transform-origin: 408px 241.781px; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn competitive swimming, speed (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003ev\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) is only one part of the equation. High efficiency is defined by moving fast while maintaining a high \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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eDistance Per Stroke (DPS)\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eStroke Index (SI)\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is a common metric used by coaches to quantify this efficiency.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYour task is to calculate the Stroke Index based on a single pool length. However, you must account for 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eglide distance\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e after the wall push-off, as no strokes are taken during that phase.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"82\" height=\"18\" alt=\"SI = v*DPS\" style=\"width: 82px; height: 18px;\"\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhere:\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; padding-inline-start: 0px; padding-left: 0px; 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.2188px; text-align: left; transform-origin: 363px 10.2188px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"font-family: STIXGeneral-webfont, serif; font-style: italic; font-weight: 400; color: rgb(33, 33, 33);\"\u003ev\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is the velocity over the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eentire\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e length (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003em/s\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\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.2188px; text-align: left; transform-origin: 363px 10.2188px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eDPS\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is the distance covered per stroke during the \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eswimming phase only\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 43px; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 21.5px; text-align: left; transform-origin: 384px 21.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eConstraint:\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the glide distance (\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epushOff\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) is greater than or equal to the pool length (\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epoolLength\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; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), the scenario is physically impossible for this calculation. In such cases, the function must return \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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; font-weight: 700; \"\u003eNaN\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; 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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInputs\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003col style=\"block-size: 83.75px; font-family: Helvetica, Arial, sans-serif; list-style-type: decimal; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 391px 41.875px; transform-origin: 391px 41.875px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epoolLength\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Pool length in meters (e.g., 50).\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003etime\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Time taken to complete the length in seconds.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003estrokeCount\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Total number of individual arm strokes taken.\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.9375px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003epushOff\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: Glide distance (meters) covered before the first stroke begins.\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.9375px; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 391px 10.4688px; transform-origin: 391px 10.4688px; 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.4688px; text-align: left; transform-origin: 363px 10.4688px; white-space-collapse: preserve; 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; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eSI\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e: The Stroke Index rounded to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003etwo decimal place\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function SI = calculateStrokeIndex(poolLength, time, strokeCount, pushOff)\r\n  SI = 1;\r\nend","test_suite":"%% Test Case 1:\r\nassert(isequal(calculateStrokeIndex(50, 35, 30, 5), 2.14));\r\n\r\n%% Test Case 2: Short Course Sprint\r\nassert(isequal(calculateStrokeIndex(25, 15, 12, 6), 2.64));\r\n\r\n%% Test Case 3:\r\nresult = calculateStrokeIndex(25, 10, 15, 30);\r\nassert(isnan(result), 'Function should return NaN when glide distance exceeds pool length');\r\n\r\n%% Test Case 4:\r\nresult = calculateStrokeIndex(50, 40, 20, 50);\r\nassert(isnan(result));\r\n\r\n%% Test Case 5:\r\nfor i = 1:5\r\n    L_rand = 50;\r\n    T_rand = 30 + rand*20;\r\n    S_rand = 20 + randi(20);\r\n    G_rand = rand*10;\r\n    \r\n    v = L_rand / T_rand;\r\n    DPS = (L_rand - G_rand) / S_rand;\r\n    expected = round(v * DPS, 2);\r\n    \r\n    assert(abs(calculateStrokeIndex(L_rand, T_rand, S_rand, G_rand) - expected) \u003c 1e-8);\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":4996329,"edited_by":4996329,"edited_at":"2025-12-18T10:10:12.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2025-12-18T09:56:54.000Z","updated_at":"2026-04-10T15:35:54.000Z","published_at":"2025-12-18T10:03:46.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\u003eIn competitive swimming, speed (\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\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"v\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$v$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e) is only one part of the equation. High efficiency is defined by moving fast while maintaining a high \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDistance Per Stroke (DPS)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. The \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eStroke Index (SI)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a common metric used by coaches to quantify this efficiency.\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\u003eYour task is to calculate the Stroke Index based on a single pool length. However, you must account for the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eglide distance\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e after the wall push-off, as no strokes are taken during that phase.\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=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"SI = v*DPS\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$$SI = v \\\\cdot DPS$$\u003c/w:t\u003e\u003c/w:r\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\u003eWhere:\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"v\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e$v$\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is the velocity over the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eentire\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e length (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em/s\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=\\\"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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDPS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is the distance covered per stroke during the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eswimming phase only\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eConstraint:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eIf the glide distance (\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\u003epushOff\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e) is greater than or equal to the pool length (\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\u003epoolLength\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), the scenario is physically impossible for this calculation. In such cases, the function must return \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\u003eNaN\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInputs\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epoolLength\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Pool length in meters (e.g., 50).\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etime\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Time taken to complete the length in seconds.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estrokeCount\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Total number of individual arm strokes taken.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003epushOff\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: Glide distance (meters) covered before the first stroke begins.\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\u003eOutput\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSI\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e: The Stroke Index rounded to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etwo decimal place\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":44695,"title":"What score did they give?","description":"Your task in this problem is to figure out the most recent score, |S|, submitted.  \r\n\r\n\u003c\u003chttps://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Star_rating_4.5_of_5.png/799px-Star_rating_4.5_of_5.png\u003e\u003e\r\n\r\nMany websites allow users to rate things like restaurants, books, films, and even computer programs.  Often these are rated _from one to five stars_, and the display shows the _average_ rating after _rounding to one decimal place_, |R|, and the number of users who have rated the item/place/thing, |N|.  \r\n\r\nThis morning you checked the website and noted |R| and |N|.  This evening you check again:  |N| has increased by one, and the rounded version of the updated overall rating is now displayed, |R_new|.  You then deduce what possible scores, |S|, were submitted by the additional person during the day.  \r\n\r\nEXAMPLE\r\n\r\n % Inputs\r\n N = 11\r\n R = 2.5\r\n R_new = 2.6\r\n % Output\r\n S = [3 4]\r\n\r\nExplanation:  Given |N|=11, the unrounded version of |R| must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing |N| by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of |R_new| would become 2 ⁷/₁₂, consistent with the displayed value.  \r\n\r\n|S| shall be a row vector, or scalar, or empty.  If |S| is a row vector, scores shall be listed in ascending order, without repetition.  ","description_html":"\u003cp\u003eYour task in this problem is to figure out the most recent score, \u003ctt\u003eS\u003c/tt\u003e, submitted.\u003c/p\u003e\u003cimg src = \"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b9/Star_rating_4.5_of_5.png/799px-Star_rating_4.5_of_5.png\"\u003e\u003cp\u003eMany websites allow users to rate things like restaurants, books, films, and even computer programs.  Often these are rated \u003ci\u003efrom one to five stars\u003c/i\u003e, and the display shows the \u003ci\u003eaverage\u003c/i\u003e rating after \u003ci\u003erounding to one decimal place\u003c/i\u003e, \u003ctt\u003eR\u003c/tt\u003e, and the number of users who have rated the item/place/thing, \u003ctt\u003eN\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eThis morning you checked the website and noted \u003ctt\u003eR\u003c/tt\u003e and \u003ctt\u003eN\u003c/tt\u003e.  This evening you check again:  \u003ctt\u003eN\u003c/tt\u003e has increased by one, and the rounded version of the updated overall rating is now displayed, \u003ctt\u003eR_new\u003c/tt\u003e.  You then deduce what possible scores, \u003ctt\u003eS\u003c/tt\u003e, were submitted by the additional person during the day.\u003c/p\u003e\u003cp\u003eEXAMPLE\u003c/p\u003e\u003cpre\u003e % Inputs\r\n N = 11\r\n R = 2.5\r\n R_new = 2.6\r\n % Output\r\n S = [3 4]\u003c/pre\u003e\u003cp\u003eExplanation:  Given \u003ctt\u003eN\u003c/tt\u003e=11, the unrounded version of \u003ctt\u003eR\u003c/tt\u003e must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing \u003ctt\u003eN\u003c/tt\u003e by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of \u003ctt\u003eR_new\u003c/tt\u003e would become 2 ⁷/₁₂, consistent with the displayed value.\u003c/p\u003e\u003cp\u003e\u003ctt\u003eS\u003c/tt\u003e shall be a row vector, or scalar, or empty.  If \u003ctt\u003eS\u003c/tt\u003e is a row vector, scores shall be listed in ascending order, without repetition.\u003c/p\u003e","function_template":"function S = latestScore(N, R, R_new)\r\n    \r\nend","test_suite":"%% No silly stuff\r\n% This Test Suite can be updated if inappropriate 'hacks' are discovered \r\n% in any submitted solutions, so your submission's status may therefore change over time.  \r\nassessFunctionAbsence({'regexp', 'regexpi', 'str2num'}, 'FileName','latestScore.m')\r\n\r\nRE = regexp(fileread('latestScore.m'), '\\w+', 'match');\r\ntabooWords = {'ans'};\r\ntestResult = cellfun( @(z) ismember(z, tabooWords), RE );\r\nmsg = ['Please do not do that in your code!' char([10 13]) ...\r\n    'Found: ' strjoin(RE(testResult)) '.' char([10 13]) ...\r\n    'Banned word.' char([10 13])];\r\nassert(~any( testResult ), msg)\r\n\r\n\r\n%% N = 11\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.2;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.4;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [2 3];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.6;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [3 4];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 11;\r\nR = 2.5;\r\nR_new = 2.9;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n\r\n%% N = 12\r\nN = 12;\r\nR = 2.3;\r\nR_new = 2.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 12;\r\nR = 2.3;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n\r\n\r\n%% N = 17\r\nN = 17;\r\nR = 1.6;\r\nR_new = 1.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [2 3 4];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [3 4 5];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 2.6;\r\nR_new = 2.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2 3];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 17;\r\nR = 3.4;\r\nR_new = 3.5;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n\r\n%% N = 48\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.5;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.6;\r\nS = latestScore(N, R, R_new);\r\nS_correct = [1 2];\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.7;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 3.7;\r\nR_new = 3.8;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.2;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:4;\r\nassert( isempty(S) )\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.3;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:4;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.4;\r\nS = latestScore(N, R, R_new);\r\nS_correct = 1:5;\r\nassert(isequal(S, S_correct))\r\n\r\n%%\r\nN = 48;\r\nR = 4.4;\r\nR_new = 4.5;\r\nS = latestScore(N, R, R_new);\r\nassert( isempty(S) )\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":64439,"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":"2018-07-09T03:13:05.000Z","updated_at":"2025-09-14T14:31:48.000Z","published_at":"2018-07-09T04:06:39.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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\u003eYour task in this problem is to figure out the most recent score,\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, submitted.\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: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=\\\"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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMany websites allow users to rate things like restaurants, books, films, and even computer programs. Often these are rated\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efrom one to five stars\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and the display shows the\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eaverage\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e rating after\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003erounding to one decimal place\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: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\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, and the number of users who have rated the item/place/thing,\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\u003eN\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis morning you checked the website and noted\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\u003eR\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: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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. This evening you check again: \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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e has increased by one, and the rounded version of the updated overall rating is now displayed,\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\u003eR_new\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. You then deduce what possible scores,\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, were submitted by the additional person during the 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\u003eEXAMPLE\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[ % Inputs\\n N = 11\\n R = 2.5\\n R_new = 2.6\\n % Output\\n S = [3 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\u003eExplanation: Given\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e=11, the unrounded version of\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\u003eR\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e must have been either 2 ⁵/₁₁ or 2 ⁶/₁₁. Increasing\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\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e by 1 with an additional score of either 4 stars or 3 stars (respectively) would mean that the unrounded version of\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\u003eR_new\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e would become 2 ⁷/₁₂, consistent with the displayed value.\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:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e shall be a row vector, or scalar, or empty. If\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\u003eS\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is a row vector, scores shall be listed in ascending order, without repetition.\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAx8AAACqCAYAAADMS/L+AACAAElEQVR42uydB3gc1dX3r2xjegkOJRBIgASSkEoIIZB8SSBvyksK6QnJy0sCCc0Y4yLbalvVe7d6s2zLvYFteg8BUiGBF2I6BIipAuy1Jc33nzuzq9nRvTN3Zncl2Tr3ec4zq7aaOfPbc87/tmGMGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVq1KhRo0aNGjVqk7xpc0aNGrWJYI8aNeKOGjVq1NLfHrrqbPbn33yOaeQKapMqEV9jJuOryRfUxpG7JVQEUpsg9q4n7qiR6KU2Ndr/FZzObqz8LuAj+UFtcomP6QiIJ2hXsmnkDWrjxl0hywJ3x8NmkjeojRt3v+fiYxa4O1y7gvxBbRzZmwfLJj9QG9/2lwWfOei+eed/qOe6xVnkDWqTJyBex05EIo7iOIu8QW3cuJvNDgN3+bCPQ/hSozY+3P2OzQBzv4cA+Zb2W/IHtXHi7moueo/XbmCnIfZRozY+3F3O2I75p37q9kVfL8kPFx9BHqE2OcDMg81nF2kL2F8RFL+qBcgn1MaBuwLYXPYZsPcguPsNikDqkaGWee40swCczzZo81iZdg07iLxCbZzExzTEvF/BciA+DiCPUBsX7pBb35j//ivvyP/vvxQEw2e3LPo9OYXaJAAzjIC4gJVo2extJOMlWgUVgdTGgbsGPgXhN+DudRSCPdoimnpFbRy4W8C5O09byJ7G6/vw+ngUg9SoZZ69uewwMNcJuwXi42TyCLVx4W4eO2jX/ENX3By4+K38UPjKdXMuphqP2iQAM5udiGB4J0yDbcTX7yevUMs4d4t4Im4xufsHvv4oeYXaOMS76eBtDmwv7A2IkAv1xefUqGWUO32DgxvYqdp8xLqF7N94faEuhKlRyzh7N7Azdy886PFN+T/UgqFwd2XuvCPJK9QmFsrZvCfwO0jIzyMgajg+ieD4ZZqPSi2j3C3mvTGfAG8Pmdy9AQ7/h3qgqWWcu7nsfWBuDZjTuRvC6whYnE7eoZZh8ZGF3Ppz8PYuYt0wjrk40mgvtcxyt5DXeFfsXjTzrY35P9JCkehfi0I5n8nPLyTnUJtAMEvZdCTggLaI7TWT8W7YHK2Fpl5RyyB3OTwg/oxP9dO5W4RknM2WaiF2IHmHWka5W8g+A3vOjHe63aXl0mgvtQyzF2AHgLul4G3Y5G47xMgxMGrUMsfdInYIuOuKZc8c3mCMfLxXGFxy6fqcr1GNR21CwTxRW8Ju1BbzAlDjxyVsJU29opbxgLiE1Se4W8S5exBff4y8Qy1j3GWzLHB2LSxm4e7fsG9oEfIPtYzGvFPA398SoncRexVF4fkkPqhljLnrOXefRnz7c2zxTG1D3sVaMBzVisKB1tK8BYeRh6hNDJi5HMyvAcznYfFErNuTKALP0n9OjVqGuPuwHhAT3OkiJIftxPHn+oMHqVHLkPg4FIytAWsjFu524xjUiukZR9Qyxp0+5e8XYO01i+jdi+/laAuIO2oZ4u63nLv/AXdvcvGRf7EWCEW1SCjwaEl+9kdr8mmxG7WJKQIPAJTZsCFTdBiWw/bgZ1fCaB40tfRzl8OyYBfDBpO4W4KCcAmrgh1CXqKWdu7CnL3PwnbANBt72/C948lL1DIkPmaCsQaeaxcnZhiM4HgzhMhR5CFqGeFO39QlhzXp8S6WY4iPgmBEC4dC75WEcn8J8UFTr6iNO5R6In6/ls82a3lccIxaHrcVeH24RmuSqKWbvcUQvbmsFuwNJ3GXC8tn9+L1aThSo5Ze7tbymHcN2BoUcPc0Xl9A3FFLO3ffgC1hHwVn9ydxZ7D3Ao5f1oUxNWppzrM6d6ejlntIj3FcfBRcrOUHw1okHBkuDBW0lQYW0IYH1MYZzGz+cMFzYP/mYiPXYob4eAqJ+BNaFfmKWprZy2cfBGd/knD3Jl5/VyugDQ+opZm7ADsMbPWDsZEx3OXz0d5FONJoL7X0ctfERe+Pwdl/OG9W8ZHPduG4WCumeEct7eIjC7zp3L2jx7hY7qj4CIVCWjhY8GhZYOGp5Clq4wtmDpuGwDcfRd5es+hLtgL2HpL1FTAKitTSx12Yi4+LwddOHEXc6VaK1/TUaWrpFr1nga2/C7nL59ytw2uaekUtvdwtYgeBqzIwNpLU4RLnLo9tAnuzyFPU0srdEnYw+KpHDcc5i+VDfAT0aVdhLRgMapFI+I2iYO4lzcGryFnUxlV8HI6At0ULIiAWJIq+UQuyYRz7ATAVgdTSx12ITQdXleBrr4Q7DcHyD7Dj9WFjatTSxB0DX78FX28LuQtw9p7B63Npqim1tHFXwNdWngK+7uKc5dvMYO9JCJCv6L9LjVqahIfe2XIS2Porj23gLFaQLD7C4fBQJJjf3Bi8hqZeURsnMKv5FIQvwJ7jYMrtn7BPkseopY29APsQCsG7pcwFub0B+6a+LokatTRxdwS4azPFrYy9IdgcvJ5BHqOWNvFRwL4Npl6PF4GCDpfdOM6lqabU0io+guxi3tlixrdYIFl8BENBfderP5YEsk8nj1EbHzAZ7wm8QYuwd81iT2wR9iZ+73JaDEctbYk4yL4Hrl5y4W4vuCvRCmn+PbU0cJfHufsE4thfwJWcuzC3dXh9pEYzEailJ+YdCJ6KXESvBi4H8LvHkMeopYW7AJsBpuqQS4fi8S0WhPgIjooPfd1HNBLeGQ3k/qwskE1OozYOYIaQXMNsDcA0Em5IYGFeBI7g2A6jrU+ppSMRzwRLER4QZdyFOHc6f/cgYNL8e2qpc5fLpoGnX/DOFnfunsfrz2qXkd+opVwA6qL3ODB1L+fOWfQ+id8/m6b8UUuZu/l8beXJsAet8S4WShYfpgAZiQbzK8sCC2l6PbUMgxnh4uOLCHKP8WTrZFFYIXsYAH+Snv5LLSXuwpy7k8DUds6VG3uF7CX8zbdpHjS1FIWHXgQeAuaawJQKd7txvJY22qCWFvERZheCp9dNgSE3fbQ3wq6i0V5qKXNXweu8H4GlV62xLRaB+AiNER9aYTh4d1HBktNqC64j51HLqPjIgl2tFbF3eRHoZIXc3sTv/1L/O/IetZTER5hdAJ5e5ly5sVfEYjiG9V5r8h4139yVcNH7YTD3iCJ3IziuAauHkveopSg+poGlQnC3V0H06rYS3B2hLSDfUUuJuxngrgKxbMga22JRiI/wWPERDgdfLwzmXtRScCXVeNQyKj7eByh7YHaRkWyjyVg3fe7gYeQ9ar65C7EDwFEuL+4KHdhL5m4bkvGJ5D1qvrnTH7RVyH6iFbN3lLjTXxezJxHvziLvUUsx1x4Lnu5KyrVy0auz9zT+5kztd+Q7ailwF2WnIIbdaTKVsFjhWPFh7HoV0orCBSVlBfNo6hW1jAVDBiA/o5WwRwFnvMBzthJuDwLej9DCc2o+g6HeA/1+2M2cJxXudD5L2bN4/Q3976lR88VeNURvMWsES0NK3BVx7t7G8Rqaf08tpZhXyL4F9l5MFIAy3goToncXjr+nKX/UUuKuiH0XefbfiRqv2LBYkUx8hLVoKHB/Sf7CE8rzaOoVtUyAWcCmAcb/BZi740Ca4kJso78ziL+7WMuhoEjNB3c5XHycB3s1wZUad3txXKyPmpAXqflir5R9GBz9ycaVM3elbATHPiTyw8mD1HxxV8iywFAQLMUSXDlZUYK7FVolO5g8SM0Xd2F2IBgKg6Vhe3yLFUN8RMaKj2AwpIVDwTeLAku+2ZB9OTmRWgbALGKHaWWsUyu3Jd1SgVl/Xo6gWMZq8PcHkhep+SgAp4GfHK2C7RlT8DlxV8bZ24hgepz2Y/IjNY/cFXP2fgru/jOGLSfu9K8r2N/w+nM0+kHNp/g4AfxsHcOWkxks/h+4/RR5kJpn5oI85n0QOfNWnjttbMVKZeJDf9p5ZKgwlFdSFZ5NGx5QS7vwYADyIwDzMS4+rIm3TGDWn5fz7z2M1zT/npof8XEU+NlmciRnr1TAXTl7Hq/P1daQH6l5Fh8HgKsqCIm9nrgzRO8gXl+mhWm0l5pn4aGP9F4I7p5JFIGlilbB3sLf/E4XztSoeeIuj+faCxC7/pOo8SxxLlYmFx+hsD76UXBvWWjBceRJaukWH1kA8lcIbu+aRZ03q2BvAODv6+qaGjUPBaAuer8Cfp71yd1e2A0IpPTUaWrq3IV4Ij4N7NzlkzvdWsDuEeRNah5zrS56F4GjPYniz4230d/TZxl0I27SBi/UvHFXAu4qWQA2LIhlWqwc4iMqFh+6RSOhfxcFc7/dULiQnEktjWDqCy8rWIdWBTArRoF0tErL62peBFZqdbT1KTVPRWAWuMkGP+8pc2e1Ks7hJvz94RrFRGqq3H2D73f/PfDzclIc8xL7qthfcTwDIoYaNTXuSnlny3FgZwNnSFAECs36O9Xsz3j9aRg1amrcfYFzNwvM3cFzpiCexSogPgrl4iMSCceiobxIV+k8Gu2llkY4K9hHAeAjZjHn3Yy/ux+An0TepOahN0YPiOtT5O4F8Pt57VLyJzVF7orYgWCmEPyM+OauCoK5kv1cK6apV9QUudN3Gypn54Kb5xMs2UWt1UQ/q2Zv4fg/EDLEHTU17lpgleyriFmvynJtrBLio0guPvRnfkRDgZurwotoej21NIFZDqtiv9Jq2esIbJrQqiwm+51a9hIg/j71BFJT4q6Jc3ceuPm/BGNeuIt/v5btwnEuLf6lpsxeFTsJ3Nyq1ShwVyXlbgRfNyN+0v731NS4K2UzwM4N4GZIWATauRMJX4PDJggS2m2NmmqNlwVmChCzYrI4F6tSEB+R8LNFwZz/ag5eRU6llhYwD+TBrBYBUU/Gfq2W7cX7FGllNP+emgJ3DWwauJkNbnanyN0Igud6iA+aB03NnbsArIZdAG52wlLhTk/gj6Cg/JBWQH6l5sJdMRe9R4CdzSY7/sxg708QH2doHeRXakq5dha4udkp3sVqTPEREIsP/syPUHBvNJib0xS8mra3p5YilGU8EZ+h1bM/cDBTsTpYPQCvYSeTZ6m5sleJgFjH+jk3qbP3BLj7ApIzNWpu3B0AZgJgZiQN3L2N40+0TvIrNRfummH17Czw8mJKotcQH+8i1v2UHjhIzZW7Glgt+zrYe8YplsXqID6K3cRHSCuMBDaVhBYe/0DOR8m51FIAs5vD+RMo4528CEzVGthLeL9v4kiNmpy7eh4QP4vjE7BR8eqfu0G8x2wtn3xLzYE7iFPwMgvM3QFmUuOulnM3hNdNWhWN9lJzYa+Us3cDmNnl2onn1iFTz60RuZam/FFzi3nTwMwScLebcyOJZ7F6d/GhT72KhIIvFoWWnMd6NXIutRTAbGAHw8p5Iq63WYPFVL5v/GwYlgebSd6l5sDddNgVsNgYhupduJP//jKtiR1J3qUm5a6Ls/f/YK8mErGIJRXu6hI/ewjcnULepebIXi07HMxsAC8jiaLPylKdhDHR7xk8/g3veTLtekXNkbs6dhx42eAY1xrUxAcf/QiHhopC+fMr8+dQhws1n1C28ER8itbM7kbyHIWx0YfF/1Z/n2a2Fa+P04f7qFETBEN96sthYGUZWEmNu0bL3zazv+P1WfqoCjVqQvZ+w7LASj5YiaWFuwbO3av4+idaD/mXmoS7Rj7a+0Ucn7QWfL4sXjw2srfx9Y9oqik1KXfNvMb7Mo7/SsqVAos1QHyUqIiPsBYNB7YURxcdFc2dTU6m5gPMdr7j0Hdgb3DR0GiKB5E1W0z2O6N//wpen69VkY+pCbir4QHxY+DkX67cNXni7j2872+RmGkeNDWZ8J0FTm7mPKWDO+M99NHeKnBNizCpiblDTAIjc8DTO77Frl34NrMhvG7Aa+qBpiYTvdMRn66H7ZXGOPN1rElNfOhTr8KhwEuF4SVfmP3r88nJ1HyA2cRmai2sWFvKRhIQNqdg8b9vQVBsZou1WjadvExNKHqXQiS0sHfHsJOKLeXWgURPU6+ojeWuhPcEfh3cPZMW7pqS2LsLReBp5GVqklz7PthyqZiVCd1m1589iALzw+RhakLumtksxLs1PDc2OeZNLdYM8VHqLj7MBw7ujoby5lfXNlBHHzXPwVC34wDdfVprMoQJa1Ew+9/o79MKMbOUbcPro8jT1MawV8sOAhu94GR4DD+pcGf87FF8rY+qUKOWzF0Rm8Y7RVrZrrRxF/+7VvYKXn8XRo1aMne9vAg8G4w8mohVzYL4tVTRrIVjK3sVxx/r2/hSo2YTHrqdBWaeGRO7BLEttlRdfITD4ZFIqGBTTWH2EeRpat7AbOVrPr4Be30MiK0+bCzML8K+RPNRqSVxl8cD4plcJIiKu9SY03hh2cougfigHhlq9g6XY8HI+pS5axX+/TAsArZp9yFqydx1syxwcQU42eVZ7LoJYGOWQSXEB23wQs0uPqYhJl0D26MS72ItEB9lauIjGAxpkUhoR3E459zKwBXkbGoewKziYBZqHWxvAsA2y9GrWf9etw5eBC7SFpOvqVm4e4aL3svAxxtJwc8Pe6KisION4GftKDSpCKQ2yl0Pn+p3vtbOnpSykwp37dxux/84Ud9Rixq1BHst7Ehw08XZSbWTr1XwHu3sTrw+lTxNLYm7dnYomFvDc6JCfIu1ehEffOrVu9FQ7tyGwPepo4+aBzCXsuMA3J08aVohbE/B7O/Txjbh/7yPvE3NEhAPQSBsxXFkTABMlblR7h6FUTKmNspdL5sO7uaAj5gw+abKnfEeO3H8Ou16Rc0S7/RZBp/A8THOjd/OPacOvw72Co7f1XevpEbNwt5nYE8nxStZPOuA+GiH+ChXFx+hEARIuGCgNHAD1XjUFKHs4WB+S+tiL1jhG2OdCib6u/h7dvFexi9TTyA1zp3+jIUOdiaODyY46fDJnhN3newtHH+pLSOfUzO5a2ezwMVAEifp524YXwdRBNKuV9TiBeA02KWwXaKCz5eNfR+duyi4O5A8To1z18fZuxax7x0ha4LYFuvwKj5CWjQS+mdhcMk5kUAeOZ2aAphLWRaADALMWCKhxiHssr12M1mCNv7+PfyfuVovzb+nxuc+6wHx5+DijaRCTsSQKnNdgsKwiyfjpRC+VARSY7oIBXefBRdPZZg7/es7wd3R5HVqnL0WdhDY6AYbI2OKQCeR2+VBABu/f7vWyj4I9qhR07k7DLyt5Nx1qMW5WCfER4UH8aEvPA8Fd0WDub9fXfBTqvGoKYDZyU4AbDclApwo0XZ7MFmiNl6vxOtZ5HVq4OBQ8FLjKHBT4S75PR/C73yUvE6N9z53savAwx7HBJwe7l7B73yVdr2ixtlrYx9F8fe4VFx0eTS5YHkNnF+obyRDbYozdxOfYfB5xKF/COoxaayLdXkTH/HRj8JwoKckkE1Tr6i5gNnHwfy61sueSSRSUYLt8WCyBG38/DH8v7P1/0ttSgsPffrLKeDhj5wLURDs8Wn2olB/3cf+g//5c+KOGhjRRe8AYt5IWrjrlnDXxbnbjWOBVk2jvVOeu14e8y4FK29LxYQKh24dfcb7DOMYotFeatp/ce5+D/7eFtZ4dr56DYv1+BEfYS0SDj5eHMr5ZGnBXHI+NUfxcQAAXAjo9soglFqfy8/FwTMG+x3+lh44OLXFRxY4+B5sMKmAU2GvzyN7xnsP41iFn9GuV1OZuwgXH2fCnh4n7vTjdhzfT96f8uLjQLDQjuOwSvHnak7CpJcf79LXNpHnpzh3XewIsNEp5EUW42CxXoiPSm/iI2hMvYoVhfIvg/iYRt6nJisA9Xn3xwK09Ry4HjmICVvmYKLftwdL43t9Wgc7kqYiTGH22tlMsFAJbkaEgjYV7uzCuCfxHncjEH9EX2tCbYpyp/Ei8PdaP3tHibs+j9yJrB9Cp5t2vZrS3N3Ki8CPg4c/eykAHc1JjBjf+w+4+5q2ivw/Zbnr4DXepxGv/jqGGZdYF+vzKT4i4ZFopKC3KLTwYLoD1MRg1vFewHMA2vPCZCpKuP0OppKgje/9Cx+Ij2ur6R5M4aD4AXDwEOfBHgzTzV1v4n1fw+vvkviYwtwtZQeDgX5wM5Iyd/3K3O3G60Uw6gmcqty18Vz7azDzmpLYWKZgbmKkn8VwDGpbaMrfFO7ky+Lc9bF3x3SwuMS72DKIjyrv4kNf9xEOBZ4oCS+mNZbUJGB2sekA7nqANiSEUZRslzuYW3KOQ9+PZLyMP1iOguJU5G4733HoItjrYwKhjLd+F+aWO7CX/D+KwD1NvZqq7PWxz4CBR8YUepnnbi2KgGPpDkzZXKuL3no+0usmNPoVzUmQ9Ca+vgXHY+gOTFHuOtlhuP8tnJc+D7XdCoiPfoiPau/iw3jgYGiwKJJ3WUlwEd0EagIwl7PDYRt00JKAtEE4xlYKTPR7omS9jP9sBK978XdUBE5F7m7iorccHOwdEwy9sLfChTt7oja+dzeC8An64k9qU4y7DVz0/haMvJkSd17jnfH+T4K7L2nNdB+mYAGoj3qcAQbuTxINTp16KxTMqeNvWSLmPQPuLtQG6D5MOe6u450tHwEDj3BeRLw5xLnYcv/iIxwOD0dCBV0QH/SsGWo2MGt4Iv4cAHzeMfDFYRywJd8Bi62U/J4sUBr2OD4YZ9CdmJKi94MIgPcIe5ZFxd6Awtdu3I3+nzdgF1IROAW562eHwdpw/0fGsKfCncjUudsLm42vaaONqcZdG8tCrv0huHhjzKjZcsXOPZUOP5EQWcFi+N852iqa8jfluGvi3P0cDLznmmMFdV1sJcRHjT/xEQyG9F2v/lYcXvwJjW4FtSQwNV4EzgFk7zkmX6utshztZv25TJhYg+QAewvB8TJa9zHFuFvDi8Dv4v6/mGBhhYUPEXcy9mTMibhbnuBuCN+LamupCJxS3G3kvYCfxP1/2Bd3AzbuVONdnDvj/VfhNe1/P9XY62aH4L5XJnqflyuIjQEFcxIjy5PY2wg7nu7EFONuLZsJFlrAyrCwxnOJc7GB1MRHNBJ+PRrOvbQ8sphuBjULmCvZYQBxDWAbEQa9VRJbDVtjs9WmrXIQJmN7q4fx/9vxdzT1amqJjwNw3yO4/3ukgXBAkb3VikLYmpwH+PFu/C1tfTqVuNvMspCAfwEO3nZMwgMS7lYrxDtZcTj6v56GfYY2PJhSeVa3k2EPcAaWuxSA1vi1WsLiKokYFo3CGf/jKYier2jL6H5MGe5KYavYKWDgb1JRu8o51sVWpSI++MLzkUi4oLkynH0I3RFqBpireUA8G8fHEwHLDuRqQdL1YqsFSdoaIAf4zx7G60/oveHUpgB362Ar2ElgYZuUu1TYW+3CXfx/rmIv4zy+QVtQTiH2VrBDcb/rOQ+yJJxKzFPjLobjVVoPTYGZQuIjC/f/Ihzfcu3kW63IoCzOrZKOiuwF/zdAfMygOzJFuPszZ+8X4OV1V95EjK2F+FgN8VGbkvjQCiOhB4pCiz9eF76Gbgo1PgUhC0BeDcgGHXuX11qOcVtnmtP37H8v66XWPxgr2CX6HujUpgB3NbwIvBAsvDBmmFcWCP1wJ+uhjv+/NbwIDOFntNva1BAeun0YDPxZyt3qFLhbq8zdCJ96tYrR/vdThb0udgDueQXu/XCiCHQqANdK8u5ahfwqEiIrEz9bh8/ALG093ZMpwV0nuFvJGnHfh4QdLGtcGEN8i61NXXyEQ8E3C4O5P20v/A3lWmpcER8JEHuSgpUMynUp2FoXAWJ8XYfzOZTuyhTgbgABcRVbgvs+LJ1KtVZS6Hllzok94/V2GM2DngrcLWdZuNc/xH0ftHV+jC93hv0L9im6K1OGvQ8g7v1RmGvdikBV1ta6CBHj9XOws7R76J5MCe5WsY+ChQeE9Z0TZ+tHLbYO4qPOv/jgAiQc0grDBdWlwblU41EByHsBPwvo/qYkOHQQN/iw9S5CZDT5348A/VG9d5Lafs7dADsW9/umxP23sycKgl6ZW68ggFfz7z2N87mQNjyYEp0tB+A+1+GeDwu5WytOvp65W6/Q8bKWC6AribspUQDqU5y/i/v/H9deZy/8rfcQ60aF9h58fZ3WT1P+pgR3A+ynYOFV1xrPgbXY+tTFRzgc1ne9erA4lPPh8oI5dHOmNJgbeC/gpQDxXU9AbvRgTgXh2Okxb+J8fgABQm1/Fx+r2Lm43y87Tm/xy56T+BVPy9qD81mMwEy7Xu3/yfhE3Oc/jZmyopKE/XC33mFa1lo2gvNZBqNFmPs/d9NgpbjnexxFx3qfnS1OOdYuQtaBu9VsPb5PPdD7f649GPfamOrnFO+c4twmiI+NEB/1qYmPoDH1arAolPu9pryraerVFAfzcEDYygFc45KAbTAqmyg5y0SI8bpCW0G7Xu3n3E3Hfc7G/d6rVPz5Yc/K3EYXEWL87/U09WoKiN417Ie41685Fn6SBOw53qlxp486f5buzn7O3mp2Eu75na6iY4PHuKfS0Sdej/QM7HNTxv+/hF0O+9kUYq6fc3cqOLhLWuPZeRMxthniY1MaxAd/2nl4uDCcX10YuvqAqXIfrqrtYAtrw6y69iLBTcqBzYPNgc02nwZ5PWy+aQtgC2HZsEWmLYblwvJg+bACWNC0MCwCi5pWCCsxTd/2rAxWDqswrRJWa7F60xr4w2GY1mJaq2ltsHa+gM14Ymo3f2oq05/UzK2PPzRw1JYntvmL9zrH7VRA+CiH0CkB20BM2BYHs/6erCiM/694YDReP4hzPC5xjistttx2XX2Wa+4x/dBp+qXd9FPcZ3EfNpp+jfvY6vdKyz0pN+9TqeXeRS2m3+OQ5Z4XmBzkmVwsNjnJNtlZaHIUZ2qOydlsG3dzTBbt7C2ymJW7fMs5hMzzsp5nsY07O3t27hpM0/201MJdm4W7DtPHdu7s7PXb7t8od4fgPt+E+z0yJgE7JV4V9pyY2yhJzEYwfgbndU7iHAck3PXZrjfOXbfpl3aLr1os1uTAXZWNubjFuSs072XEvL9hB+7i7Fm5m2+x6y3cxY9xBm9w4S7HfP84dwGP3JVZuKuxXH+dAndtNu66bfeh1xYbRNxVcPFRgXu/V0l0ZJo7I+a9hQLhf/mug3buVtiuyX693ZaY12HxkzXeNZs+jXNXZ/F7teV+iLgrssU7K3cBCwe5tpgnindzLXHuWtgU2vCG38s17L/BwAtC0eEmNjY72CaXHLtBIkI2sHdwTrOnyi5/2k9ZlvY92HxLnr3ejHnzbDVetslyjiXX5pmxNmCr8+KfjyLTim0xL17fVZmfN3uubTSt2Yx79hqv3VLTWPNtnyXHLjdjxcrElGZjF9O1/Pht3PvXk3KdE3OSWBfbDPHRkLr4CPPRj4KHygvnHouv2VSwEKz2hoWsuuGCLJn4OA5Ano/g+CUczwWY5wJUwxaalg1bZNpiWC4sD5YPK4AFTQvDIrCoaYWwEtPKTCuHVZhWCau1WL1pjbAmWItpraa1wdphXbBOWDesB9ZrWh9smcWWw1aaNgBbZdoaNg9A7hIqYRGQ1mR7o4s5JWdZcDQ+IG/jvK7E+X2Rn+OA5dyX266rz3LNPaYfOk2/tJt+ivss7kPdnw0WH1v9Xmm5J+XmfSq13LtCyz2NmPc5fs8LTA7yTC4Wm5xkW/hZYGHqelzfdTjOZt8Ab5fg9f/jX+vszbOxZ+VukY27fMs5hMxzilosfu6lAvZE3DWa/tGPSy3ctVm46zB9bOfOzl6/kLsv4v5egvv8UtIcZVXuvLJnLwo3StciDeGcogjWX+LnaOVuhY27Xpt1W9jrsPiqxcZdo4W7OovfqyzclVnMzl2cORF3+SYXVvbi3M1P4s5gbDb7Gnj7Bey/YF/k37vB8nsLzL+1cpdj4y7gwF2xA3e61Viuvy6D3K1McHcO7u13eOeGaB2bTHCkk7uN0jVwK3BuX0nEvFS5s8a7Zgfuql24K7Lczzh3IfOeBwTcLbFxZ413c03ursPn61r2VYiPk7QrUQxeDZsNm2PaDabNM20BLBu2yLTFsBxYrml5sAJYABaEhS0WhRWaxxJYqWllsApYJazatBrT6mD1sAZYI6zJtGZYi2n6U8rbYR2mdcG6Tes1rc+0fr6b5IGIeSE+0qvSyafawbfFA3MbxnS4jOCcBhDnjuDnGT/n+PnHr0e/tk7zOtvNa4/7odn0TdxP9ab/dKs1/an7tsr0te7zcst9KLLco7hFYCHL/dSP+Zb7vdjCQtwWWHiJ83O9ydN1JmPXsJlg8Ex87yrYdbCr8fXV+BvDFsAWwrJNWwzLgeXC8kwrgAVgQVgIFoFFTSuCFZtWCiszrQJWCauCVcNqYXWwBtMaYU2wZthSWKtp7RbrhHXBekzrM63ftOWwFTB919IB01Zzuxb3eK3rSIdCrIttSY/4MHa+Cr4dDgWq8Xo27Lr93kLBeZFQ3s/riq+cKRYf17OTYbUIlI8BxKdw3AEYdwDEHQB8B2DcgeC6AzDuAIg78IHYARB3AMQdAHEHgt0OwLgDIO7Ah2gHYNyBgGdYKawcVmlaFawaVgurg9XDGmCNsCbYUtNaYW2wdlgHrBPWBeuG9cD6TFsGWw5bAVtp2irYatPWwtbB1pu2AbaR207X4k8G5E0K5pSYRcFxnRkUN7JX+PltMM93nXkNa83r0a9twHKtK8zrX2bxSY/ppy7Tbx2mH9tMv8Z93GT6vcG8D3Xmfak275N+vyrM+1dquadF5n2Omvc9ZJrOQ4HJR57JyxKTn0UmTzpXOl8GZ0+Au3sRAB9NcLfA/D0rezkW7gpM9uL/085dsYW7MvP8rdzVWNizctds+qTFwl27gLteC3f9pv/j7A1Y2FtjY8/g7l+wf+N7w0LBK0u+frhzEr8iAbKRvTGGu3Xmday2sLfScs3LTR/EuetV4K7Zxl2cuRof3IUt3AVMNuzcZdu4m885+xe4+wMS9Z85b3HuFgq4i8c8EXcRB+7KBdzVWLiLs2flrtXCXYcLd8sVuFuXxN3zuK8xYfEnEx1eYp4o3sk6XdYnCe938P2n+TlauVtr425AwN0yC3fxmKcS7xrNeFdruS/VNu7KLNwVm/fYC3fWeLfA5G4BexJF34MoCleAv0a8rgODdfiZYQth2bBFsMWwJbBcWB4sH1YAC8CCsBAsDIvCCmFFsGJYCawUVm5aBawKVm1aLawOVg9rNK0J1gxrgbXC2mDtsA5Yp2ndsB5YL6wPtgzWD1sOW8F3aqzDParjuzauNm0taoq1bCnscWkn3yaFfHtjCuJX3tH3Mqwbn5eaxPmuMq9hpXlNK8xrXGZec6/pA90XXaZfOkxftZn+022p6VPdGkyrM31fY96HSvPexO9TmXnvis37WWje24h5r4Pm/c83Lc+0HJOVRSY7OkMLTJ50tubiHuisXQ/mrmO342fP4Pfewe+9g+Mg/m4Qfz8I1gbB2iDecxDvP4j/NYj/OYj/PQjOBnEegzifQZzXIFgbxHkOgrNBnPcgzn8Q1zKIaxrEtQ3iGgdxrYO45kFwNojrHwRng2DMsBZYK6wN1g7rgHXCumE9sF5YH2wZrB+2HLYCthI2wDeqGOQ79umPSNA3rlgHWw/bANsI2wTbzL/eKxQeHvNs7Mb0iQ/9ieeRSCRWWFj4Duzd/deK3istKRksigT/VhLIvqQheu10sfiYzaYBzA8C1BDgfBHgaglbAMuGLYIthuXAcmF5sHxYASwAC8JCsDAsAiuEFcGKYSWwMlg5rAJWCauCVcNqYLWwOlg9rAHWBGuGLYW1wFphbbB2WAesy7RuWA+sz7RllienrhA8OGuNww5WG10SsBXIrRbbZjvGzakgjP8PsQAZNftOHdYntvab1xu/9h7TH3HfdJj+ajP912L6U/dro+nnetPvteZ9qDbvS6V5n/T7VWrevyLTCs37Gzbvd9C8/wUmD3kmHzonS0xusk2OrEwtQMFxPVukzWEfBndX4vv/HPM7C82/XWy+V5w9J+6ilnMtNs/fyp4Td4027lps3HXauOu1cNdve2rvgI27tR7ZExV+WwXmxp2XhGxdg7Ta9myGFeb1Lbdw12tanLtO02TcNZk+duKu3Lxfce6KLdxFXbiLM7fY5G5hgjUrVzvBWw3Y+xjsexC+9+J7Q0LuRDGvwDSv3MVjXpy7Wht3TaafrDEvVe5WTzB3N3qId2sF8W7AEvOW22Jer+kLK3cdLtw1uMS7OHelAu4iLvHOyl22hb1Rrt5DMTgA9i5CzCvE7zyL3xmBDeH1EP5uCH8/hPcZwvsN4X2H8P5D+F9D+J9D+N9DYG0I5zGE8xnCeQ3h/IbwGRnC+Q7h3IfA2hCuYwjXNIRrG8I1DuFah3DNQ2BtCNc/BD8MwR9D8MsQfDQEXw3BZ0NgbQj+G4I/h8DZEHw7BB8PwddD8PkQfD+EezCEezGEe6I/M2GIPztBtzV85HSIj6Cuh22AbYRtgm3m3/Oeb1U7W1SFryjebWLD/Bw3mue8wbyGteY1rTGvb8C85hWmD/pNn/SZPuoxfdZl+rDd9Gmr6eOlpr+bzHtQb96TWvMe6feq0rRy816Wmve22LzXUfPeh00WgiYb+SYrOaYtNlnSmVrITWdSj3ntqPHOAoM/B496p8uItMZbYol3eQq5Nl7j+c21S201Xnsac60qc6L6zoxxsZsgPhrTJT5Gn/2xv1o4HNGi0ch7JZHAmorQ4i9W5c85oLx8oWRO4HXm3NTr2MGA9GLAeA+Hc4GkCFwiESB2ML0IkDiY9ZZkbC0E2yxwdlqK7B5LEWQFc7kNTOt+9qIRD1kStsMosu0OP7Mm5xtdEvJ6B+ERT8TLLYnYWgD2SIRHm0MBGC8C3YSHqACMF4GyRLxEkIgNG4LdAs6+Bd5m8nmn17IZ+Pp8MLgWP9s9hrtFCgIk7CB8S83rKVcQvo0uwlclKK50CYrr08Tedo/M2ZOyaEqCdWeYAUkBKBMeHWkQHuUKwiNeBHopAA2m/gqxcSnscM7db1gWuPsYft6An71uYVTOXZ5Lh0uhJBlXmubEXSYEiBfutnjgbrsDd1s9iF9rvLOLXhXh0eVBeFjjXY0g3pWZ961EIDzsolfU0WIXvaPcPQvmloC54/X1HhAfB4G7H+J7948RvtkW9mTcWdmz59oSF+FbIxG+zZYiUNTZ1+2Qa524WyuY4uc02nGThL+tAta2KXa62KedrhdsgOCFu24PeTbOnTXeVQu4s8c8EXfxjg8Zd/GYZ+VpHnsMrF2jXc+O1K4Ge1fxqVmfx8+X4XffTrAq6+hz63ApVOxwsXInq/HSzZ093m0W5NmbXOId4lxsW/rFx/5pfFRHK4qGnysO5hRUBOadcNn651l5wXzWkX+Zy8KkOebionnsUwCyA0C/lRQMZQWgk/goVgyIdS4BUaUA7PeRiEXTrOxQ2pPuzS623Zag7QHSHhw3SgKj36BoLwRTScalLsk4YGEgXzDqsciSULPZa7zQm8dOx8+56OXcXWsuyryBnYSfR/F7/04kcVkiFokPL6JXJRFbA2KmC0BR8bctBfZkQkRVgNi5W+mDu1YX7molorfMofc57CA+rMk428JPNnsX8WwVuPuSphkdLZy7y82Fl/PY+2DX4PceA2sjUtHrNNoblYgPK3eVPkd7O23seU3EXrnbmiHutggEiAp3K3xw1+LCnd94ZxUf+S5F4CK2F9zdDbZ+gJ8fqAveRJ6dzePdp/HzNvz+W0lFoFfR6yQ+VEWvSHz4jXlrFHKtE3tbbezZGdwuyLFOeXazAndrUsyzrTbh2+Qyw8DKnb3DxYk7FfFhxK/dOG4EY1+D4JihxznO3vWJXHsceFvIR+CyFTpbvIoPFe6aFWu8Xht3duYGBM/wkAkPH3k2th3io4nEh9tITiQcHimOBO8rD2f/oGHJ5QdXBuZ53BnhSnPng3lsFoCcY85/dhcfbkNyZZYPmmxIrkGx99kaDHtSKABViz87kLcomFNSTocA6bcExl6LL7odikD7tKsGj0HRrUdGJD4WcxuB/RM8XYGgdyTfXeNSAXvzeFA8BL/3U/z+Q3wIebFDL6CK6PUjPpb6FL1ee2I2CXphRMXfzYrs2YvBbQ7c+REgsoTsZfTDbbqf07QrJ+5E066M40uIZ/ng6gQ+2pEr4e56dgB+7yv4/Rvxd7Gk95gI0dtmKwA7FTpb7KO8axVi3o0OMc8Pdzc7cHejYiHodfQjHdP9KlKY7mcfdTO4eRtxbCnY+jhfGJxtY26uWQheD+G7gM3Gz59OFJDpFr0qU5ybXUZ6rdz1pZhrVdhTEbxuwvfGFIWvmwBJ13Q/p9Fet+l+OTbxYRx3IpYVgb0TeT0328ZediLmHQj2LsLf3In32WvmavHMlgKFqfVeZhg0OUy7Skcnn588u10c60h8uD9AsTAaeasolN9RFsj+pL7zWXXebJ9bs8XV8QIo5mx2IYC8BTDGOOgTlYhVph/Yp1sNuPQAqgoPUfK91cFEyXm7Qo+gfW6qdVhYZf6939EPP1Ng4oWgU1A0WHkP/GwCR+fDpvMC8HoJd7MTW55OQ/D8DP5uGf7+7cQ0LlXxUeQy4uZX9FoTcY+P3mennuebJL1+ouJPhbubFbhT6Q1c7aMXWqUIFHFnFb1lKaz5MJLnXhz/AOZ+hEQ7kyfc+Q4x7wZzW8iF7INIxmV4r5cT7yfjLqjY+1zhofe5xaPoTXdnS7q52+bCnddC0C3etVl6odM96uYmPpYk4t7j4O068HYEX1Mp4Y53wizguXYGjhcg3m3D7+9OFIEq6ytFvc8y8VFrYy+VXGufYmoXvaKpzZtdikBZAXirJP+KcqxbnrVz5zb9arlF5KuMfqjkWa+jbiriwxANw7AHwdIvEfMOiW/3LI15xiMWdGH8UfxdA97vtUTMk02rl4mPUlsHs2xafUOauRvwGO9EzLnEutgtEB/NJD5ED06MQHgURUNPlIZyr60K3HB0XqSatYd/k+Le0DnmCMh1fP/yj+DrKsC4k0PpVXzIEnG14hxUNzD9jnrIgqEISmuyvU3B7IlZVAzeJFkD4rVXJtUpMH57ZJzEh8HIv8FNFPyczKdZZRtcOXJXkfSMhePwdwvxPk8lAq1swXmcu6ikN8apF1C199mv6F3rMSDKgqEqd6Ji0K8AceOuLw1T/qod5t8XK0z5s4oPg723Ye3g59NgKYsnYYWOGMvzjA5HMv813vPhBMtOU1+itgXnVvFR4SI+GgW9z27r21SmvawViF4V4WFnT5W72zzGO1GHS7pH3azcNWVwyt8od3thW8DOheDoAM7T9S7MXWSut4xy9k7De5XhPV5NinfWXOu00YHT9OZqhXVGblNf0jXD4EbFIvBWRRuveCcbdfMz5a86xSl/VtFrsPcOeOlF7Po8bJopat1j3nwz5uVxoaxvq/uPpByuuqbXqcZz4i6dU0zXpVjjieLd7RAft5L4GDvNKqwvKt9dHCnYVhpc/F+9V/1qGo6sKjA3jQ+oWZB4sOCRgPNywPgIYBxJzHkdz17ATskwsEoiVg2GTsLDhDFhdwjM+nO7CLFPS3ALjPadYNIxFcFPEegUFO3iw2BimBduOewSsHMo52e+D/YMAXIgAuxFeL878b57hdyFHEbc/IqPVgfxker0A2tAdBMe+xJ33QpTr2TrjeyjHyqLf8dypx+fAnfzEK+OiT/o0hd3+v75S9gXkIAH8L7vSrlzmvpSpjD1xe86o0x1toiSsF/ublHocHErBAcEvdAqC4DTNeXPTXyMcqd3zFWCu1PiHS2emTOKwMPB7//i+De850iS+PCy3qPCNr252uc6I7epLwMp5Fov7DmZTPimKkDSPdqrOuWvyBJPoi7iw2DjGbxeBO6Oiz8U1XPMMx7cewDY+wqOG8H0ngTjTus97NObKxRqvFS5S1Xwymo8SZ6N3Q7xsZTER9I0q0j4tZJwQXllYN5pvy7ZxDqu+20Gn5JpPMF1Bn+gUgFbDxh3JZK/G5j2ROwHzFTm3FsV8UZLIrb2AMaDlBuU1sR7p8BEifk2QSG43TY3VbT+Q3Xth9/5qE49MrJ50E7J2EiOeqHWD04+h2Q6TecmZe6u5XP1P4b3bcT7v5HgTkX0ljL5dqeyBXCpiN5UAqJdeDiJDjfu3ASIfR7+Jg/cOU1FiDMnm4rgpydQtt4omYM9ON4KTv4LNlMvAFPibpGZkHPYB3DMxfs/J+TOaeqLTHw47eyXSu+z6mibqvDww52sGLQKX/uuf6JpMF7WuqmOujU4TPnzs97I4GAE9lcwcilYOdyP8Ejizniq9HS819mId2vwf95zLAILJdNMZaK3PsVcu0xhfZvbaNtWn+w5id+4WHETIPb1H/ZpzipT/vp8TPmrd5ll4GW90eg6jD14fTeY+Tbf0CDVmKezF+HHE/G+xfh/Lyf+Z0CRO9li83qF6c1+azz72rZUhYctzpH4sEyzikaGC8PBR0qDOZeW591waEEwwlrzL2cZbzywahzODwDOKMB8KfGhUFmIVKGw2FxlLqDK4rfVkvmnIjBlwVAWCONg3iUwe1KWCRDV3kBrL7RKUOz1mIydFp1XeEjGxvFZcJGDxDmLB7ElaRS+eiEYQHIvYNfg/zye+L9et5xMZcRNNuVKJSBu8FgATgbu1rpw53cedINkyp+fzQ6Mecg7wUU9+DiVj1jkpom7Reb00wDETAH7Po7343/tTeIu7HHLSZXdhlTFh2jHFzfurDFPVvzdLk/EUu7uTBN36x1G3USjH+ma8ue23kjM3bvgQhcI5yBGTePFWxrY4+9Ty2Pe8YinBTyuBhXWe8jER7q5U53q50X03mpjz6mD706f3G31MeqWjil/quuNZM+YsYsPg4HXwEYTWDlDm8+yeJwqSGPMy2WH4P1/jv/9x8RaDz81Xm2K0+pFNZ7KaNtmxU4+a40ninV3Q3zcCfHRMrXFB59mFQm/WxwJDJQEss9pzL1sWllgEVsT+CEbt8bBNOxQwP5zgPgH2EhSL6CXefd+Fl7K9n1WWYTkJRiK1PBdo1Byu8di8e9ZE7PfhOwnKDo9e0FlEaZqj0yUJT/vw3j40R0IVvqWkgdxkZqbZu70hByGBdkMBOCv4/Um/N/dSc/3iDok4oo0T31xm4Oq0vusUgDKuLvbxpyIuztcuJMtxnSbAiPirkcyD9qNOy/rjcZyp9vfwcMVsKNgBifXppm7ElgTT+6fQgJuxf98I1GMennOgp+pL157n1ULwG0eErEbd3d75M5rvFulOPXKaf59cxrXGxncPYdYVADmTtSLPs7JkjTPNMjnefZgvP8PwN09sJFEISrirsSn6FWZd+/E3SqXXOsW826VxDwZf3dLOl38Cl8vO0x6mfKXzvVG1uI/zP4B7n4P5o7i3OWkOdfmmzXeLbzj5Sz832U4j7dN7sXclTqs6fXCndv6NpUpV7I1lU413h22XGuJdbG7prb40J/dURgJPVcYzA1UB68/oSSwkLXl/4hNWONw/haKO4CEHGZ9gPHdRHGgMvXFC5jxaRxOYPoZBrYn4jiY1mAoSsJWwXGvxexCRCRAREFxm0NQ3OAjKPrd/97tqb/2+ffG8W3c/xYkyNO1j6c/EI7hLpCwk/F/i/H/dyadj9d59156Y1LdecO+xaRKQLxTInZF3DkVgqJpMFtduJNNRbDuttbvYRHmUpcdYKoVNzsw7nWMC9Ag+5J2PZuuMzEu3BWwWfi/s3EOO3AOI9KYV+ay5WSDg/hw2uvez/q2eAE4Gbjb7mH0QyY+litM+UvHeiMxd8MowPTe4B9CbBySce5yze3vA+yT+J/tOIe3EgWpivioZsnP0lLZ2c+v6F2nMPVlm4Q9p86WeyR2t0OevU0yzTmV0V6nKX+prDdSER/GaIPe2bYZLHwVP5+e7g6+MeyVJeLecfj/C/E/n07kWJUd1mS7mbo9RqHLw/o2t11MRZ0tKsLDEu9id09N8aE/uyMaiQwXRYL3FYeWXFxZcMMhVaEb2KRovHcmxO0YfEgWAMSnEh8a1aetpmMhkt9EfJOPRGxNwvcJ7F4XAeLUKyOagy/bdnelwhaUTovORUHRy6LzYm6PIyhdg+D0Ph6ksseJuwAfAdELwUMRjH+F8/gzbDjp3LyKj2af4mOFi/jY4DLiZp1/qlIA3ithL1XuvBaBK1yKQNl6Iy/bT4rEh5HwXsJ916d9nsR3CVoyTtzlm+zpCzND7AKcz804v5g05vlZbO5l6osX0bvZgTvRNL/x4O4mhSkwbrsPeZnyl4r4MLh7C/GuC9x9CrkvS58KOi7cRRJF4NF4PRvn8oS0CLTm2iqB+KifANHrtffZiT2Z+PXK3Y0ep/ytSHHKn5fNDopti86Ne/wKYl0UceckHofC45hrjRkHM8Het3Aud+GzsSexw5rT7BbZA6SdZhh0CqZcLfMgPjZ6GG1zqvEszMXuhfhonVriw1xU/nZROL+zLLLojObF52WVBRaySdX4kHMgAee3AeQdgHGv8CFvlS5DwX6nIPjZ5cpJfKgKj/sFppqQ/QRF2ZNY+z2Kj6WKw8GVgmRs3FO94LoJ9/trCIQzeHAqGGfu8k3hq8+1jrKzcT4rcV7vJJ2nrAgUcee25aQX7tYorDO6STEg2pPwfTb27rNxd68Dd9ZeaJn42OzA3Wof6z5k3Il2gJFNfxkd2h/GvX0Y9/tniDkHc+4CExDzgua2vBF2CpJxFc7tVSXualy2Om1h3kfcnEZ6NyqIXtVEfJ8k5tlFiFO8Ux11S+eUPz/PmbFPNTX400e65iHmHM17hIPjzNxoETgN3OnCdxvOafeYItBpjVu9D/HR43OXq00O4kM0xVTU2XKvQ8xTiXe3eRx18zrlz+t6Iy+bHYxun6zHvAdx7y9Bjj2Qd7aMN3vZJntLILhD7HScTwPOc2dSbFap8dK1s5/Krn6ytR5u3AniHRcfbVNDfOijHWH+7I7w40WhnDkVgTmzFuY0srLA9WzSNi5Cotw+BhgbAONrSbu+uM1DbfQhPmQB0SuYKgVgXExYg+AfBBb/mV2AiHplbnZJxn7XfahsAygrAp1GPsq4vYz7W477fCrvkcubYO5mmz2DYXYCzisX5/ds0vmWp0F8dPkQH6Ii0Gnxm2oBKGPPmpRVewP9zr9Pl/hoUBAfozHkbdzfXhRdZ2ts/BOwkD2jGDwCyfi3OL+/wkYcuXMTH06it4fJnyvjJj5ET5MWTXuxTjH1w929Hnqh/c6/T4f4aGDuD7kc5W4PjtvB3Xdwv/URr4llTp+GVcc7Xk4Fd6U4t1cTBavqjkONiuKjx0V8yIrAdIne+xzYkwlfv9z5FR+y9UZen29kFx/G8V1YD3Lt5yFEsvQOtwmPeUEe947C+VyJc3wUn5kRsy5wFh+pPEtLlTuvNZ5oSr093j0A8XH/1BAfobC+qDwSKwwHt5WEci9sClw9ozIwm+0TjfdEF3EBchTA/D2AfILDWe5BfDR5AFPUC5jK1Bd7Ir7DoQCMB8E/mvaAIDCKguIdkrUfbvPvVfe/dyoC23z2QBv3bhj38xHc11+j2D9cv8+Tir0wZ+9gnN/3cJ7343yHhNw5iQ/RtCuV+c8Dkl1fvPTGOCViEXcPuHBnnw/tZeqV24PfZOKjN83iozyx7ugF3NeFiCvHouAatykHyjGvlE1HkXAOznM9zjkm5c7tSb+p7ncv2+Rgi8/eZ1HMe8BmsnhnFSBepvy5rXOTbbKRbvFhvH4L97YWwuM0vstjZJIwl2129IV5HL4U5/g3Mz4nP2Hai/hocxAf9iJwpQ/xsdVhrYe9CHTjzi3P3umQZ51mGUy0+Ci3jJjqnWjFLJvHvNLJw15iGmABmwH2voJz3ojz3+3InV18NCmMfPR6FB8bHHLtNhfxYY93VrGLHBv7A8RH+/4tPvg0q2jkP4Xh/Iri4KKPRAtLWU1wLtunGh8eLuQ2Ax8eHc4tAHGX6zM+vG7951d8bFEA83YXMO3C40FJIagyBcZJfGxMo/iwbwOoKj6M+/Uu7uNq3M9zcF+n8/ubN8m4q4YV82IwC8dPIHi343tvJl2H03Q/EXuq+46rPmhLtRfQqffZKjwetLD3B9u0hHs8iA8n7tYriI9lGRAfFZy7PTjeheT730jCMzl34UkY80rMxZlF7AScaxjX8YKQOzfx0aIgPvpdxIfqNFOVkV4V7h6QCF+R+LjVZcqfynojL0+c9iM+jLUSI7hvekfLFbinh3PuIpOMuQ+ZAiQf8biInY3zHsA5v5sQUH5HPjoVd5UUPUtLJnpVxYdD73Mi1/7REu9EAsRpqunNKa438rLTmp9tno14oce825HDvqMF2YG8MzdvEsY8XYC8wGPfBxD7inDeLydN106X+FAZcbNyt9HD5hp32ATvPeJ4F3tg/xUf5qLykWg48GhpOPd/anMvPzQcirKywHy2zzaekBfyhPwhwFgEGP+d2M1mIsSHbAqCbL3H7Qo9MXoQfMg0p2R8j60IlK37sD/4zenhW6mKj2YF8WFsl/c8gmE+7uMHtE8b93XSc9fCxe/ROO/rcP5PJIK821ojVfGxzIP42CgRHyo7vtiLQHsB6MSdSHzYp/w5iY+NHsVHn6L4aFYQH8ZIwes4NuJ+fky7ngtKhgQ9ubmr4En5EJznT3D+f4CNJHEnW3yZafGxJU3iw8rdQx7Eh134pkt89KdRfIxytxu2DgXV+VoBH9HinRqTljtdgDA++nYczrkA1/Bs0oNi0yE+3Lhb4yJ67UWg00iviuh9UCHPqkw19Ss++tMsPkbZew2xown38XS+XX2JcX8nNXvlnD095v0S1/QAbER5V0k38dGXAfFxq6TGu1vCHViL/RHio2P/Ex/6aEc0GnmnKBJYVRJcdG51/rXT8sKFrCw4h+0XjSv3UnYoEvOvAePDgHGYxMckFx/G1KQhHO/DffsxguGBeu/fPsVdIS8apiMofhPXsQ3XE5M+YJDEx+QQHwZ3Izg+Bu6uQVJ+H0/Av9iHuIuYI3Bl7LO4jm5cz9sJ4UHiY/KKD+P1v8FdFHYyn+qStw9xV8qZOxjx7mJcx92w4aRnLewr4uNuBe7so70TIT6WeRAfTs+YGd2NTF8/8XvEjvfpo6j7VK41PitZOP/P4Hp6cC3vJj5bk1F8yEY+ZOJjPxz5CEciWjQceqE4XJBbHJx/Yn6okdUErmH7XeNTEspQCFawswDjCsC4K1F00LSryTXtqo7bOwgcHUhkn8R9y5rMPc6u3NXy3pnTcD2VuK7Xx3BH064mx7Qr457EcLwJceL/oYg/AOJj3+SuwuwRLGPHIBnPw3U9k3SdNO1q8ky7MrgbxvFhrYr9TCtih+K478Y7fZSwkp2Ba2jnwrcuTeJjWQbEh5ciUIW7fW3kw2BPH2nbjPt1Hgr4GZN9ZoGUPb3DpZIzeCyuZyGu9enEZyzTaz7Wp3HNx33795oPPs0qGhkqioTuLwrmXFydN+fg4uBC1pn//9h+23hC7uKAvh8fvFzA+Gziw0gLzid+wXl9Ijg+iftzA+7TkfgZv2/7NHd6EVjPr+MQBMXf4PUjuM6RMdtO0oLz8V9wbr0HDewVcFeO+3QSX9xbso9zpxeCNbxXcAa4+yYS8B24xj1J10wLzid2wblxHwZRIPUj3n0WwmMa78UN7uPTnWs4f+8Dd7NxfY8lCt46D6LX65oPexGYypoPSRHouubDbXvxybTmo45/7yXcqyjYOwm/xybbJi6+Yl4lFyIH4Lq+lYh5DSnUeOnY7cpNfEyR3a74NKtI+M2iSKC9LLT44415v80qD2SzKdF4YDcC40E4/gAw3skLwUbaanfCttptSATGIRy3IWF9C/dpJl/AXbqfcKf3ylTxxDyd9zA1stWwXYmEQFvtTsxWu6Of+z8hHvwaReDhfBvR8v2Eu6CZjJfw4+lIwHW43tcS3NFWuxO31a7h+6fBWzbYOw6v9/mOlqQOl0pezM7AtX0d17gV1xtLerq5192uVJ8vk4ndruzCd1/e7crw/zBiwUOId7/Ezw7mNVHVfsJeibn5y0o+6+AMXGcDfLAz4YNMPudjYxo6+gTsxe7bt8WHPtoRiUT0hwb+X2Eob25xcPGsULSUlQaniPAYo5A1LkQ+ATjbAONbiQ9pE6OHDI7nQwaNOamv4T7UImh8BO+334gOYWBs5UHxg0jIIVz3S2O4o4cMjs9DBg3u3kUyHsC9OEebz7L0KXL7JXchsxisYUfhWq/E9f8TvhgZwx09ZDDzDxk0/L2Xd3zVse9CcMzUi7/9krsisxCsYachvpfBB684FoGT7TkfKtzZR3on83M+DJ8P4nUP2Ps8RGKWLnr32zrPmHFwFK73Clz3aMxTFR99Pmu8zR6Fr0uu3ZefcM6FRzg0VBwNbisNL7mgPnDNTIgPNqUbLwTruB0NOK8FiE9wGOMLtFo8TEPwA6aT+LjVgwC5TxAI7/HQ+2wvAmXiY60lKMZ7n61FoBfxMfrhH4E9Av//FoXfkXx9ROF+zt1Ckzt9GlYj+zGu/wHYkHDBuUoRuMJyL1KZ8uc2+mENivdmgDsv8+7dxEenRHwkL65+HokoB/fiA/vTaIcje7XmlIQG9mX4YBN8sFu64FxlAaYTd24xz8qdfaONO8aJOz9TX1RGemXiw/Dxm3jdCOY+BsvaX3qcpczpveqNXPwehuOv8Jn7O3wwPIa78XzC+XbJlD+3DhcRe6Ippn5E70YX0ZvKE86bEx0vz+EeLMA9eT9iANtfRW+CvSvNGQe1bAau+8vww0b4ZldSZ4tVfMRnGXS5jHyornOziw+n0Q8Ze7DY3RAfLfue+ODP7ijkz+6oguA45XuLb2MVwfmMGjN7ZWq5TccH8+sAcjtAjHEoVcG0F4FuD6GR9UCLdkS4XTIv8B6bCLnXloRliVg2DLzN43oPt5EPp8XmLYki5z34ewP8fi6C4DR+H6qmHHtZ8MEnERT74Ju3EovxW330QKsWgVsU9yB3EiAy7kRJWGXus4y79S5TX5Yr7Dg0lru98PH94O4H8P8BfLpL3RTirsqcFtPCTgB3JTi+nODOTXyIppp67XCZaO7cep/dRO9yF9HbIRC9LYnXj4O3a7R6FOItRs/slGAuYoqQWsT5RnY2uBuAfwYTBbLK9JdUuNvigTuHInCM3eMiPNymXG1xEL1rXESvXXx0SMSHkU/24OvbIDi+g/twAO9sqZ1CMa/BtCp2ItgLwz8vJT6botktfkd713uo8ZzYs9V5sbv2LfFhjHboDw0M/6U4kn9peWD+4ZFohLUUXkWiIwnMJhPMRv76NABZARBfSSQPpyKw10cRuMlhTqAMTHtCFiVleyAUCQ/VgJjKeo9eh17AUX++gKAYgb9P4n7X/d88xbiLX/dS/vpYXP8C+OVfCe5SScZOi3/dkrFs2107d3fbmBNx55aIrcy5JeJUpr6McvcGXrfC35/i05DqDRE45WJegzn9rwFFcBP7FfzyIGzE5iu1zQ5k3KlM+dtmG/0QCZA7Fbi72yN3ftYZ+Vn0O+rLGI6bwN0FYG4G93/tFOWumReBJyDuLYF/nk0Uyqlypzr1yk8RaM+zKrlWlbtNDtvZq05v7pJ0thiLqV/Da32t1xnaz81R96nIXqPZ8dLEDgKDv4RfHoDPhhILzttdpl6JNhZKh/CVxTwLf7E79x3xEQoZz+4oDAdXFwVzz9UeYKw8sGDffmhgxuFsNhNyHTsCx0sB498B44hrD7RsWM4eENe5FIGqAsSelO12pyAJe03E9oDoNgVhmcUXTiMfHWwYx4fg35/Az4dONcHhGBir2YFIEt+Ef+7gQbE9hSl/9iLQq/C9ZZJwt1Zh6kufwvbORk/0DnB3HQqgWfj+lBrtcOSukE1DIfhZ+Gc5/PReEnduU69WCHb5c+POi/CVJWQRd3emiTun3mevU1+M1zvxugRFz4fwXrwAn9LMxUd9jSLwYvjmHtci0KkHeryKwLs8sHerwlQ/L5scOImPLoH4MNjTaxd9ncPv4Ouj+Gc9TDGPdzaXmjGvnXXzmNfhID5EW9u75dqNHjuZZeLXZC92B8TH0skvPszdrF4sigTyisKLTwyFo+y+xvMIOiUwv2n2zrSz6SgEv4jjWoD4XmJI0w+Y1sW/oh0R7AJku0NvoBVOe4C0F39Oidg6/WCrrffZ+pC39Sn0xnTapiF0s0EEwz749bMIhNOmehIew57eC7+Bi+DTUSQ3wF+vJXHnNvXKbSeODQpB8WYHAeLG3h2SXmc7d9skD7Tc5IE7lf3uR6dKxvA5vgXJ5gL41phmlU+8Jbir5VOw9KR8HI5L4K9nk3yo8uAtUYfLWg/ciQTIbT65s8e7W2zcWde2bVF4mKoo3rmt9zD8Ngz7C7jT1zkcxju3Kom3pM6+EpYF5s5AXmiFz96WFoF27vodpl6pbnjgVgTe7pBjZaJDRXioit7VLlOuZJ18Bn+78Fpf0/UlCL0Z1MknGIFbyu1osLcAPnwqIeD8bDHuRfiqxjwLf7HbJ7f44M/uiET2RiPBB4pDeT8oLFhwUDQ/n1XkzyHYPMPZBjuBj4QcDyCDAPOFpIJapQhU3fXKKSg6BUZ7Ur5DEAjdCkAvox4qc1Dt8+47EwHyaQTDbATDWfg5L3aoCbjTi8BlPCgeAX/9Dv57LMmX9mTsthhOJSjeZAuKNysGxcnInVV8GH77D/xYA3+eogWIOyl3eiLu4ALkQMS+78Jvd8N/Qwn2VLaf9JOMVQTIbSlwl64CUGXKVVfSusB3wN0q8Ha2FmTT+Ij6UuJMOPLWzvPsUeDuOvjtsaQisMvjaG8mi8A7XPi7TbDA3MrdVocppiqid7kDd51JPnsRvozCPqhda/q4iFgT5toW/rmcCf6+DV/eAt/tTYp5Iu7cFp6vEzzt3L7ezUvMg8Vuhfhonpzig492RCNvFkaD7ZHg4jMrcq/IKgzlsJrO2QRZSoC28qR8MALkTwHnfYBxKDHM6WX+fSrJ2C5ArIA6mSgJuyViL3Of3aa+GP7Zi+Nt8N/34MeZVPx5CIzNKFra2dfgvw3w7S6bX8VBUfagS6deaBUBcotH7m4RcGdNwl4LQCfu7FNfjKQxAvsr/Hc5kvCR1PPnUYS0sTPhxxYw9rrNr946XJw221CJeV64u81jvFN9oKVq7/Po1rDPwod58OEJ/HN8MHGl1Nmnj0q2sq/Dn5t9F4Gq05xVikBRISj7+jYXwetnqt8qD50tRl4YwfGPYO9nWgM7VPcpNcURuLs4g6fDd/Xw7c5EB6rqlrt+Zho4xTwbg7FbJqf40J/dEY2EnoiGCuZWFmbPigQXsZK8CwiqtMHZwXeHyQKcnwSMXYDxvcQH32sRuE7wFFanZCwKjLcIxIjdbhEUgE7BUJSIRdvrDgh2GxIFRCMJD+J1IxLKGdpPDD9S8yhAVvOewZPhyyh8udPmX+/Cd4MHAbJdITA6cXdzGpKwffqB21Q/wzcxHNeDty9q9Ww6JWEfAqSL83c0/Hg17F9czHWnafRDRYCkkzu3EQ+volfO3RCO96MY/D4KGr3DippX7tbyDr9T4MNy+PcVaRHYPwFFYLpybSqdLaJNXYyR8EG81ndMPIs/v6yRePLE3k/NEbgWdhTYuxz+/AdsJCnPOu0wKXu4rxf2tsvZi90M8dE0ecQHn2YVjewpioa2F4ZyLywpmD+zonARgZSxQrCTAzoLH/b5AHFH0kN++lIY/VAVILLgKDNrEnZKxKJ5z6prPexzn40P6QjsMV646L3OHTTlIKVemWbeK3Mw/HgJ/Ptn+HbI5m/3NUf20Q/VoGhPyjcrMmcv/pxG2uxb63rtfU5OEC8iCYfxOT0Rv0PTrPxyV2f2RnewGfDl1+Hf7fD3bil39ge/iUY/1rv0RN+UJu5uduDuRht3G1PgrjepA+BNxLsO+OtMrYJl8RFzmu7snbtKs7OvkR2GfGvEO9UicJVCEbjZQ7y7xaPZc62duy0ua9vsox4DLtyN7rj5DGLePDD3ft5p0EMc+WKvwex00dfIdLNz4ceN8Pl7Y2Ke2+jHGodOZreYJ4p7sNj2ySM+zEXlO6PhguqS6JKT9Q0kioJLCKCMwtlqBsZ2NhOQfgsg3gzbmwgIomScqgBxEyEy2y4IhFst75mq8BAFRKNXKgbbhA/vV3Gcwf3VSuykxN16Myh2s2mwz8Ovy2DvJPndj/D1In79sLfNpffPq/BY6cidLngfgH9+gsLlEBwZjXikgb0usyDsZqfA1+Xw+ysJv/dmkLutGeLOT8+zbLRtlL0nUZxcxxevrjJ6UKmlOALSyzfgyAJ/Z8O3K+H3d2yfd3fuMlAEOrLnJHjt05pTzbW9/Ht7cLwNPvpvvkFON+XalNmLdzQX81rvg2AvDD+/kJZca2VPJoDtIyEmg7FtEB+NEys+LM/u+HNhKP83JcGFhwcDJWzKP618XAFtN62LnQ4g6wDhzsT8cyuY9l0RVtmComxoThYY7cHRHihlP9vqIxjaH7Dl9JCtUdH1CvxRonWyD/OipZ9YSSt3K3gRqNvxCIpL4N9n+X3oUxgSVi0EvbK33SNzqsJDtNhXtNbD6IV6G9z1gLvP8Yfn1RMraWfP4O4w2GXw+V/g8xEhdytS5G6LB+62O3AnEx2bJQt919m4cysA+/j39I6W7bwjqh/FH60rygx37ewD+Hwvge+fTYyyZ6oIdOJuu6BTz429TAgP4/XrsBr45gz8Lz4rg1qa2TM6mg8Ggz/jHVvL2bCt3lGbfuUl5kn4i22dWPERguiIRCLvFUaCq6PhnHMqAr+aXhpcQJBMCJgbzF7BTnYkAsIVAPGfsGHloOg2N9AOphVOkVLeKgmAN7kUgBsdFlyqBsR+NgT7C/xwCS9QuoiPjCfkDnYQBMh34fd7YHtdewP9BMUbBextFZgbd27F33rf3I3AnsHX8/E5PJbvEraR+MhwITgdn+9z4PfVsF2We5E87S+VZJxO7m5UiHdehYcheN/A9yrhk49oT8IvfcRHxkZBjCLwIPj6+/D9vbgne8elCJRxJ2NQJeY5rW2zLjIXTW02BO8I7J+I/b8zaw8a4c20AImyLPj7c7gP3bBBxy2fByQ1ngp7sloPFrsR4qNhYsRHKBQaiUYjz0fDgYKiwOITI9EAKwleR3BMKJjLjKSjNSEh97Lz8fWNfD5+n230w20evl2AuIkQAZxCu9Gl11kmPNx6YpJ7n/fA1uD6P893Z+ox/EItw+zpwreMB8Uz4P8O+PxdT72BKkFxs3tQdORui0fhodID2G+ZZqUXIn3s20jCB3B/0Lqi8eHuFi5EjsVnPpSYhuW1w2W9YNppqjHPS7xbL9jO2WmaX7L4eBzHy+EDmt43ntxVIt71so/B/0txP16fiCIwJfbcppe6i9538PV6vD4PRbExzYq20M08e20mf13saPi+GvfBuZPZC3tuMc+02JaJEx+RcOjVonD+ZTWh2QeGQkFWQk8qnyRg3mAuRG/g81QvFRaBoulXqoWgW3CU2RaH4s9LAbhKsLtVckB8HQXwD3F9jEY8xpm9TnN3mB72NT4C0Odh3ZFoS0o38euHPb/cyYTHKHe6yF8AH0znvX+9xMO4JuN+LkA+gvtwt6fpV3bu1gu4S0fME3G3UZE7t1GPPtaGWHcE73gi7sa3F7rfFL7L2PIxo27jUAQq8efUwed3lNdgT9/q/xMao1w77uz1cp/PwH0oScxw8cueW8wT5NzY5gkUH5HwK9FQ3o9KwvmsKjCXYJiECXkGAK3lU5Dc5qS69UTL4HQBVJh8N9v+3p6Erdvpek3ExqK3GF+U1cSmEQUTwN1qnoyvxT0ZdHwKsFMhKEvKHoKjtOjbZHsvK3duwmOlRPAa855H+ELUVnYIUTAB3N3DubsQ9+O5pMXXomkwKxW4Wz/JuHPeVOMBFMIfpqeVTwB3xjbQx+MebEta/+G1CJTFO685VpZvZaLDi/AYKz7+jph3Fo3wTlhn3wfg/wfHbDjRn6Y6z6HWi22C+KifoGlX4dBQJFxQXVuYcyBRMBnB7EEy6mYPWba/8yZARIHRrRhUsY2SQKgaDN123DD2ub8Nxw8QBRPC3VGw5Y5bUYoEiCwopos9K3OyqS7W4s8Ldz0Jewr2Kf0pvtTGvSdwJnyfCxsWbjduF74rHbhzS8gbfca7zHE3CPsBfp5FJIwzdzVcfOhbP7+WyEG9Nu785NoNtni1yaHTT9ax55Rv7eytEUy1kq3zGL3O3ci1v8f3ibvx5q6Bi4/v8QcQ2p915DbbQLXjZYM89sU2TqD40J/pEQ7dXRjI+0h/3iUEw6QCs5kHxJ8AwleTHgDXpyhAVknAVIXTyTZ4FB0qIx7WZysYDzh6ju/4Qg8RHF/uOridDf8/aimM1ASI2yhIKuxtEHC3TpKARaNsKgVgN//eO+Duan0XMGrjzF0733Ftq/Rhq7IREL/cbfDJnb3wUyn+nDta9Ne64KrR2thMomHcO1v0ZzAEcQ+G0loErlMrAl2Frgp7bms8+h0e3NvLevH5O4pIGGfuqvlGG/qDL/ckPfTSTfy6xTy7CBHFPVhsPcRH3cSJj0g49J9IKPf7GqEw6cTHTKhifeeTvWPA7PPREy0KjOvkYDqaXXA4FYAqidguPIzr3YPrz9MfSEY0jGsROA12Oe7Be0ncyQSIU4+grFdwnXNQTAt3Aw6bGsgKQON6R3D9/fj80dSr8eSui4uP83F8OXEvelwEiCwZq4iQ9T64W59ivOt35E5DvHtYa2UnEA3jzF4rm4V7cOeYJ5975W6ND/Hrlb21PkbaZJ0t8WvtZv+Hz96ZtLXuOHPXxk6Cz+/i96ErBfbcRIgk7sXWTZz4iO94FQkXFJWHFhxENEwWKBs4mKfygNjJk5KmJECcRkHcgqMfsydgUfHnVgCKhMfoNW9CUDxBqyYmxjEgHgm/dybdh26fhaATd375WyvpcVYt/pyEx+j1PgLuPqdPx6A2bgXgdPh+EXw/lBTz/HK3aoK5s0936Vfi7jUI3+9rjcTDuHHXwkXv17jo7UxTEbhagbn1LpapmGcVHl2Jz1kM9hu8pjWW48VdN+/ouwjHF5PinSjm9Tmw58SfiEELh7G1Eys++FPNw8G7osHcD4by6aGCkwPMX/JkfBGAfIVD2eEgQJY5CBBRQraDKVPKTt+z/709ENqHfkXCY5mD8OhIJOTn4Icv0za748TdUp6MPwb//9N2H8QCxB4U3aZi2YXIGp/crRH0+jkJXlXh0ZG45rcgwi7XwsTEuLHXzI5AEbiN34uOpA6I9HC3OgXu1o4Td11sL7ir1OqoCBw37ppYFnxfAN/vTsqzqtypFoEuhaBUaMjYS5fw6DBHeztZH3LtwUTEuOXaGfish+H/YcQ9bQx7TlOw+hXrvNWSes98HVsD8VE7oSMfWjgUfCMayvtGKH8RQTFJAuKBHMx2BIX2pKJIDKaqCBlwgdOLrXZIwisdRjtkc+3tibid2zD8MF9rpKlX4xQQs+DvX8Hvu03/uwsQr9ylwp6IOZVRNlkBaE/C+vW2JY7t4O5womIcuHuKj7idC7+/KOSuy4U7pzVI6Yp5qxVFh5+Rto4k7u6FEDuZqBi3Ebdj4PftY7hTKQK9xrs1Dp0vaxU6WWQdfCoxT5Zr2xPHJ8He6UTEuI24nQS/b0/KOU7sOc108RL3LBzGVkF81Eyc+DBHP4YjoUA0WLDkAKJioqFs4L2AJwLI28aAKRIgfuFcJbHVCj3MqyTF30qFJKwqPEaT8Sb442itntgYh0R8EPzdgXswgtfGPegQCBCZ+FVJyk78rZZM4VvlIDZUE7BX7trZnyDGPqkFiYuMc6dx9hbiHuzi/m+TCBAv3Hlhz14cyuKdV+7cij+76DU+by+Cu+9RvBsH7sKcuwvg86dT5k61CLTHOlFhuFryN15zba/LiEcyd4M4/karIy7GoZNPr/EuhL9f4r5vVWBPVufJ8u1K95gXG5gE4kMf/QgG7o0Gco4hMiYazCoO59egjHdyKFs9CBAvCVmWlAccCj6nBCybYuUUDJ0KwPi1t/Bk/HmtmNjIeAHYxE6Fv/+Z8L2KAPESFFdIuJOxJ2NuQIE5p15nFe5a2Tvg7hdaEW1BmXH2GtlR8PVG+HxEGPNSTcYq3A0ICrxVHrjzGu86pdzthS+iWgOjnsBMcxdl0+DrRfB/LO3cOQkRp84/p9i30mdHS4+L4DWuexi+6Ib4oMW/mRcfM5Fnc2DDME2ZvV4Be6q1noDF2MqJFx/G6EfoP9FQ/oUlQZp6NbFgNrMZgDMAGA0wW1wEiNPwnGhKjBVOe4CUCZOVkt9b4ZCEl9mCYZ9g2oFTATh67Xvgj7k40jzoTHJXw8XHr+Dnt+FvzVNQdJoCKGNvpQt7IhaduOtXHO3oVuBu9PobURgfSnRkkLtOLj7Oh6+ftPk+de76PXInS9bp5q7TlbvtNPVqXIrA4+DrdWPy7DgXgY6dK6qde3b2ehVH2pLZ+xuOZxIZGWSujse7Y+Dr7Qm/L1Vgz42/fsmakBVyDmMrID6qJ158RCKRWCSYHykPLqCOvgkWH0fD7uBgNjskY5kA8RIcRYCucAl8KxR6/ZwCoarwWGpefwsbQVG8EV8fRnRkkLsONhN+boW/h8Zw50X8iopBv+ytcOGuX5E7r0m4OXH8K5LFKfALtUxxt4xlIRlfD3+/m/D7Uh+dLumOeemIdz0e492ovaQ1sAuJuwxyV8+LwPPg+x1jmGtNcxG4XCG/uuXc5YqCV9bB5xbzjOt/HT75X5p6lXHxcT5i3Ss83qnm2k4fdZ497tk4jC2fHOLDWHgeuK04uPg4ImSiwKzlYH4VSedlmCaEc3RO+thkLINTVAyKAqUIVlnQsydfURB0SsKdSQvLxQWgbk3cnoZfvqD7h1oGuIvytUZnwN8Pm/72HhS9FoN23vpdmFvuwJ4Kd50ehEdTwt6B/UjfEYcoyVgROAs+XzGGOzcBospd3wRz56X4G2VvGJYLowcOZo67GVz0NrM9aSsCnTpdVHOsW85dJlhPpNLRIp7SnJxrm9kIfNKMAplGezNX403H5zoHft8rzLVOdV6nYp3Xp8Ah2Iotg/iomnjxoVs0En4uGsr7Zm6AttydGDCreC9gPmDcjaMmFSAqCbnHQSH3ScSILFiKAp9oWlWfhySsEgz162/kr99BcTxHKydGMsKdxpPxL+DnndzfdvZakuakuxeComKwN4Pc9aaRu6Yk7vQisB7JmObfZ6oXsJ6dDT8/lvC5W8yTcdeVAe76PXDn1OPc6THeGQxug2+OoWfNZIC7Zs7e+3Bcm/SZdxK+9iKw0yXeqRaBXvhLV8xrkXby6d/7I3Ltx3UfUctIjXcU/Lsdvh7B0Z29Ngf2VPOtJPbF+iaP+AiHw3siwYK81cF8ml4/Qcn4/Ug423gCalBMxiqBUUUlOyVomdBwCoLdLr3OqonY8MMI/DIA/xxBlGSAu0p2EHxbA1+PJHHnNPqmMgInGyLuTZG7Xgl79ml9sqkuVu6WSoRHQ+L4Z/jmJKIkI73P0+Db38HHu7m/G3xwpzr62+cj5vW5iA1Z4afCXYsrd6/AP+fRFJgMcNfFc+3n4OfnEj6fwCJQOfZ5Yc/bSNsod43sTXD3E/w+jfamm7s+PsPgy7Dn4WONW6NineeFvx4FDmGxXoiPyskhPvSpV5FwcHNxIOcEImW8wVzIA+LXAOLTCTBFhaBoeM5NhKjCKYLV6ec9NutW6PkTBUOnRDz6If0H/PMFjVBJP3u17KPw9T1J3DX4CIqqArhHgTsv7HW79Pp1OBR/7tztBHc/1qemUUszdzXsSPi6N+FvN+5a9kHu2n1y18D24rhYq2bTiZQ0c1cN0dvAZsNiSrlWJd6lUARKzQ97nYqC197Bl/wZrMHrQ4iUNHO3lWUh1y6Gf3chp2iu7PkRITIGBRzGeiA+KiaR+IiEn4kE8r5aVJBNsIwrmIsREGvYIsC42xVMt8AoglMUILsdQHUy0d+LgqAoEKoM/VoTcV3C3tGq2JUa7cWRXu7CPBl/H/59LeFrL+K31aE32h4Uu1JgzinxOk01EBV/qtzV8td78bms1gpp6lVaucvmI24fh4+fUOLObeRXNSF3++RNhTunTpZWRe7qE9yN4LhNK2dHEi1pZq+BHQrfruU+9loEtimKELdCsMdDp55X9tok7DVLhEe9JeYZrx9Crv2Qvu0/tTRyV8dmIZds5J/v2hRinkrni0LejXVPHvFhCpC9kVDBgsKCbMq149wLeCyAXIejxq3WAma9DUxVddxu64VThdPNuhQKP5UkPHaB79hgWGv6w7AuJOOjiJY0clfGDoZfS+DnkQR3qkFRpRh0C4ypcNepwF2rh17nBil392oV7BSiJY3cFbEsiN7L4OfdSdzV2bhrVOSuzYW7VNjzw51TvGt24a42kQNegEA7D8KXWrq4C/KR3s/Bv08luKu1xTun6X9uIqTDgwj2y16Xwwibnw4+O3u1bJB3SBXT1Ku0cVfO13t8GX5+MqnGqxOw5xTzZPw55VtJzRfrnFziIxwOa9FwcEOkYMn7mwquI2jGBcxi3gt4HmD8F4ey2gFO1ULQqRjsEMApEyVOidcpAasUfyrBMO4P4/UjKAI/RT0yaeJO3+Wqgp0Iv97H/evGnVOvoFNQbHdIzCrsdXrgrs2l+Fvqkbsa/r2XwdwPaMODtCbjg+DfXvh2ZAx3dT64a52k3HkVvPHPYTX/3i4cF2lLqAhMG3dreBE4m4+kV2egCOxwYa7Lo6nw5yQ6vApeI94Nwzc1WhmN9qaNu0o2DTYXft0F/pJzba0t5qnUeV7iniT2cfFRPqlGPrRIKPhiYSjv7BUFvyNoxkl8TEcROBtQ7kkkHr/q2G2YTgZnh0OylQU+meBQER2yYCjqeY77pAof3Er2PzjSjgjp4C7CslAEfhP+fCPhYxl7qQTFNhfuOjLAXYtiz58sCY8yp9swuCuErw4katI24nYGfPqYK3eiThc3EdKaxpjnN96pcicSvKPc6bYB3B1NxKRN9B4O7lbAxyNJRaDfzr40FIGe+FOJeUtTiHlxn1Syh/WOKSImTdyVsmPg25Xcv5WWz7lTx4tX/rzEPVisfXKJj/iuV4WhgrlF+Qtprds4JGHd3gcoBxJgVgrAdOuNblaE00mQeLU2l+TrFgidhn6tiTjuEyMZtyOBHKr7jVqK7JWwGfBrEXw8lORjL+LXSQDLhEgq7IneR5Z8U+WuKom7W5FAPgSjlip3W/mI22Xw8Vuu3HkpBlW5a0sTd20O8U40pdQrd0Ye+D/EuvOJuzRwV8Rz7dnw76PKRaBKrvWbZ+2CQiQw3HKtTOw6je46dfCNcrcTn9HvI0dQS5W7P3HR+3n49Unu2wpbzHMbBfET95xin2m6+NhY8UOIj8hkEh8jkVBgUzS8gB4qnXEwG7gq/jSAfDYBZoVAgHhVx7LRELcgaQ2WXWzEteBrtb2vrPhrFhR/9kXl9mAYTxBWn5Szx+GvU3EO1FJPxsfAn/eN8XGVoviV9UirBsZWB+46FJhzE7peiz97AViRZK+Cu2/gSC1V7sLsQBSBHWBt2JG7mgxw51Qcxnub2xW4a02Bu3oX7pI/j7vgK/0ZRzT1KlXuCvlI7+/g00FP8c5eBDYqMNeiXgRKp1C12eJkq4LYleXZBhf2xnK3F76qhPigWQapx7vp+AxfCX/qPtW4qcQ8Wdxz4k/EoWQ6/p6OAwY3Vfzo+VA4OqRPeZoUAoQ/7Tz4XFEw7/OV180leDIcEKcBzKsA5J4xYMp6BJ1GQWRCpNkDmEYCfgJf9+D4NP/aqeiTJWBRj7Of3r8K0y+GvQd//VIroGScEnfLuOj9Jvz5ahJ3XgSIigBu9hAUjST8EhhcBu7+itcj0qTboiB0ZSMdTsLDnoRHuRuBFWjF9NTplNkrZZ+AL/9k8a085tUqJONUuTOEx5tgbT3sdryO8e+pxDsV0dHggbux8U635SgCZxE5KXe2HAlfdgi5kxWBtQpFoFMh6JZrjalY/8TxYdjeMdypsifjzq2Dzx7zkrm7B9x9iMhJkbsSdgRqlpXcp2UKMc+t46XBpdZzEyPGaNpTI61Z8zaU/OjLJZHc7sJI6C19wfdkECCRSOTdSKhg7rc1erBCZsEsZocgGa/ixU2pBc6KFAKjU8+gFVDRsHEH2w3bgsB4IQA9BMeL8PWtsD2Jh7K12P6+WTEBe+l1theAul9K+ethHNvw91QEpsLdaojeEhaBP2NS7tyCogp7zS5F4dJEATiMJPwAXv8Sdhi+/gKYWw4bHLNNqV+h66X4G8udfryNjxaFiJ8UegH1ZHwJ/Pka9609GVckTXVzj3myhelNCty1JITHk4hzN+DrY8DbqfheJb73Ki8OWwR/l27uZII3/rksY48jT5xFz5pJgbslnLtPwa9/E3JX6WP0TdTpp1IELk30Pr+H2LYOdj6+/yl8rxH8vS7lTrWTxW0NpZvgjfungr0En32fpvylwF2I13hnwo9P889ziSWfOMU8e+eLl7jXJKn1jHind6xsw9ffwXseAPHBmsNXHVsZWTS/pDD4JAp/CIDQBE+9Co2EQwVrSgty6KHSGQNzDg+In4Tt4ECWWhKOUyGoCmaDy6iIFVKjl0UPfKX4+hTtVpxbO0w/z2Z2On5WDzMKwWbb38uSrygI1tnO20l02AvAuJUggZSy00gXp9QL+AH48ZakgOhUCFb7FCGyHpomS0BsZbvAXR+On8F5TcORaStgTTjHVrYE9lISdzKR26jQ6+eUhCsESdjqnxK2E+f3FS2f+ElBfByCZFwHX44k/CpLxk7it9Yjd00C7trYEOw22DfwvjPxPePp1w3sCPD2v7BHYSNJ6zcywV2lA3eG7YHProD4oEWY/7+9L4GPqjrbPwRkFdygCoJaQfwUq36fS91qrVpprVVwww0VQdYkk30yme0uk0lCEkggrBbRqp9LK1Zt/Vqwi/Yv1qWVumCtS1sBUUEE2SHJ/T/nvTeTmcndZrLCnPP7vb9776z3Pve573bec066vCtjvYDhncByTwzXuUmZ/vY4gakEwHqyZSO2YXx+JAIORtxbxI7BdgbeWw9ONrfp2bDiXoNDsJtsZ93rvEZsIxCR6EuXd3xSlyibDiz3gn+tz3RVigFwXRq+XjwX9QTzdnBuHl4fzcfy4LvUFiuz2DOh2/vWR/J+WBUJ/D6iyt1ahsX/O6Iq70fC/u/WVvgEiTqFmBqVXc0AEXe2IWZVkjFORTGmQk498GiCrMP+ZBB1EJQeXxBHP0cQlI4XsaPw/gx8bj1I3NzG8DoFHE5Bh1ngMTch4NAIowo6/gq43YHfEC09hch590Pg+J8YppUmwW+q2egFLgxzvFLUHcB/gV9ecGsYv594Tz/H+Qbv6ll/vHc9PrsW3DtIfLXjnV2wW5dCqUuyA6jzjjuBQTiBog46fd6dBjzXxjCtdBn8diTvlpLztxWcWgA+jaGseAvvgpRs4QOTe2N7MT67Chzd48i7he3gXY0D7/T9R8G7waL3I23uDQKGD7jiXa2NrXVTCmjFO93WNoJTr4N7E/B6f847/JZ+jktJ7/XB9hLIrykps9QkyF2Upr6z62kzs7U6PqvxzJ7EE0KipcG7CjYA+D1OyZaoC1tbm2IQkjwG2IyHy8i/exv8uw9cGqw9rAe78e1BaSZjFRprULPH1KilCyrKla3dV4Yla6oi71KkwOyG2lJRXt8pxJTYQBiTR0FInZipkHOeyUwdqQYiuiHeDXkCJL2Q5qJe1paY9NoSmh+9Dz73PXz+WRzviy0K6MYAm5VXucn+xSvDVowa8UA3aLLIyKTFuwjuYzkrA5YH2vDOyRFMNwBOdgiXkBH+Azh0LWWdeW/HEybnuphmRuqF75+Jzy+HbE/g3UIL3rkp67Ny/uZa8k4DbmsgYurT9HjXC9hNAJbbbXk3t528W2DLO67z3iVDvIANod7dlSbnusiYHWkhG4HPSvjOxk7hXY0F75K5F2UfAbv/0m4SPErDzvKgdzQwXB/D1MzOuq04SDUAbrG1y8H7pexB7H8H3+9FwUbcxCla2NB3t1EgchJ4F6Ve3yUu7Gy6QYedrdUTU59j/ypRfp+2zjsb+P0D/NNIonFJ1FQSfmY9wHUONlfXdzxx8kvw6iL4cb2JcxbjuB+J3Mxm+hazRyumDKlVS6ZURsLvqAhAuqMXRJYlLaKEf16plB0jWNTRpAxTCcK5IOPbMWKWp2CQrXpCrBRkMkH1wONTEDSI90bQrFsOtezUVadnak7G5yvx/c30O2bdvFZK0K6nw8kIJ+K0FviN1UKCSynxzk/3eQQwfJZwjKSpFGsdeGdVqqArxG3YLsbxGcSnWodzvtXogVvEjoV48P0PyCA7Bbl2zl9t2rzboKnsCsG7FHk3h5xAngWsJUzjeRdNg3fzUuDdAsNp44Z4MXsGvOGlc71aMs62572AHML++P4kbF+loLkhDd7NawfvInS8F9spYqKNtIIPHvTeDgx3t4t3tS6cQLNgRC99+RDigQzlAYbjOfOEXx0bBH03CZx7A9KUwDs33LPTd04JvlZ914RtUCT60vTxVDYdGO4g3kVS8PNStbfJ/NPt7EZwRsLxSApqH3N33r+svIvtDTA2X8njg9GfLo8oe+Qu7gWh0itFflcNBc6dq+YLMnVC8DEFRNzuSEw3WUGz8gSrGv1FUCiLYEgb2AR8fkBLiZXrc19I3cNH4vu343f+Rr9nNaitzsIAuzHClSbKsBWrLXiwbxT19yneu2zi3aXA8N8xLK0MspNSdJudqYs5gM3gygfYzsTnjmkpdXF97osp8O2L37oS312N3zlIv1vnMuPnpqfDzgHUcdoLQ+zjzqtgUwr3roJ4dyKe2deS8LTmXZUD75wCkRZjrGeMvwRnFLw+imeb3QQeCbzjvcL17Bz8xkOQ3aZTlrrhnZm+q3LFu2bg93PNx/oLNqXIvXLoDJUtJ0fajRPYnuC3PsnWLmYHSFctZNfgs33dBB6x8wZHtRyyt+fhNx6BM7krgXcdqfOSA494nCLsRXBvmBYQXErRxzsSuK0E95ohmmt7W5WivU3uCV4Ini9kf4FMxOsDW8Z2pNKWKdNYdnAxW6JOH1mrlobLVenzri3Dknnvx15VDt7bUD1DlDl3MDEHg5jLINyoaDFyxmdZK2yI6VQraEZMPfDYge1KkPRMnEOvVIxwQg9IPZUlcIP8P/g9Xra1i35/vk0vh93MGlUuss4RAyeFhONWpYXYAMGmFO5dkPWB81wA7JoSeGdmkCtc8M7JMM+POYD7oARfAA8vx+f7UEZ5Xhrnv9AYK1XPTsFvzMfvbokFIPNdBrpueJdshFt5x+VZPDvDBJtS4h3vcbsW2O2w5V20A3lXR7zjPRVvYv9WvN+feFeXJu8epe8eg98owm9+Qo6g+ark1ryrbhfv1msSO0OwKcV7J7MxwPHvMSy7wgnUez22kY6qYydrBa0DfFM69wV6aRb+byi+XwT5tA3vzLhX48C9Spvejnju6ZhtAYbfw3uiub1vEfLxzgF+fyPOyXF4OnHPrPTZKeE8L6bvdsA2rgQnvqP5df+OzzCYTns8ehsrCVexJdK0/vPVgpsq1dBrkYh6sKvKsHiwE1GkB8uD3sGCUR2XiWFwms8EEd+MEVNJIqeVI2ilGK3IWRtHzIXsnyCjB58ZSgqtnQO2aYDwB6QYT4CS9OH3/03/48b5szPCZtk/Nc4Qt+L1EnA82alsRzTjfnGnPcCOBX7PEpZynGOj2jiCTs6gnWLUDfHn4F0VGWGvYVDbcx01sbEgQ6Bkp0DhrqMAZ74F55x4V+FghJU2vPsQTuD3eC25aC7vWTECTolVA7tGwlG24F0qPXDOvNsJeRj7/43XstINPGLXUGUEIdWsL37vx9hfA941Oo7nSCXjbBZ4tOAVYV8Dw3t5r7lorgMP7gTeASy/MrWzbpzAVHvgFrBmcOMtcO0+vDeYxhXVt+Ma6g19t4Adgf3rsP09fv9AWomWSpcBbzz3VPyXzAJajphoI4UEbS/4JpOB2zex59fJz3OqeLHjoJ7k+xCc81Cg+gt90pb2tp11A1mdkseek77fq07OPac64l/RVWuC8FIvRZb+UR4qGxsJFgpSdVDwwYk5CYZkJ0QjSccgu1GO84iU+0HK1dgfry2BE9DBqzSTM7iQ9cPvT8D/vIz/O2hphM0CDjsjrJoY4RbMwmwbcBwvVp12eZ/WUgb6POC2yZJ3qQQhTnWq9awJfPgreHE3Xjuyo2cnw//xrE4WlOzFkFX4vz0JK5MnG183GWc7568Vs33A0IN9MfWp+56P4XhWX+003sVzTy9D+Re44AUPj6eZ0xZ34LXMhfycApmx+I8G8G4bGX+ngMMqyWLX2xHPPRnPU5g9ABG9ve6Dj37g3SLg1+iKd+UOdtbO1uq9EPvAi6fAi4vwG707MjFG4+MY9RifDs7V47++TuCdm55dp6oC1ZR3zeDcGjzDYvCv23vFK1skthhbLSaSRcLPin9u7W0d/Lt57Hc4/hHe69MZ/tCf/GexejmbPaBMG1atlBRUqOGPumJNEEWR90Tk4F2RYIEoc+4QYvrZQJCxwXCgW8VKMUZcZAXNyKlHxF9B5mP/NFo7oaGTrolnBKdRL8g4/N8yyA76fzNFmKrzp8QpwsSHmSvFcq1MDIZz6QBmwRBzp3k/tq0K0Y1SjLoMgOfGDPFeyBM4vgD/0zudEivXjuByCkRG4v8kKOLPEnhX5cLxc+v8cbxacXtCC7ChglWu9B3v6f0JMPs8hp+ZMVZsMtJueFdNyZaD4MFL2L8W3+nfabyTjB68KnY0/uN+8O49bJtdO37p8+4NPMdnckxFc9FjEEaAKLG1CRjKJvpOdeEE2tlavbdtI3SfhNdOpIC3ulMy6lSuit/mvJuO/3kf0myZZHHbu2vHPV02gHffFwusurhHPtJ3Y4HZ32K8c2Nvyx2SL8kc1JN828CDWtzzMdozzpO3tLctVWexR5Tb+tXLeVdXRUIvRlSlU8uwEOA0RZTQyuroTOHjtZuYpWSMTwYZ18VIGUoyxma9IHaK0aw8oRYKqYath1Kagt8Y2FnKsE0mup7qHQdjPxv//yE5gnMtnL9UMzDhOEPcglmQvaJ52TCtWHDLRTZmEPD6FbbN2GopO4J2SjFRIW7APQ+CA8dpz+rlKp16XRW60sX/9YPciHN4A8eNlryLuig3sHIAW+VjBB//o4k1kJzvTwDBZ5BVAMMDMd6Z6Twz3jkFIfFrItWyr7FdSob4ftaLB6adel0RQ+fxDHcNuwT7v8Y57HUs62sP78K4xgC7XUy04eL+6AmXm4DZVlNbK7kIQpycQN3WNkLWggMTKOCt7ZiSF8vr+oWh76rAu2p2KfZ/Rbyrtgh2zYKOcpsEn7mt3QveleG3RAbaOfjoBd7dDNlN+i5Z5znZ23KbpF9FzM424X6/g/17IQMpIO2ilej5ooRaPuPlWKfMVUrroxF5q6KonTbrlSJL70Wl0tMEs9pLzBIQM8AmQnZCtARyhh0MspsIWSfmHsjT2L8Mn+lNYzO6qDSJSrDqaDB6H/z/1Tj+DWQ/nZcbReiUgQnFYRYg2aqV4X+mCm453psydj7w+qQN7+y4p7oIgKOGoauGQqxhL+FeT8TruhHuokGK5ATWUIDFVzI+F8cP4XiHLe8iDr1syc5fIu8OQGYAU1F65WyMRwGrF1PinZIC7/Tetvdwr2fjmGZR4wFpl1xblcE7RjrvZPAuiuPP6Jw6indtuVev+dkgwSyHexNkA4BVdQy7VJ3AiIMTqPNuO7YrwLvv0PiSGr13otOvbYERgDDq/R0F3pXjvzdRAGLVw2Y9kYFbnfccREy04Zxg7g+cFgG3Zjynmis/z63e0/UdDzSfxPHFvPSXOFfRtde4QprCwpEatliaeVSNXDy1MiKtUzppTRBVVb6OSP7JdZJHkKtdxCyHU+5nC0HEJiJmPDndGGQ75ahn2zaDoDKOR1EXbbSbrjMaywqeinOqhmyNTZ3rRhHKNkY4YODmp+MD2Ea0h0VGxiHo5cFHDvDa1YZ3ZkrRKggxC4D1LOA3tIJwlI3TLqMAoHuuUzJ6QqLsWziffMgn9FzYz+ZiNp7IPNiNx84PA1DEjhS9brYOIA8+xmO7wZJ36SZe9GQLT2z8Bvf3chj9Pl3h+NnqvCitpH0b5E2cV7Nr3tklWeK5pzuBf9G8bAzvRRfN4l54iXffBlZ/TsDOjHeSiyDEzNbOZR9hm4vPDe3sXjbba50b492t2H89tpp2eRpBh73O+wiYXs5tiWgW9+I+qmwZBVv7NmFWZohbvafY6D3dzm6E3gvjtRNp4Wepe693iTST/T10RFatXHhxlRJY1RlrgiiK3KRIweXzpTwxzXg7s88j8QD/NUZMf4JRSd8gV7JGyBvYv4VWTq/QlVK3XmulIRIbjPO8Bw/O2zhuMu3yder2DcZh1IJZC34+9idsRUbGPvgYApweB07NCQox1SAkmXt6KcKHuKe5eO84ut+hHsK7EOuHcxyP/T+AeweId1a9a7IN7+KNcFmc+Ni/IWciABHN6l4UISDwMT/wanTkXciBd/EOoe4AfoFtFV47hco9e0A9OuldD8vCOZ2H/cdwjrts9Z2bjHMy78oQ6PvY9Qg+RMLFOvvMbe2PIdsTsOsIJ5AHvJVsNbh3NX6jL81e6e0BOm82LaZ4Lnj3CM5xZ2wxTzWNno5gkp3V5QBwzdeKBe8s70OIeHeT8YxqJE7cC7mwt1Hozwq2Fvd3It4bQImOy3vGNT8qXc9KIhVssTRnZI1aKlWUy5v02bDkDiu9UhX59Wi49Iz1kdsFydLOAnrZjSDiFjzEbYlp1wti1U2nZ2K+wfYRyNn4fhavRe5R111OD2QWthdAno6tNOvG+TPr7Wh1/jTCsYxtAK7XiKlPLfCvId6dD5zejSlEn0tH0K4nJAojXM7WQK7UCvSsc08akEg1+dNhkCPsVJxjA873K3peFBfjiYKueLcH+9M1QTG7DPQI4PTrNrwraxfvmnEf/w65A98fSOUnSg+6ZhXyOG2H4hxLIZ9a8i6VgLeVd1xqgW0/wTBL3vUFRpWQ5g5zAvVky5fgXy2OT9HySLf0LN7p6zoMA98Kca4fxxIuTsGunc7zJchTWolI9Nkk+fqAew3AqZGeVTs/L+CCfyr5eHwh6gexPUMrpACzx7UV4ekspFSwZ9Sf9psnF02sUIKvRVS1sSPKsIzg4yslHJgkrG26xAyzI0DOeSDjQRC0lZjJjqDb7IyeifkYBC2BcjmeouFIz3IAjewnOQfGKscjcb4SznVDbK2JdJy/FkOs47gPuIbwe6L+3gz/xVBYXnY/cNoV451T8GsXAOsK8Qts5+F4DPFOpgCz5127bJTDhNnRON+Z2H+Hnhs57nqsa5zNnb8W3vlYE/YfEwtdWmCfR07gZcBoU9yzmsi7VIIQPdmyE/fvcdy/79LATqX7e9pMr10yki48M66wG7D/R8jBtHmXqO+4vI73RvCBn6K1CTy4E3g8tq8mPLNWvHPjBPIV5iPsLeiQKVTiVK7b2h537arBuyo4wQq7Fse/x/EBenbcBh1lJtxr5d3HlMjKEzyz4N63wb3XCS9vks5za29b+KcHvB/gHvKqgqFkx7i+u7tnXvsT4VvYQiWH/V/Z+b3qpZxz5qqBFdGIsr0j1gSRZUmLyOH588KlAwXLUiXlreSEc2K+BNFIvBYG2Sw6jienboibQMo/QjH+CO/160mZP1scFDLIA76mZDAAABVBSURBVHHuE7H/F7oOJyPstzDCXgNHXZ6HDBdMM8G8kB0FbFZY8i4VZ1BfWf4d3L978NpRh8rUi3xhNlwTN8iX4tyfw3kfoOfIjfNXZsM7L3sP27N7ogPc7ZjnA+9iVgx8mtrNOz0DvQnG2Ifj4YYe6fkYhHRnAed/Bni3GNudsQDEqqS0zCbg9cZ4tx3ba7VcwTNTB5z3hJewbW14l2omWre1+/CbT2J7EU0bHj0EMKgyBqVL7HScez1kG/Eu5KKU2d7WHsQzPQvBh0j0mT3rxexmYPUlthpJvM11Sja38E/Xd9w+/Q5yFd4/4lDx73h7LDiB+eQK1hCaNaxa8XmiaviT9q4JIst8tXN5bSTkH10eEoMsU1eIheynIOLmBGKaKUafjWLUHcBtxgI2p1OW5xBb8ZYcQT7rVxhOm8QewvXsMKbNdQ46kpVhK5b/Ar7f18SECIlY5xLvxgGjt2NYFbsIQszKABW2B0pxFe6ZPsuGpM9pfshgIRk9ISE2CvsVuJ7PE3jnd8G7kja8264Vsama6A1OxHo2GeKjgc1vkvBKzRkMkSE+iHu1FvfsBtyv/nQfw4eYvgsT747GNhvX8wGtUeTk/Nnz7iCwrcZWrDrdVudlAZsK4HbQ0gksdeEE6r0eG3HPQrh33yKHXjnEeKcH6YNxHVNxPe/TgoEhE975HYLdeByL2VNaPn5zjuBaAt45CBIKWC241wTRSJJ1nlUQUhabQIdzbgvuXS3u02jtge4fVJ5O2yoNZvVSLlsYnNa3Wiq8ukoNrimPqPvTLsPC92RJ2qGGA9dHxYKDKROzL4gZaUNMt45gIJYFXA+ZDjmKFItyiOIhGyViYXYcHi4Pth/HlKKbDEwLdkUxOQgnuwjBRx/BtiRDXMDuBD5747BypxTjFSJfFT3MJNyj4fi9Q5d3qsE9vuZJmE2CvIFraibelbnK/LViWBjb8l4lMfVpPM6zqOfjQmDzWTt5tx2yHPfoTEivQ5Z3lUbwG2Z9IFdg/9e4nv0p8S5R33HevYLXRgi2JWGdx04ANi8nPKNueVcWs7VNuEcvYzsBPOxPtvYQdAIpG6/zrjf2L8V2lbFmh7Od9SbxrlXf/RvP9nf4My5aAu9GA5+XCKfCJO7ZBcC+mL7jCYl3IPfgngzCPeK99Yd0myfls+cLxrGl4exvV8lldeWqvCXdMiz+vYgSrlFDXjHrlWtSziFijgIZV7chZpEJMb0mxAxBYQTZc9i/gs82cahl/ywzMxLNTNIb1/VjXN9qY+pc90a4MEFWAedhPOsqGnCdScHHQAQLDxA+BTZK0SobHWSNkFchk8gIhw5NI9yGdzwAOZumRTwPCv4xXNvOtHlXxN4kY5wjOBfDOBs6Kp8VAZt9afKO67wPsM2DHEuTdRwOvFMNh9BP08BWY/8LcgSdeFecxLsCOt6M7XXAWrR4ZzsPtqSIbUrL1uq9Hjuw/RnkLFpHQzr0nUAaBxIypoENsAiucVMs8LXrZSsy5d1ebGfxZ1wwLqbvOO9+Cly+IIwK2tiIRO7FByG6vuMLEj6B/Yvx3SxaJT18eGAzP5zNHgjPYg3+GUPmysVTKyLhdRFVbU61F4QHH6ocfq0i7B1RFxAlLu6IOZuygFcmELMgBWL62RYoiigIeQr2e+TA3nbhU6aX70DG4jrrcI369IilbcZ1mCvD/Nj2U8j53OkWzZhz3MNOBSbvJeDkJjOjB717oBBXYnsOBbyH2arK2pO6U4FrPQHX6IV8aso7KyPciukOGJ47hBMYh20uGwJMngM2zZa8K7LgHZ+WN8BWQ67Ccd/DcTVv4l0ZGwzOTYaso1mZSl0Gu628OwiMy8E7UX/fgmuQ9QYmCrA5YOsEmmWi/ZR5/ifuTQ54dxwFvIeZj0P+g5cNwvYWXOfr2DZZlvZZ6bxCeqafxGfE4N/W4KM/eBcBLk3Y6s9nfpKvZ1bxouu7zbgPfuwPpymivYcnRgsDs9j/hq7sXS97LqxSAk9HFHl/qr0giixvr5AC184vE06eO2LOYUeAkEGQsZmImefCEWyZTcfH3oLcgeMBpAz9hylGRhcjrvNIXO80yHpIM+FglvmLN8KtmHJjnAu8hTHmmE4j43kbcNmVwLt8E4VY1EYhfgLsiyHH0riiw5V3foN3xawfFP91uPY/49oPxnhXlGSEC0x4p0uDlsOOFKwzZrnKZRcDo49NeWfGvZJYsoVPQ15Hs8Z4DnPe+Skp1RvXewF49wtc+27CoCQl3q0B1qME62JB70hg9NsEjJycQC/xbh/uwWqqLPDCXvtIJxyeGPlo8pssXOtZ2H8E174zxrtimwRfIvf+ATlX2yA4RyWmnHd57I+EjccQM+7F+3mlsDM+9gpwvwHSn5KwgcMbqwZpKrtRfo7Vh7NHVMulUkVE3qAo7gejq6p6MCKHq2tCIeHjORKzhKLioSDjizFi5tkQszCmEHeBmI/h++eDpFlEzKIMwMpnlGGVsEuxvwo47CU8Ci2yzi1Yeui4GdtngPdgwTxjAFwuWwZ8GhMUohX3dN7x+cnXAP8f0Vz5gcOn+9cSpwKDdwWsF677v3D9SyDbEgJeK861YvomsB4tZh+iCQ64Mc4DJrtjGHkceKcHH+uwnQLeDTlUZrNqN1Y808ko6TIcEsTxp7HgI5538dyLxzSfbQDW1wjeGeXNuewq6gH3uHQC9WTLF8C9GjzkvcR6T/zhrvPK9OAKOAwD74qAwYcJvCt05N03wHqmdoXgnTYDdoPzzsO+ImxyTbgXz7+WiUpK2APYHwf8ex1u1Sx27RllIgtJUbY8fOeAask7sUINvxJRlSY3ZVj8M4osrZ0r+cVYN0dieikTeBkI+SWRMteCnInE/A+2fijEE1oc8ozCzGcEIl42CjhEYjOEJWdgWjCMxzQX2OWy/9buz3DeLSZDPAbyliXv4rmn8+4rGJ8GyFgywpnGu6DBu2J2DDDIxvZ9MshOvNNlF+RGSMbXQQODYyBPJuFjzjvdAdyD7So4PJeQIfZmIGZeo/etiN2ELc+GNpIDmG8S8Cbi2gjxQ/qK4IOSLT7IQUd9pwe9zcD5LWzvBu6DtQycwZMSLyWsL66fT038Is2iVujK1jZj+7CWIxJ9lOTzMAXSZKrz4v08vdfjA2xzsB1Ka6C9kZm4PRi+mVXIAT4o/ewq2b8iqrpbE0RVlc3lkv86n9/PRLMj5iyWBfL5Qb4DlsT0xIjZCEL+GQ/+T7E/gGfFMj5wK2KDgMck4PIGzRSWb+n86cKzrblwHDOdd3eQUrwNeGw1xSleIfIa3mK2Hvjej9eOpoxYIIOxK6ZyGD5t4g+w/wJwOZBghM15x3vdFmA/o1edpqmdc9gFwOM9S6xauKcHvXw2rDD2R7YkHTIWuxIji1rAzgYmPwM2OwkjO97pWP4G+ydk8pgj7V7i3vHA4nlTrJKdwGIKeJ+EfBf7WVpxhvOukPTeWEg95KsE3nksefcWnvVzM73XDVgcBwxeJrxyLe2DPkargP0O/PsBjo/QxHIVbFFoBpPLJdbgnzW0RvblRhW+JohCU+vaDDw/qEqh6HPzs8U04w7ZGJ4FXG1pPFqJuQOk/BlkrHY3DJAgZqsjOB3GIR8GOZ89Bpx22j7kekbmF9rszK6/p2xWLpxhs2xMPO8KaeaS52GEL6FF4Ty6A5nxvCs0ymEKqIa8Ftst5LTk2jiBHhjjPHZihgcfWZDpwGKvLVYFrBHyOnh3I3DtR0GLWDVZ551kLAyax/KA0SexhIs17zZDLsnkdRe0m4xxRh4Es3ZY6dn8TcA1gNe+dTiP7Ug5AMkjLAYDmynA6H2jjNmOdzsRfNyDbcb29vIKC2BwJTD40sG/+wLbWsi3+ZpQvMdJNL09VnIbKw+UsaX+aUdUBwuvqlSCq+3WBOGvq4r0YjRcKsa6ORjjy0HM/zhkAPngrRwtGxF06PCbYaNd+DFDKdbR2Bme2fKSQbYPQN7H9vwM591pwOH/2SrEfBjqfBYFnieR08OlRnAuLqNF46xoQa08GNkC9leH3o+v8d4E7cYMxiyHHQ0MHrLBiPOOJ1pWQvRZ1Aozu6fNBENd5+XTRCXjaQB1Pjtg4wjyMV0l2M/YNY602aw3rr+IsLAOPBohLwHTiRTwenWdJ5qBoc+wAXksi0rF89kqyG6HAGQp+DokYzG7h8Z7yMBpv41/9zccT9bmwI6I5J45jhHG6sL57OXccaw+nDt6ruKvLVflL83KsHjwEVHkjWrIP74mlC/As3ReclkpCLjXQhnux3u/xf4P4Fj3EVN1OuCZbSzWmMeuBXZ/otmtPKYOzk4aDJehQZyRjZkAHLa0wUfnHS9fewP7twPTQSIL44BnASlHXj7Jy4n46r57TINfnY/ztVsyc7Y1yujlsHEU/HtM8dFoBiwPK8DnvpWJ44pSwpM7guPJGRwDmQ/ZZso7fTzD/2kz2VEZi9UcdhR49YINPt+Ab0uh78Zpl1Bpm2h2+q6QnuVRwE2CbDbFVXeu1+Fzp2eq70J6LJetsbCzu4HPk5CLSDeK9cec8SxlbEE4h6303TtkbrjkvgrFfE0QWZYaVSkYRPDRV6BmTsyhNPuSx7Qbbgt1w2Wz0ZRxENGwO0xzjfpeDzsD+C0Bjl9b9II8BMlIYwxD3B/XXgFpNil32U3la3nsPDgrWYJ3LjH1UiaaP9MjgGMQOG5swzs9E7gWnzkpIzHifMphk4HFfhNDfBDyB8h46Dy9zEpwzxnTsNELkkPO9X3A79025TA67z7D/oXa9Mx0WHDtF0A+Mx2Llc/+CXyyIcfSMyyWCHBnZ3Mp4TcQ25uB4+vUc9SWd3uwf2smTrShzSA/5Gpg8x+T3t1N2PKJIIZT7/kcwalU2rLADPZQ6YQ+86SiC6vU0C8jqrJXlpWk3g/phWi4bPjiMpFJaKsQc9ilIOA/E6Zfy6O1Pt6F3I1IeBB1sQtipp6ZKaBMAq+LnkkYx5fDtGRkctk5mTSFXZzROAnX/1KCodCzfxsgPijG47TJwvlLI5mg48tLNvLZDcDy1TYGOZ/q7ydkIra47gFUcpUXF/TqvONTUC4CNqdqPipTEC2d55qXFuWzi4Dnr6j3LZF3e3FcrF2fgdgsJ+4VEQaJWfl9kBewfwVVFvDA4zrBpZR5N52SVGcZpZI7EpIuuj/DS6/6Zxw206jUrwzXvz8hyZLHXsHx9VSl4dHthmipt/rgLDah+jU2L1w4bK7sC0dVeaNqrAlCU+4q0uflcvCy/y2ZJcBKIGYZiOlhOZB9Sd1wT9HAuGwY4TzhALZLKeoPNlcAVwLb5yH74mYQ47Wqk7UAy6gZEfjgP5r338O2xc2kxrPOf8TrNwCvfoSbqHVOn3c8CLmLtmfjGV6BQHh7zCB7aJrPikyc+hTXzqd2/kfMKdbLrN7B8UwcH036TiSp2se7PMpG83IYFVhuiuMdD/ie4z0kGYdNNjsK1/5sLOjVM8+fA5NqHJ9KvZa5wglsB756r28uVXLwIO+jON5xeQf7J2cgLicAh2fjZlLjdmAZXj9LmwI7LAKPdrdF4dmsQgmx5WX3D6gOFd9UqUp/VhWlmfeCKIrcVK6ESytDZX0EUomG4jgQ8fG4OcY346EN4r0TBSk7EOsWg+xhp9DgaT61bOtijsuA9+BMCvCg+Pic4xEjI6WPf8lji4HBGdqtgncdhvN0vXwD2A6F5EI+juPdGtyHk7V7MgwPHuxzvukB7wHDMF8KzvURSZYOdgYL2EBgewuVw+QZZVh57ENgfQkvB8ko/c+TefzaWysL3sL+XdqszNL9XeTX9KPkVj50XB5rMjD/hrh4cwZhUUj6jg/K/xeexWaqvsiBHeB+H38+pwq+dGRD8MG0KGO1oaKzKmX/g+URZUckEtFUJfy7mmDBMQGfGHiuE3MmPaTngpCf0JSSeew1YwGyAUYdpWgdbYB0GQR874JCWAfcm2itgRw2JlPK2rTbKUM1DErxFVKI+ewDWvMkmx0jZtnoBLwlI/CdTZMg/JAMcgE53Z+Dd9dk0lozmpdKDFYYi6Xy0rMoH/tC5ZGCdx2PN89ET6bs6rnYf4SmIOdlRznMw6dqzyDdzzHw4Pr30ng2D3sS+u4CmvJZlDN3TgBST9vRwLoemG+lZ97DlmiBzJltjRIqvMyRP3N8NrpcdgXZAaHrOq09Fb6FVUohtiA8a2i17MutjCgfRhRlS7lUdunKajFziU7MOVQKlA0nhNdHPgiSnkWLR4kpdDsPc80ow5pJsxKdD4XAe5220xR3szLDGBuZ+PE0y1W+Ues8W6zd0SXBr4+e71OB+3wIX9gxAuwzYsFBbSTxbhzkHVw7X+tkEjAZSIGH6GnrPNx5hvU+0nvDgHkh8N6A/afx+tAMcoaH0jXrA3x9tNCgJKar72T/Rh9zOYd6lviaIHxB0b9jf2yGJFq4Xjse1/wwBWB5bJR2p0gqd0VrCE5lshxiC/2zetdKRVdWKqHfRiV/aUOFt7d4MG8gQzwED2I1iOnFAzqUnD9BzM7HfoZhkD2kGIdjG8Z9UKAcB2TE9U+noLcQ/NNrnY3yPk2Mx+p87PNjg9GPhMzGPViI4xGZMLZGO5au/WYqc/SwC43Zh8TUkl3FOw9t+YDqibgHDwD787QMqEIwnEDey7GSZlwqYUeIyoIuTLjMIemF/e8Za/tM1KZlCO88NMXuNbCtRxuz0YnWRe2p0ERWGy5ilZFyNi+Yc/q8UOG1KyVvP/FQ3kCGdxDIOQ7Gt7/o+u2m+5BNinEg3YfczJiJA8EHH+9xJp9iWPR0dKMzOAf3IYedQQNhMyH4uJtmwxlN00rmidn7uo1395IjeCpkOI4P+95eOIF80paRPOOuTcJ+keBBtwQh+caaIB52GoKPrAzgHV8UNUt7EZwTCZZuawsCU1k4EGB/CP6k9y+LS7LEw3gDDTbqxQcciQxMN9+LOUZZwn0ZUnY1Hby71wi8RPDRffch11gteGZmzCpGi1reovd0CN51M++KIT/RHcKMcALroPOmiN7dbrezPAi5iaafzQzeGSJa97aHpTvZI6Ep7ClviQCDgg8oQq2EptsVrTvvhc8wxhmyqBTNOFQkVo3uMfdiToYEH9OM7GepuO89gnezMyj4EE5gzwl8szMj+BBNNNFEE0000UQTTTTRRBNNNNFEE0000UQTTTTRRBNNNNFEE0000UQTTTTRRBNNNNFEE0000UQTTTTRRBNNNNFEE0000UQTTTTRRBNNNNFEE0000UQTTTTRRBNNNNFE69r2/wGutU8LllhfnwAAAABJRU5ErkJggg==\"}]}"},{"id":44545,"title":"\"Percentages may not total 100 due to rounding\"","description":"*Percentages* are commonly *rounded* when presented in tables.  As a result, the sum of the individual numbers does not always add up to 100%.  A warning is therefore sometimes appended to such tables, along the lines: _\"Percentages may not total 100 due to rounding\"_.\r\n\r\nEXAMPLE 1:\r\nA survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral.  Percentage-wise this becomes\r\n\r\n  In favour:          45% (5 of 11)\r\n  Undecided/neutral:   9% (1 of 11)  \r\n  Opposed:            45% (5 of 11)  \r\n\r\nThe total of these is 99%, rather than the expected 100%.  Despite this conflict, in this example *all of the individual numbers have been correctly entered*.  \r\n\r\nEXAMPLE 2:\r\nIn the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral.  Suppose the data were presented in the following table\r\n\r\n  In favour:          45%\r\n  Undecided/neutral:  20%\r\n  Opposed:            45%\r\n\r\nGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%.  In fact, we would probably guess that a copy-and-paste mistake had occurred.  However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example *one or more of the individual numbers must have been entered incorrectly*.  \r\n\r\nYOUR JOB:  \r\nGiven a list (vector) of integer percentages, determine whether among the individual values at least one of them _must_ have been incorrectly entered (return |true|), as in Example 2, or whether there might not be any incorrect entries (return |false|), as in Example 1.","description_html":"\u003cp\u003e\u003cb\u003ePercentages\u003c/b\u003e are commonly \u003cb\u003erounded\u003c/b\u003e when presented in tables.  As a result, the sum of the individual numbers does not always add up to 100%.  A warning is therefore sometimes appended to such tables, along the lines: \u003ci\u003e\"Percentages may not total 100 due to rounding\"\u003c/i\u003e.\u003c/p\u003e\u003cp\u003eEXAMPLE 1:\r\nA survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral.  Percentage-wise this becomes\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eIn favour:          45% (5 of 11)\r\nUndecided/neutral:   9% (1 of 11)  \r\nOpposed:            45% (5 of 11)  \r\n\u003c/pre\u003e\u003cp\u003eThe total of these is 99%, rather than the expected 100%.  Despite this conflict, in this example \u003cb\u003eall of the individual numbers have been correctly entered\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eEXAMPLE 2:\r\nIn the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral.  Suppose the data were presented in the following table\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003eIn favour:          45%\r\nUndecided/neutral:  20%\r\nOpposed:            45%\r\n\u003c/pre\u003e\u003cp\u003eGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%.  In fact, we would probably guess that a copy-and-paste mistake had occurred.  However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example \u003cb\u003eone or more of the individual numbers must have been entered incorrectly\u003c/b\u003e.\u003c/p\u003e\u003cp\u003eYOUR JOB:  \r\nGiven a list (vector) of integer percentages, determine whether among the individual values at least one of them \u003ci\u003emust\u003c/i\u003e have been incorrectly entered (return \u003ctt\u003etrue\u003c/tt\u003e), as in Example 2, or whether there might not be any incorrect entries (return \u003ctt\u003efalse\u003c/tt\u003e), as in Example 1.\u003c/p\u003e","function_template":"% \"May not sum to total due to rounding: the probability of rounding errors\"\r\n% Henry Bottomley, 03 June 2008\r\n% http://www.se16.info/hgb/rounding.pdf\r\n\r\n% \"How to make rounded percentages add up to 100%\"\r\n% https://stackoverflow.com/questions/13483430/how-to-make-rounded-percentages-add-up-to-100\r\n% cf. https://stackoverflow.com/questions/5227215/how-to-deal-with-the-sum-of-rounded-percentage-not-being-100\r\nfunction containsMistake = checkForMistake(z)\r\n    containsMistake = true * + false,\r\nend","test_suite":"%% Basics\r\nassessFunctionAbsence({'regexp', 'regexpi'}, 'FileName','checkForMistake.m')\r\n\r\n%% Example 1 (Row vector)\r\nxVec = round( 100*[5 1 5]/11 );\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% Example 1 (Column vector)\r\nxVec = round( 100*[5 1 5]/11 )';\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% Example 2 (Row vector)\r\nxVec = [42 20 45];\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) )\r\n\r\n%% One percentage, over and under\r\nxVec = [100];\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test a')\r\nxVec = round([100.5]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test b')\r\nxVec = round([99.49]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test c')\r\n\r\n%% Two percentages, over and under\r\nxVec = [50 50];\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test a')\r\nxVec = round([49.5 50.5]);\r\ncontainsMistake = false;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test b')\r\nxVec = round([50.5 50.5]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test c')\r\nxVec = round([49.49 50.49]);\r\ncontainsMistake = true;\r\nassert( isequal(checkForMistake(xVec), containsMistake) , 'Failed test d')\r\n\r\n%% Equal percentages\r\nfor j = [2:250 1000:1000:10000]\r\n    xVec = round( repelem(100/j, j) );\r\n    containsMistake = false;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Geometric series (from Bottomley, §5)\r\nfor j = 10:30\r\n    xVec = round( 10 * (9/10).^[0:j] );\r\n    containsMistake = j \u003c 21;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Geometric series (from Bottomley, §5), permuted\r\nfor j = 2:40\r\n    xVec = round( 10 * (9/10).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 21;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) I\r\nfor j = 2:100\r\n    xVec = round( (99/100).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 66;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) II\r\nfor j = 2:30\r\n    xVec = round( 20 * (4/5).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 12;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) III\r\nfor j = 2:20\r\n    xVec = round( 25 * (3/4).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 10;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Other geometric series (permuted) IV\r\nfor j = 2:20\r\n    xVec = round( 50 * (1/2).^[0:j] );\r\n    xVec = xVec( randperm(j+1) );\r\n    containsMistake = j \u003c 5;\r\n    assert( isequal(checkForMistake(xVec), containsMistake) )\r\nend;\r\n\r\n%% Systematic overestimation\r\nfor j = 2:100\r\n    num = randi(round(100/j)+1) - 1;\r\n    xRaw = repelem(num+0.5, j);   % cf. https://oletus.github.io/float16-simulator.js/\r\n    sm = sum(xRaw);\r\n    xRaw = [xRaw max(100-sm, 0)];\r\n    if sm \u003e 100.5,                % Not sm\u003e100, because need to account for extra zero added.\r\n        containsMistake = true;\r\n    else\r\n        containsMistake = false;\r\n    end;\r\n    xVec = round( xRaw );\r\n    xVec = xVec( randperm(j+1) );\r\n    assert( isequal(checkForMistake(xVec), containsMistake) , ['Failed with xRaw = ' num2str(xRaw)] )\r\nend;\r\n\r\n%% Systematic underestimation\r\nfor j = 2:100\r\n    num = randi(round(100/j)+1) - 1;\r\n    xRaw = repelem(num+0.499755859375, j);   % cf. https://oletus.github.io/float16-simulator.js/ \u0026 https://au.mathworks.com/help/matlab/matlab_prog/floating-point-numbers.html\r\n    cs = cumsum(xRaw);\r\n    if cs(end) \u003e 100,\r\n        xRaw( cs \u003e 100 ) = [];\r\n        containsMistake = true;\r\n    else\r\n        xRaw = [xRaw (100-cs(end))];\r\n        containsMistake = false;\r\n    end;\r\n    xVec = round( xRaw );\r\n    assert( isequal(checkForMistake(xVec), containsMistake) , ['Failed with xRaw = ' num2str(xRaw)] )\r\nend;","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":64439,"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":"2018-03-23T08:02:20.000Z","updated_at":"2018-03-24T13:53:40.000Z","published_at":"2018-03-24T13:53:40.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ePercentages\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are commonly\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\u003c/w:rPr\u003e\u003cw:t\u003erounded\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e when presented in tables. As a result, the sum of the individual numbers does not always add up to 100%. A warning is therefore sometimes appended to such tables, along the lines:\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\\\"Percentages may not total 100 due to rounding\\\"\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEXAMPLE 1: A survey of eleven people for their opinion on a new policy found five to be in favour, five opposed, and one undecided/neutral. Percentage-wise this becomes\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[In favour:          45% (5 of 11)\\nUndecided/neutral:   9% (1 of 11)  \\nOpposed:            45% (5 of 11)]]\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 total of these is 99%, rather than the expected 100%. Despite this conflict, in this example\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\u003c/w:rPr\u003e\u003cw:t\u003eall of the individual numbers have been correctly entered\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEXAMPLE 2: In the same report, a survey of a further ten people on a different policy found four to be in favour, four opposed, and two undecided/neutral. Suppose the data were presented in the following table\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[In favour:          45%\\nUndecided/neutral:  20%\\nOpposed:            45%]]\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\u003eGiven the background information, we would quickly recognise this as inconsistent, with a spurious total of 110%, rather than the expected 100%. In fact, we would probably guess that a copy-and-paste mistake had occurred. However, it is important to realise that even if we looked at this table alone, in isolation, without any background knowledge of the survey size or the true number of responses in any category, just by knowing that there are only three categories we can firmly conclude that in this example\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\u003c/w:rPr\u003e\u003cw:t\u003eone or more of the individual numbers must have been entered incorrectly\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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYOUR JOB: Given a list (vector) of integer percentages, determine whether among the individual values at least one of them\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:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emust\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e have been incorrectly entered (return\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\u003etrue\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), as in Example 2, or whether there might not be any incorrect entries (return\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\u003efalse\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e), as in Example 1.\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\"}]}"}],"term":"tag:\"rounding\"","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:\"rounding\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rounding\"","","\"","rounding","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf4028cda8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf4028cd08\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf4028bfe8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf4028d3e8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf4028d348\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf4028cee8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf4028ce48\u003e":"tag:\"rounding\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf4028ce48\u003e":"tag:\"rounding\""},"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":"cody-search","password":"78X075ddcV44","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:\"rounding\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"rounding\"","","\"","rounding","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fbf4028cda8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fbf4028cd08\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fbf4028bfe8\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fbf4028d3e8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fbf4028d348\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fbf4028cee8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fbf4028ce48\u003e":"tag:\"rounding\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fbf4028ce48\u003e":"tag:\"rounding\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":59409,"difficulty_rating":"easy"},{"id":42641,"difficulty_rating":"easy-medium"},{"id":61140,"difficulty_rating":"easy-medium"},{"id":44695,"difficulty_rating":"medium"},{"id":44545,"difficulty_rating":"unrated"}]}}