{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":46648,"title":"Factorial","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 20.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.4px; transform-origin: 407px 10.4px; 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 10.4px; text-align: left; transform-origin: 384px 10.4px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the Factorial of a given number, x, that is the multiplication of all integer numbers from 1 to x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = F(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 0;\r\ny_correct = 1;\r\nassert(isequal(F(x),y_correct))\r\n\r\n%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(F(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 24;\r\nassert(isequal(F(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":430136,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":103,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-10-02T14:04:25.000Z","updated_at":"2026-03-31T15:11:19.000Z","published_at":"2020-10-02T14:04:25.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the Factorial of a given number, x, that is the multiplication of all integer numbers from 1 to x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45770,"title":"Approximate functions 1 (★★★)","description":"Compute the following sum for any given x and positive integer n.\r\n\r\n\u003c\u003chttps://i.imgur.com/eUwXdSE.gif\u003e\u003e\r\n\r\n\u003c\u003e\r\n\r\nHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus, \r\n\r\n  2! = 1x2 = 2\r\n  3! = 1x2x3 = 6\r\n  5! = 1x2x3x4x5 = 120","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 209.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 104.9px; transform-origin: 407px 104.9px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 204.5px 8px; transform-origin: 204.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCompute the following sum for any given x and positive integer n.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 47.5px; 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 23.75px; text-align: center; transform-origin: 384px 23.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,R0lGODlhCwEqALMAAP///wAAAKqqqpiYmHZ2drq6ulRUVNzc3BAQEMzMzDIyMu7u7mZmZoiIiCIiIkRERCH5BAEAAAAALAAAAAALASoAAAT+EMhJq704i0ZY/qC2eWFpSsapYkYQPMsqz3Rtn0uDEvcZSI9BT9VQDE2DRezIbDpvBSNgIH1aDkCh9ZIQVLcULXhMBmMBnTJloViqk18yoTHgqe9rTmHAOOMzDn5lAg8CeEJseAkSBGJ/gwABi42PLAWVBjplB5eJjwMPlXcJoQAGi6IUDYuCYFQSAw5vDRwImmQFpYSpZbQSCLwTAgILB7djBZoEKYpxZloMhsFgD4sFBpxqAnUF29gHLi52TNsE3QPYUxwMbkfl5+kACS3HQ+/eWBu+0z336FilFhhwBKYAlgMIDCFAtcUgAIQKGVpxCBHAQmQHE1qUyK8HRY3+F0VJKwBMmwSSd0aWhAQAZccnKl+iYYZn2SObf3DKfKKTnwKCZX4+EvqH6E4nRqctCHDmUpmlTdVAPSmVKdWjQ6a2TIVywA95rZx0/ZogbJOxEsoiA+Y1rVmsJ9CCTZUgWhcCApyCqSvgbl4yfP3q3RJYAN7BcGUUPpy4sePHkCNLnkx5yADEZS5X0vyH8yHMYzxPE/0GNBnSmU27Um0FtTtu+D64Ds16y+zVn2o7uW3jY0TZuncHF567+GcrMUvwbj28yfInz4kfB9OzAgMD2A0oUJDdwDgK4cKLH2/hevbt3b9PGM9e/AXz2NFnVx+pvf333eVjp2//fvn83M3+9wR82gW4nwX9+SdBUsAZ11lzR0TnHIQ9SDiDVrVZGCGFlnF4g4YdPviEXGo1KKKDd4BYYW0HGLBEiy+6KAGMIKgYwmJ/1eihDTZ+uGMNPQJZWwIhEYmKkWmFlEGQ0k13opMmtDMDkzJQyYSUIQzQAAMP6IVkCVjWqOVAE3wJ5gwJjGNmCGFiAE44JMijJJuPtKnYnKe9GIA0AgTw4weUALCUFn3+WYIDcRZqxQEDJMCRopXJAKkaDjBkgCwtSWIFlxMgwEwBmrpiQJygcnTEAdJUUGqkMqx6BwJiEECWVWMMmhatE9UVZwK4NoEqF72yWgKvb5VxqQRLlUFAKYL9fmXFAkIwEGeyizZimF7UCkuBPtCig62zde653hgCXNcOuE5oIi14W0A7gQN6oSvsAgYFQOgX8t7xwDHOPGFmv0M4BMC6EwDsxLIFa0vBJQJgCkADzAJg8Bj7TEDTGAasdPGVYhCMghoNOLuxwgyMkwkFIw9SDwCpOnHKBLKe0TI5BNRMgAMKEIDKzExoJEEDK/GsLQLxCiI0MmKs7AQ4qbbwxwNxjvGAH9gp7KazDW8lSl0FdF3ujDLytMQCtoBt5xFQT0AjdC8icMbaVr8iQckPm40HAuIxs2YTHDRgQKp7N1FXAAj0IaepEa7jR+CsBirPHEswbvXklAcTAQA7\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 282.5px 8px; transform-origin: 282.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus,\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 48px 8.5px; transform-origin: 48px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e2\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 44px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 44px 8.5px; \"\u003e! = 1x2 = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 8.5px; transform-origin: 56px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e3\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 52px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 52px 8.5px; \"\u003e! = 1x2x3 = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 80px 8.5px; transform-origin: 80px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e5\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 76px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 76px 8.5px; \"\u003e! = 1x2x3x4x5 = 120\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 85.5px 8px; transform-origin: 85.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAvoid using for/while loops.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(x,n)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 3; n = 2;\r\ny_correct = 7.5;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nx = 2; n = 10;\r\ny_correct = 6.388994708994708;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nx = 9; n = 6;\r\ny_correct = 1674.5625;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'for')),'for forbidden')\r\nassert(isempty(strfind(filetext, 'while')),'while forbidden')","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":428668,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":48,"test_suite_updated_at":"2020-11-30T11:33:50.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-06-06T00:05:06.000Z","updated_at":"2026-02-26T12:10:56.000Z","published_at":"2020-06-06T00:05:02.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eCompute the following sum for any given x and positive integer n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2! = 1x2 = 2\\n3! = 1x2x3 = 6\\n5! = 1x2x3x4x5 = 120]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAvoid using for/while loops.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.gif\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhCwEqALMAAP///wAAAKqqqpiYmHZ2drq6ulRUVNzc3BAQEMzMzDIyMu7u7mZmZoiIiCIiIkRERCH5BAEAAAAALAAAAAALASoAAAT+EMhJq704i0ZY/qC2eWFpSsapYkYQPMsqz3Rtn0uDEvcZSI9BT9VQDE2DRezIbDpvBSNgIH1aDkCh9ZIQVLcULXhMBmMBnTJloViqk18yoTHgqe9rTmHAOOMzDn5lAg8CeEJseAkSBGJ/gwABi42PLAWVBjplB5eJjwMPlXcJoQAGi6IUDYuCYFQSAw5vDRwImmQFpYSpZbQSCLwTAgILB7djBZoEKYpxZloMhsFgD4sFBpxqAnUF29gHLi52TNsE3QPYUxwMbkfl5+kACS3HQ+/eWBu+0z336FilFhhwBKYAlgMIDCFAtcUgAIQKGVpxCBHAQmQHE1qUyK8HRY3+F0VJKwBMmwSSd0aWhAQAZccnKl+iYYZn2SObf3DKfKKTnwKCZX4+EvqH6E4nRqctCHDmUpmlTdVAPSmVKdWjQ6a2TIVywA95rZx0/ZogbJOxEsoiA+Y1rVmsJ9CCTZUgWhcCApyCqSvgbl4yfP3q3RJYAN7BcGUUPpy4sePHkCNLnkx5yADEZS5X0vyH8yHMYzxPE/0GNBnSmU27Um0FtTtu+D64Ds16y+zVn2o7uW3jY0TZuncHF567+GcrMUvwbj28yfInz4kfB9OzAgMD2A0oUJDdwDgK4cKLH2/hevbt3b9PGM9e/AXz2NFnVx+pvf333eVjp2//fvn83M3+9wR82gW4nwX9+SdBUsAZ11lzR0TnHIQ9SDiDVrVZGCGFlnF4g4YdPviEXGo1KKKDd4BYYW0HGLBEiy+6KAGMIKgYwmJ/1eihDTZ+uGMNPQJZWwIhEYmKkWmFlEGQ0k13opMmtDMDkzJQyYSUIQzQAAMP6IVkCVjWqOVAE3wJ5gwJjGNmCGFiAE44JMijJJuPtKnYnKe9GIA0AgTw4weUALCUFn3+WYIDcRZqxQEDJMCRopXJAKkaDjBkgCwtSWIFlxMgwEwBmrpiQJygcnTEAdJUUGqkMqx6BwJiEECWVWMMmhatE9UVZwK4NoEqF72yWgKvb5VxqQRLlUFAKYL9fmXFAkIwEGeyizZimF7UCkuBPtCig62zde653hgCXNcOuE5oIi14W0A7gQN6oSvsAgYFQOgX8t7xwDHOPGFmv0M4BMC6EwDsxLIFa0vBJQJgCkADzAJg8Bj7TEDTGAasdPGVYhCMghoNOLuxwgyMkwkFIw9SDwCpOnHKBLKe0TI5BNRMgAMKEIDKzExoJEEDK/GsLQLxCiI0MmKs7AQ4qbbwxwNxjvGAH9gp7KazDW8lSl0FdF3ujDLytMQCtoBt5xFQT0AjdC8icMbaVr8iQckPm40HAuIxs2YTHDRgQKp7N1FXAAj0IaepEa7jR+CsBirPHEswbvXklAcTAQA7\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2492,"title":"Factorions: Numbers that equal the sum of the factorials of their digits","description":"From Wikipedia: _A factorion is a natural number that equals the sum of the factorials of its decimal digits_\r\n\r\nFor example:\r\n\r\n2!=2\r\n\r\n1!+4!+5!=145\r\n\r\nWrite a function that returns true if a number is a factorion and false otherwise.\r\n\r\nAssume all numbers are of base 10.","description_html":"\u003cp\u003eFrom Wikipedia: \u003ci\u003eA factorion is a natural number that equals the sum of the factorials of its decimal digits\u003c/i\u003e\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cp\u003e2!=2\u003c/p\u003e\u003cp\u003e1!+4!+5!=145\u003c/p\u003e\u003cp\u003eWrite a function that returns true if a number is a factorion and false otherwise.\u003c/p\u003e\u003cp\u003eAssume all numbers are of base 10.\u003c/p\u003e","function_template":"function y = isFactorion(x)\r\n  y = num2str(x);\r\nend","test_suite":"%%\r\nx = 0;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 2;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 145;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 666;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 1729;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 40585;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":379,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":83,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-08-08T15:54:48.000Z","updated_at":"2026-03-04T02:46:13.000Z","published_at":"2014-08-08T15:55:04.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFrom Wikipedia:\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\u003eA factorion is a natural number that equals the sum of the factorials of its decimal digits\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2!=2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1!+4!+5!=145\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\u003eWrite a function that returns true if a number is a factorion and false otherwise.\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\u003eAssume all numbers are of base 10.\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":45184,"title":"factorial","description":"calculate x!","description_html":"\u003cp\u003ecalculate x!\u003c/p\u003e","function_template":"function y = your_fcn_name(x)\r\ny=fact(x)\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 2;\r\ny_correct = 2;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 3;\r\ny_correct = 6;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 4;\r\ny_correct = 24;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":368653,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":71,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-10-23T10:14:44.000Z","updated_at":"2026-02-18T21:42:08.000Z","published_at":"2019-10-23T10:14:46.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\u003ecalculate x!\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":42267,"title":"factorial of a number x","description":"Factorial of a number x","description_html":"\u003cp\u003eFactorial of a number x\u003c/p\u003e","function_template":"function y = fact(x)\r\n  y = fact;\r\nend","test_suite":"%%\r\nx = 5;\r\ny = 120;\r\nassert(isequal(fact(x),y))\r\n\r\n%%\r\nx = 1;\r\ny = 1;\r\nassert(isequal(fact(x),y))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":38003,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":391,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-04-24T10:30:06.000Z","updated_at":"2026-03-14T11:13:04.000Z","published_at":"2015-04-24T10:30:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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\u003eFactorial of a number x\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":2047,"title":"Find Factrorial without using built-in function","description":"A number is given, you have to find the factorial of the number without using built-in factroial function.\r\n\r\nYou may use loops.\r\n\r\nExample:\r\n\r\nInput:    8\r\n\r\nOutput: 40320","description_html":"\u003cp\u003eA number is given, you have to find the factorial of the number without using built-in factroial function.\u003c/p\u003e\u003cp\u003eYou may use loops.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eInput:    8\u003c/p\u003e\u003cp\u003eOutput: 40320\u003c/p\u003e","function_template":"function Result = fact(x)\r\n  Result = x*(x-1);\r\nend","test_suite":"%%\r\nx = 5;\r\ny_correct = 120;\r\nassert(isequal(fact(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 40320;\r\nassert(isequal(fact(x),y_correct))\r\n\r\n%%\r\nx = 33;\r\ny_correct = 8.683317618811886e+36;\r\nassert(isequal(fact(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":20110,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":138,"test_suite_updated_at":"2013-12-14T01:41:33.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-12-14T01:30:28.000Z","updated_at":"2026-03-01T12:12:51.000Z","published_at":"2013-12-14T01:38:12.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\u003eA number is given, you have to find the factorial of the number without using built-in factroial function.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may use loops.\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:\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\u003eInput: 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\u003eOutput: 40320\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":45189,"title":"Double Factorial","description":"Return double factorial\r\n\r\n        n(n-2)...(5)(3)(1),   n\u003e0, odd\r\nn!!  =  n(n-2)...(6)(4)(2),   n\u003e0, even\r\n        1                 ,   n = -1, or n = 0\r\n\r\nFor example\r\n\r\n6!! = (6)(4)(2) = 48","description_html":"\u003cp\u003eReturn double factorial\u003c/p\u003e\u003cpre\u003e        n(n-2)...(5)(3)(1),   n\u0026gt;0, odd\r\nn!!  =  n(n-2)...(6)(4)(2),   n\u0026gt;0, even\r\n        1                 ,   n = -1, or n = 0\u003c/pre\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cp\u003e6!! = (6)(4)(2) = 48\u003c/p\u003e","function_template":"function y = doubleFactorial(x)\r\n  y = x;\r\nend","test_suite":"\r\ncorrectList = [1 1 2 3 8 15 48 105 384 945 3840 10395 46080 135135 645120 2027025 10321920];\r\nfor idx = 1:17\r\nassert(isequal(doubleFactorial(idx-1),correctList(idx)))\r\nend","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":68,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-11-01T18:08:07.000Z","updated_at":"2026-03-16T09:29:26.000Z","published_at":"2019-11-01T18:08:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn double factorial\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[        n(n-2)...(5)(3)(1),   n\u003e0, odd\\nn!!  =  n(n-2)...(6)(4)(2),   n\u003e0, even\\n        1                 ,   n = -1, or n = 0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e6!! = (6)(4)(2) = 48\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":44067,"title":"The last non-zero digit of a factorial","description":"For given positive integer n, what is the last non-zero digit of n!? \r\n\r\n\r\nExample:  factorial(11) = 39916800\r\n\r\nLast non-zero digit is 8.\r\n\r\n\r\nOptional: Can you make an efficient algorithm for very large n?","description_html":"\u003cp\u003eFor given positive integer n, what is the last non-zero digit of n!?\u003c/p\u003e\u003cp\u003eExample:  factorial(11) = 39916800\u003c/p\u003e\u003cp\u003eLast non-zero digit is 8.\u003c/p\u003e\u003cp\u003eOptional: Can you make an efficient algorithm for very large n?\u003c/p\u003e","function_template":"function d = lastNonZeroDigitFactorial(n)\r\n  d = 0;\r\nend","test_suite":"%%\r\nn = 4;\r\nd_correct = 4;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n%%\r\nn = 5;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n \r\n%%\r\nn = 6;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 7;\r\nd_correct = 4;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 8;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 9;\r\nd_correct = 8;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 10;\r\nd_correct = 8;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n ","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":115733,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":77,"test_suite_updated_at":"2017-02-14T00:18:21.000Z","rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T00:14:25.000Z","updated_at":"2026-03-11T08:47:48.000Z","published_at":"2017-02-14T00:18:21.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\u003eFor given positive integer n, what is the last non-zero digit of n!?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(11) = 39916800\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\u003eLast non-zero digit is 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\u003eOptional: Can you make an efficient algorithm for very large n?\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":45543,"title":"Find the remainder with the factorial of PRIMES?","description":"* Take a number  greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\r\n* calculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\r\n* As mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\r\n* Divide factorial with the remainder (if possible). e.g. 120/5 = 24\r\n\r\nDon't use builtin functions \r\n\r\n  primes\r\n\r\n  factorial\r\n\r\n  mod","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 275.767px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 137.883px; transform-origin: 407px 137.883px; vertical-align: baseline; \"\u003e\u003cul style=\"block-size: 122.6px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 61.3px; transform-origin: 391px 61.3px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 290px 8px; transform-origin: 290px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTake a number greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4333px; text-align: left; transform-origin: 363px 20.4333px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 355px 8px; transform-origin: 355px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecalculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4333px; text-align: left; transform-origin: 363px 20.4333px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 359px 8px; transform-origin: 359px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 197px 8px; transform-origin: 197px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDivide factorial with the remainder (if possible). e.g. 120/5 = 24\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 81px 8px; transform-origin: 81px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDon't use builtin functions\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 102.167px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 51.0833px; transform-origin: 404px 51.0833px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 24px 8.5px; transform-origin: 24px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eprimes\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 36px 8.5px; transform-origin: 36px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003efactorial\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 12px 8.5px; transform-origin: 12px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003emod\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'primes')))\r\nassert(isempty(strfind(filetext, 'factorial')))\r\nassert(isempty(strfind(filetext, 'mod')))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 630;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n\r\n%%\r\nx = 49;\r\ny_correct = 3.232790518889602e+58;\r\nassert(abs(your_fcn_name(x)/1e58-y_correct/1e58)\u003c1e-2)\r\n\r\n%%\r\nx = 5;\r\ny_correct = 1;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n\r\n%%\r\nx = 17;\r\ny_correct = 6.2270208e+09;\r\nassert(abs(your_fcn_name(x)/1e9-y_correct/1e9)\u003c1e-2)","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":26467,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2021-05-20T10:42:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-05-20T09:50:35.000Z","updated_at":"2025-04-28T21:39:14.000Z","published_at":"2020-05-20T09:54:29.000Z","restored_at":null,"restored_by":null,"spam":false,"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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTake a number greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ecalculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDivide factorial with the remainder (if possible). e.g. 120/5 = 24\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\u003eDon't use builtin functions\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[primes\\n\\nfactorial\\n\\nmod]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2114,"title":"Factorial Numbers ","description":"Factorial is multiplication of integers. So factorial of 6 is\r\n 720 = 1 * 2 * 3 * 4* 5 *6\r\n\r\nThus 6 factorial  = factorial(720). Given n, return t, the factorial number for n.\r\n\r\nExample: Input n = 6 Output t is 720\r\n","description_html":"\u003cp\u003eFactorial is multiplication of integers. So factorial of 6 is\r\n 720 = 1 * 2 * 3 * 4* 5 *6\u003c/p\u003e\u003cp\u003eThus 6 factorial  = factorial(720). Given n, return t, the factorial number for n.\u003c/p\u003e\u003cp\u003eExample: Input n = 6 Output t is 720\u003c/p\u003e","function_template":"function t = factorial(n)\r\n  t = n;\r\nend\r\n","test_suite":"%%\r\nn = 1;\r\nt = 1;\r\nassert(isequal(factorial(n),t))\r\n%%\r\nn = 2;\r\nt = 2;\r\nassert(isequal(factorial(n),t))\r\n%%\r\nn = 3;\r\nt = 6;\r\nassert(isequal(factorial (n),t))\r\n%%\r\nn = 6;\r\nt = 720;","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":21325,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":447,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-01-13T16:39:00.000Z","updated_at":"2026-04-02T10:43:25.000Z","published_at":"2014-01-13T16:39:33.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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\u003eFactorial is multiplication of integers. So factorial of 6 is 720 = 1 * 2 * 3 * 4* 5 *6\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\u003eThus 6 factorial = factorial(720). Given n, return t, the factorial number for n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: Input n = 6 Output t is 720\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":1854,"title":"Factorial: Unlimited Size : java.math","description":"This challenge is an application of java.math that allows unlimited precision calculations.  The primary reference sites are \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html Java Math\u003e, \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html Java BigDecimal\u003e, and \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html Java BigInteger\u003e.\r\n\r\nThe usage of BigDecimal function multiply will be essential.\r\n\r\nJava Math tutorial: (Simplified summary that is believed correct)\r\n\r\n  vd-decimal value, vstr-string, vi-integer value \r\n  xBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\r\n  import java.math.*;  % simplifies statements\r\n  xBD=BigDecimal(vstr);\r\n \r\n  xmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\r\n  \r\n  To convert java to string of unlimited length can be achieved via java toString or Matlab char\r\n  \r\n  xstr=toString(xBD)  or xstr=char(xBD) \r\n\r\n*Input:* N  [1\u003c N \u003c 1000]\r\n\r\n*Output:* Y  (char variable of Y=N! or a BigDecimal variable)\r\n\r\n\u003chttp://www.nitrxgen.net/factorialcalc.php Factorial Calculator\u003e\r\n\r\n*Related Challenges:*\r\n\r\n\u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow 1. Usage of java math\u003e\r\n\r\n  2. nchoosek_large (full precision)\r\n  2. Next Prime\r\n  3. factor_large\r\n  4. Factorial","description_html":"\u003cp\u003eThis challenge is an application of java.math that allows unlimited precision calculations.  The primary reference sites are \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html\"\u003eJava Math\u003c/a\u003e, \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html\"\u003eJava BigDecimal\u003c/a\u003e, and \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html\"\u003eJava BigInteger\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe usage of BigDecimal function multiply will be essential.\u003c/p\u003e\u003cp\u003eJava Math tutorial: (Simplified summary that is believed correct)\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003evd-decimal value, vstr-string, vi-integer value \r\nxBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\r\nimport java.math.*;  % simplifies statements\r\nxBD=BigDecimal(vstr);\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003exmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eTo convert java to string of unlimited length can be achieved via java toString or Matlab char\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003exstr=toString(xBD)  or xstr=char(xBD) \r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e N  [1\u0026lt; N \u0026lt; 1000]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Y  (char variable of Y=N! or a BigDecimal variable)\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.nitrxgen.net/factorialcalc.php\"\u003eFactorial Calculator\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eRelated Challenges:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e1. Usage of java math\u003c/a\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e2. nchoosek_large (full precision)\r\n2. Next Prime\r\n3. factor_large\r\n4. Factorial\r\n\u003c/pre\u003e","function_template":"function y = factorialJava(N)\r\n import java.math.*\r\n y = num2str(factorial(N));\r\nend","test_suite":"%%\r\ntic\r\nN=69;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000'))\r\ntoc\r\n%%\r\ntic\r\nN=randi(18)\r\ny = factorialJava(N);\r\nassert(strcmp(y,num2str(factorial(N))))\r\ntoc\r\n%%\r\ntic\r\nN=randi(18)\r\ny = factorialJava(N);\r\nassert(strcmp(y,num2str(factorial(N))))\r\ntoc\r\n%%\r\ntic\r\nN=1000;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'))\r\ntoc\r\n%%\r\ntic\r\nN=42;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'1405006117752879898543142606244511569936384000000000'))\r\ntoc\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":47,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-08-30T01:59:14.000Z","updated_at":"2025-12-10T03:30:57.000Z","published_at":"2013-08-30T02:37:28.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is an application of java.math that allows unlimited precision calculations. The primary reference sites are\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava Math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava BigDecimal\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava BigInteger\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe usage of BigDecimal function multiply will be essential.\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\u003eJava Math tutorial: (Simplified summary that is believed correct)\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[vd-decimal value, vstr-string, vi-integer value \\nxBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\\nimport java.math.*;  % simplifies statements\\nxBD=BigDecimal(vstr);\\n\\nxmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\\n\\nTo convert java to string of unlimited length can be achieved via java toString or Matlab char\\n\\nxstr=toString(xBD)  or xstr=char(xBD)]]\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e N [1\u0026lt; N \u0026lt; 1000]\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Y (char variable of Y=N! or a BigDecimal variable)\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:hyperlink w:docLocation=\\\"http://www.nitrxgen.net/factorialcalc.php\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFactorial Calculator\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRelated Challenges:\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:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e1. Usage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2. nchoosek_large (full precision)\\n2. Next Prime\\n3. factor_large\\n4. Factorial]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":43968,"title":"Concatenated roots","description":"Which is the value of this infinte concatenated roots?\r\n\r\n\u003c\u003chttps://s27.postimg.org/i4hkin7xf/Code_Cogs_Eqn.gif\u003e\u003e\r\n\r\n\r\nNote: If image server is not available, the equation was:\r\n\r\n  x*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))\r\n\r\nTip: sum(1/n!)","description_html":"\u003cp\u003eWhich is the value of this infinte concatenated roots?\u003c/p\u003e\u003cimg src = \"https://s27.postimg.org/i4hkin7xf/Code_Cogs_Eqn.gif\"\u003e\u003cp\u003eNote: If image server is not available, the equation was:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))\r\n\u003c/pre\u003e\u003cp\u003eTip: sum(1/n!)\u003c/p\u003e","function_template":"function y = infinteroots(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny = 1;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx = 10;\r\ny = 52.2735299670437;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=5;\r\ny=15.8864718332426;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=6;\r\ny=21.7311722059576;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=4;\r\ny=10.827015106694;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=3.2;\r\ny=7.37887287693964;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":12767,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":45,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-12-25T20:58:32.000Z","updated_at":"2026-04-03T02:58:43.000Z","published_at":"2016-12-25T20:59:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"}],\"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\u003eWhich is the value of this infinte concatenated roots?\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\u003eNote: If image server is not available, the equation was:\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[x*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))]]\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\u003eTip: sum(1/n!)\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.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1QTFRFeHh4k5OT9vb2gYGBnJycwMDAt7e3ioqK0tLS7e3t29vb5OTkycnJ////b29vvCMpXwAAAKZJREFUeNq8k0sWwyAIAEXzh3D/41ZrahASklXZ6cxTEAz8EOGFsDvxTyECM0RHgJIwOEIt6VFYX19BAd0kKe8vTpn0vY9uheXoQjGYrICtf9mg3Qgo+kt12fE4sxQwaGFQXCdJmmshaV4EnKYxmgMO/pvJVJ92NrwNbSpnrJafUz1kYbRcjP121ii4EKDVIPnVx+n4hdBzKyhuBM21YLgSLOePAAMAW0UziCh1I3kAAAAASUVORK5CYII=\"}]}"},{"id":44068,"title":"The number of trailing zero digit of a factorial","description":"For given positive integer n, take factorial of that number. How many trailing zeros does it have?\r\n\r\nExample: factorial(11) = 39916800\r\n\r\nIts last zero-digit count is 2.\r\n\r\nOptional: Can you make an efficient algorithm for a very large n?","description_html":"\u003cp\u003eFor given positive integer n, take factorial of that number. How many trailing zeros does it have?\u003c/p\u003e\u003cp\u003eExample: factorial(11) = 39916800\u003c/p\u003e\u003cp\u003eIts last zero-digit count is 2.\u003c/p\u003e\u003cp\u003eOptional: Can you make an efficient algorithm for a very large n?\u003c/p\u003e","function_template":"function ct = powerTenInFactorial(n)\r\n  ct = 0;\r\nend","test_suite":"%%\r\nn = 1;\r\nct_correct = 0;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 9;\r\nct_correct = 1;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 27;\r\nct_correct = 6;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 626;\r\nct_correct = 156;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 620;\r\nct_correct = 152;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":3,"created_by":115733,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T00:24:29.000Z","updated_at":"2026-03-20T13:50:01.000Z","published_at":"2017-02-14T00:24:29.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\u003eFor given positive integer n, take factorial of that number. How many trailing zeros does it have?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(11) = 39916800\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\u003eIts last zero-digit count is 2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOptional: Can you make an efficient algorithm for a very large n?\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":1532,"title":"SLP Calculation","description":"The SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\r\n\r\n*Input:* SLP_sequence (string)\r\n\r\n*Output:* SLP_value (string)\r\n\r\n*Example:*\r\n\r\n*Input:*\r\nSLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\r\n\r\nProduces:( Index 0 is 1 )\r\n\r\n2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\r\n\r\n*Output:*\r\n'6227020800' \r\n\r\nThe complexity to this Challenge is some solutions will exceed 2^64 and have eps\u003e1.\r\n\r\nPrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\r\n\r\n\u003chttp://www.azspcs.net/ Al's Contests\u003e\r\n\r\n\r\n\r\n\r\n ","description_html":"\u003cp\u003eThe SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e SLP_sequence (string)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e SLP_value (string)\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e\r\nSLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\u003c/p\u003e\u003cp\u003eProduces:( Index 0 is 1 )\u003c/p\u003e\u003cp\u003e2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e\r\n'6227020800'\u003c/p\u003e\u003cp\u003eThe complexity to this Challenge is some solutions will exceed 2^64 and have eps\u003e1.\u003c/p\u003e\u003cp\u003ePrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.azspcs.net/\"\u003eAl's Contests\u003c/a\u003e\u003c/p\u003e","function_template":"function SLP = SLP_calc(SLP_str)\r\n  SLP = '0';\r\nend","test_suite":"SLP_str='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\r\n\r\nSLP = SLP_calc(SLP_str);\r\nSLP_exp='6227020800';\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n%%\r\nSLP_str='0+0,1*1,1+2,3*3,3*4,5-3,6-4,2+5,8+2,5*6,8*9,7*11,8*10,13+10,8+14,2*13,12*15,14*16,17*18,18*19';\r\n\r\nSLP = SLP_calc(SLP_str);\r\nSLP_exp='13763753091226345046315979581580902400000000';\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n%%\r\nSLP_str='0+0, 1+1, 2*2, 3-1, 3+4, 5+1, 5+4, 7+3, 8+6, 9+2, 4*4, 11+5, 8*4, 13+0, 14-12, 15+5, 8*5, 17-3, 10*9, 13*10, 15*15, 21-2, 22-19, 23-4, 21+16, 25+3, 16*16, 27-11, 28-2, 27-7, 30+2, 29+11, 32-19, 13*13, 34-2, 35-19, 27+29, 17*17, 38-2, 39-19, 39-10, 41-7, 38+2, 20*7, 44-27, 44+11, 44+35, 20*10, 48-47, 48+30, 50-40, 51-3, 50+27, 44*2, 54-35, 55-37, 55-13, 57-48, 55+9, 59-35, 60+11, 61-44, 62-53, 61+15, 60+13, 59+19, 66-62, 67-21, 52-68, 68+5, 54-24, 71-46, 59+24, 73+19, 74-26, 61+45, 66+61, 77-41, 78-63, 77-22, 80+28, 80+50, 82-13, 83+35, 84-60, 85-64, 81-86, 85+43, 88+39, 77+64, 35*36, 91+54, 92-44, 92+37, 93*91, 95*92, 93+48, 96*97, 39*40, 99-93, 99+54, 101-44, 102*99, 103*101, 102+48, 104*105, 22*23, 106*107, 107+54, 109-44, 108*110, 111*109, 110+48, 113-1, 112*113, 32*33, 115*116, 116+54, 118-114, 118-44, 117*120, 121*118, 120+48, 122*123, 124*94, 125*119, 126*30, 127*28, 98*46, 128*100, 57*31, 131*56, 130*60, 132*58, 129*61, 133*64, 134*62, 53*41, 136*51, 137*63, 135*52, 138*24, 139*71, 141*73, 144*72, 143*67, 146*68, 65*70, 147*80, 78*59, 145*90, 140*82, 142*83, 149*84, 86*37, 154*88, 148*89, 153*25, 151*26, 156*76, 75*42, 160*49, 162*87, 152*69, 163*79, 157*18, 81-52, 167+6, 164*15, 165*5, 30-15, 171-3, 150*172, 43+31, 66+59, 175+14, 176*174, 30-25, 166*178, 35-23, 180-17, 181*20, 82-33, 183*12, 60-30, 184*185, 71-40, 187*39, 188*7, 33-18, 44*190, 186*182, 192*168, 179*182, 193*177, 194*155, 169*168, 196*161, 195*173, 197*155, 198*158, 159*177, 202*161, 203*200, 170*173, 205*158, 206*200, 191*34, 208*208, 209*189, 210*210, 211*199, 212*212, 213*201, 214*214, 215*204, 216*216, 217*207';\r\n\r\ntic\r\nSLP = SLP_calc(SLP_str);\r\ntoc\r\nSLP_exp='402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';\r\n\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-06-01T21:37:49.000Z","updated_at":"2013-06-01T22:56:28.000Z","published_at":"2013-06-01T22:56:28.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_sequence (string)\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_value (string)\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:b/\u003e\u003c/w:rPr\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=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eProduces:( Index 0 is 1 )\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e '6227020800'\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 complexity to this Challenge is some solutions will exceed 2^64 and have eps\u0026gt;1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\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:hyperlink w:docLocation=\\\"http://www.azspcs.net/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eAl's Contests\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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":60947,"title":"Euclid primes","description":"Historical context\r\nEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\r\n\r\n                                        \r\n \r\n\r\nProblem statement\r\n\r\nFor a given integer m, m \u003e= 2, list the Euclid prime numbers less or equal to m in a vector ep. Also compute their frequency / ratio f compare to all the primes in the same range. If , your function should return ep = [] and f = 0.\r\n \r\n\r\nExamples (check the tests for more) \r\n\r\nIf m = 10 then ep = [2, 3, 7] and f = 3/4 since 5 is the only prime number over the four ones less than 10 which is not an Euclid prime;\r\n \r\nIf m = 300 then ep = [2, 3, 7, 31, 211] and f = 5/62 since 2 and 3 are Euclid primes, 7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, and there are in total  62 prime numbers in the range [2; 300] ; \r\n \r\nIf m = 1 then ep = [] and f = 0;\r\n \r\nTip \r\n here.\r\n \r\n\r\nFobidden functions \r\nregexp\r\n \r\nstr2num\r\n \r\nassignin\r\n\r\n\r\nSee also\r\nProblem 60942. Euler primes\r\nPrime numbers properties II","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 1228.27px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 614.133px; transform-origin: 408px 614.133px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 58.725px 8px; transform-origin: 58.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHistorical context\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 31.5px; text-align: left; transform-origin: 385px 31.5px; white-space-collapse: preserve; 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: 364.45px 8px; transform-origin: 364.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 57.8px; border-block-end-color: rgb(60, 60, 60); border-block-start-color: rgb(60, 60, 60); border-bottom-color: rgb(60, 60, 60); border-inline-end-color: rgb(60, 60, 60); border-inline-start-color: rgb(60, 60, 60); border-left-color: rgb(60, 60, 60); border-right-color: rgb(60, 60, 60); border-top-color: rgb(60, 60, 60); caret-color: rgb(60, 60, 60); color: rgb(60, 60, 60); column-rule-color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 20px; margin-block-end: 5px; margin-block-start: 20px; margin-bottom: 5px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 20px; outline-color: rgb(60, 60, 60); perspective-origin: 385px 28.9px; text-align: left; text-decoration-color: rgb(60, 60, 60); text-emphasis-color: rgb(60, 60, 60); transform-origin: 385px 28.9px; white-space-collapse: preserve; margin-left: 4px; margin-top: 20px; margin-bottom: 5px; 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: 111px 11px; transform-origin: 111px 11px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                        \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-28px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"174.5\" height=\"58\" style=\"width: 174.5px; height: 58px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 63.0083px 8px; transform-origin: 63.0083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem statement\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 21px; text-align: left; transform-origin: 385px 21px; white-space-collapse: preserve; 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: 60.2917px 8px; transform-origin: 60.2917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor a given integer \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: 6.225px 8px; transform-origin: 6.225px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 22.1833px 8px; transform-origin: 22.1833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em \u0026gt;= 2\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: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 141.2px 8px; transform-origin: 141.2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elist the Euclid prime numbers less or equal to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 5.83333px 8px; transform-origin: 5.83333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003em\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 36.1667px 8px; transform-origin: 36.1667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 7.78333px 8px; transform-origin: 7.78333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eep\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: 96.4583px 8px; transform-origin: 96.4583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Also compute their frequency / ratio \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: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ef \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: 146.242px 8px; transform-origin: 146.242px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecompare to all the primes in the same range. If \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAkCAYAAAAeor16AAADl0lEQVRoQ+2YO6xNQRSGz+2JR0dBQUEiofBKRKIQEiEKiVcUOhQK8QgKuVEgFIpbeCQ6BTqNhIiCSDwar4SClooQev7v3lnJnDkz++y957jn5mR28mefMzNr9sy316xZs8c65coiMJZlXYw7BWCmExSABWAmgUzz4oEFYCaBTPPigVMA50unpR3SMsf0m+7PpCPSjxTnArDTWSM496UFCUh/VL5K+hKrLwA7nY8CM0e6LT12kHbpvl+a5f4DcXYB2EvgjIqOSjul10E1y/qD55ks5ethF6PigRbDDmiCC1PxKlL+VWXnY2Bc28O6X3O/7+m+Z9QAGji8g+WWXGoReEtUxiZRBZz+vzvbR7pvHRWAMXAPNLmzUjTYN/DKsOlfV3BT90N1APJm0GZppbRIeue5r8UNdq1P0nKvU1z8qkRd9I1lTATT6QRnzzMP3KuCu3UBrlbDcclyIjOmg8XSL2mL68yv26iy95G6TG6TL/SCtNt1xFL9Xx7njxWHuCORE0aXetUmAiwGzGCBZsGUeAPgh+5Ja3U/4X6zhJis1REz8MS217DA2XiNQdT7aFQFkPwID3wpvZXmSpaVX9bvk+7NTOi+SdonkbFbnYFPZvEVVIcNjqExhs/OAXo2Dxt7CmC4+5BobnOAsMXDWMLEQK7tkgXvF/q9rt+DE/BmAjgbGvPg8ufdM+wUQFv7GLD+w0Tzt8osSw/d23YtlvPFBKhYcZi40qZpHw0eV9mUVUROGUuwuwxTAG3t0/iKdMqz4uz4yv0Pd1q80o+NYXZfZ4Ikr+ckO5vyAo9JPTtgnc5atLHn94VH3ymAZOhMgMGvkPw4ZjEOezYQH5IfG0O7pnMZBshG8FIAfQ+LJY8W49hc1gdUrC567GlK0LWfLpB14BFmujbFmAdWeZi/ucTik8U/O3jf0ANJvNvsxCFv4jJLmQ2Ka5BL2z5pHVS/qbSLuT+XNvjziQG09IUdtqux/vuH66X67x+b/PhHHccedu+e409LTzQznsMHgEGBBN4TicT8VmJs81Q+Lj0N5xMC9D0s3Dzo2zaXGFw8jdMCF2/xp1T5NXcGgDR4llFUDYm8lu+EXR4aAvQ9LNwg6NzSl1iMs9SHB3FquSQNYun244xHHpe4N/0a80Y2deAxhvDcPzmuUfkeyFwsCe/5ZtfvDeTUjxLAHA6tbQvA1uimDAvAAjCTQKZ58cACMJNApnnxwAIwk0Cm+T8Ycs0l+MXSMAAAAABJRU5ErkJggg==\" width=\"40\" height=\"18\" style=\"width: 40px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 82.8583px 8px; transform-origin: 82.8583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eyour function should 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: 24.6917px 8px; transform-origin: 24.6917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e ep = [] \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: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\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: 18.0833px 8px; transform-origin: 18.0833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e f = 0.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 34.6167px 8px; transform-origin: 34.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExamples \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: 79.3333px 8px; transform-origin: 79.3333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e(check the tests for more)\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.8667px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4333px; transform-origin: 392px 20.4333px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 20.4333px; text-align: left; transform-origin: 364px 20.4333px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 5.825px 8px; transform-origin: 5.825px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.9833px 8px; transform-origin: 21.9833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 10\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 13.6167px 8px; transform-origin: 13.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 40.25px 8px; transform-origin: 40.25px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = [2, 3, 7]\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.975px 8px; transform-origin: 21.975px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 3/4 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 16.3417px 8px; transform-origin: 16.3417px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003esince\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 220.933px 8px; transform-origin: 220.933px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e5 is the only prime number over the four ones less than 10 which is not an Euclid prime\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.8667px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4333px; transform-origin: 392px 20.4333px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 20.4333px; text-align: left; transform-origin: 364px 20.4333px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 5.825px 8px; transform-origin: 5.825px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.875px 8px; transform-origin: 25.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 300\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 13.6167px 8px; transform-origin: 13.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 66.9583px 8px; transform-origin: 66.9583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = [2, 3, 7, 31, 211]\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.8667px 8px; transform-origin: 25.8667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 5/62 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 18.2833px 8px; transform-origin: 18.2833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003esince \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.89167px 8px; transform-origin: 3.89167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.89167px 8px; transform-origin: 3.89167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e3\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 59.9px 8px; transform-origin: 59.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are Euclid primes, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 100.45px 8px; transform-origin: 100.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 41.625px 8px; transform-origin: 41.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand there are\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.6167px 8px; transform-origin: 20.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ein total\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 9.725px 8px; transform-origin: 9.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e62 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 85.5833px 8px; transform-origin: 85.5833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eprime numbers in the range\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 31.1px 8px; transform-origin: 31.1px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e [2; 300] ; \u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.0333px 8px; transform-origin: 20.0333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 1 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.8083px 8px; transform-origin: 20.8083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = []\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 14.2px 8px; transform-origin: 14.2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 0\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e;\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 10.3667px 8px; transform-origin: 10.3667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTip\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 11px; text-align: left; transform-origin: 385px 11px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAoCAYAAAAFZi8EAAAEYklEQVRoQ+2aS6hNURjH750rYcSAwoCSR54lAwqljOQ5kCKPgYFCSAYGiIGBgUfMUZSUYiAZyGOAJAZMDBgRMef/q/3Vat1vn73OPnvvuzv2qn/3ZK/n91/fcxkd6VorJDDail10mxjpiGjJJeiI6IhoiQRaso1OIzoiWiKBlmyj04hiItapy2nhnnC2uPsI/XcLq4Spwh/hmXBSeJU3ftiJmKyD/0gQntfFCFiefTyRQMR+9bksfBO+CNMzMmz+bfpxy1tsGIlA+MeEA8KZBOHFcrHxM/RhvjAnkYit6ndRuBStCaF3hAkZQdOGnYiQAA6NSTgiXOlTI5iHhiYhxIeJRHxQv52CZ36OZ5eCqZZ5fYZBIzwCHuiwmJLPfZIQd08lgn6LI00I57J5uBxrho2IOgkwIaYSUcQ3Zuum8FGY63VO0YhZGsihTeX4vSSb7FHRDmr4zn6OCjsEM0FVaUBZjSg6Jg56g7BHSHbWHHSfsFEwR4XAtwtEBFuiVXGK/drhoo1739kXztfWR83rIsDWr0IjiKROCYfySGCxXhph6kS/2wJxMfE0vycJb7IbyXfXAZWRtjNmPAiogggsB3nH3mwy5MaldcPpXkRYTMw8xMW7hNAUXQ0WSYmx++VlPAkYhIh43+G50eKFwpggohcR2DIzA14icl7fCQ9p1wTMWZVtqSYjJreEikNgGvEPTbVBTRNn2CygCfgzmuuwexHxOxvMwJVCrFIhEXVohAmbwxwWQt/QFCGDEmFnQEt6mvI8Ijj8y2yWCzm3kESHjdLWC3VHUJ6pqpuQqohARqGpH3Nx84gozAQ1sWkM/mOeozF1mY8mCamSCJz390woyUQ81wBsc55Z6sluXQxE83pOsWdkUmJfVRLB8n/zLEieRtiAPCdcRFSJM5ceEmfYTFQVIVUSYRrhWhCPiHBxL1oys5VbNykt0sEGeoTklp0Tl6qSCLMirs/1iAjzgymR7TcnDgmbHAfNYqsFSsgTBeoqRFeEbzQ3hk4USmq3Qcvg4TqpRFio/UuDvQcgvj8W3gsrvIN4RFDOtdJGSASZ9vVssoP6m/faZGEtzEPGa2GRQIbZVDmEs1pNbJBoLjVXCoMb1sY03sgETlUWed0X6JeUWYeeHVv2TngrLBB+CncFt2gVsGxhLQJ4IpDmW3LYRJjrXbh+/w0CwlqbjX+hH0+Fc5FAkRuhNIU9S9zslY4nVojpWZKPNSKMhsraVwtrIQLB075mf5sMc/sV/rj2j4kIyxqxf0jZqPcAQpj5SQiJSZkrNAsp/b0+dWb8ZffkjouJ4ObyPw9yHzAKVjfhoYr4FJppWb9C+W+JCMsaZYt4ll+EZXHTstkiZa3QxNtFpbe1iclCjQjD1rLRDYlgnLDgMwBvGTOFJqunTciwkjUgwp4eiYzCRnQAOakP8PaQFGuThcNltaySg7Z9kpQ367afYSj21xHREho7IjoiWiKBlmyj04iOiJZIoCXb6DSiJUT8A+FRFziYx8AJAAAAAElFTkSuQmCC\" width=\"49\" height=\"20\" style=\"width: 49px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e here.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 64.9167px 8px; transform-origin: 64.9167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eFobidden functions\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.4px 8px; transform-origin: 21.4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eregexp\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.2833px 8px; transform-origin: 25.2833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003estr2num\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.6833px 8px; transform-origin: 25.6833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eassignin\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 28.3917px 8px; transform-origin: 28.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eSee also\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://fr.mathworks.com/matlabcentral/cody/problems/60942-euler-primes\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eProblem 60942. Euler primes\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://fr.mathworks.com/matlabcentral/cody/groups/95759\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePrime numbers properties II\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [ep,f] = euclid_primes(n)\r\n  ep = n;\r\n  f = 1;\r\nend","test_suite":"%%\r\nm = 5;\r\nep_correct = [2,3];\r\nf_correct = 2/3;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 10;\r\nep_correct = [2,3,7];\r\nf_correct = 3/4;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 100;\r\nep_correct = [2,3,7,31];\r\nf_correct = 4/25;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 300;\r\nep_correct = [2,3,7,31,211];\r\nf_correct = 5/62;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%% Forbidden functions\r\nfiletext = fileread('euclid_primes.m');\r\nillegal = contains(filetext, 'regexp') || contains(filetext, 'str2num') || contains(filetext, 'assignin') || contains(filetext, 'echo')\r\nassert(~illegal);","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":149128,"edited_by":149128,"edited_at":"2025-07-26T06:54:43.000Z","deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":"2025-07-09T05:57:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2025-06-27T12:58:55.000Z","updated_at":"2026-03-16T20:27:53.000Z","published_at":"2025-06-27T13:49:30.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHistorical context\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\u003eEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"heading\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                        \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ee(n) = 1 + \\\\prod_{p_n \\\\in \\\\mathbb{P}} p_n\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\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem statement\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em \u0026gt;= 2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003elist the Euclid prime numbers less or equal to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in a vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Also compute their frequency / ratio \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ecompare to all the primes in the same range. If \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em \u0026lt; 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eyour function should return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e ep = [] \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e f = 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\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\u003eExamples \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e(check the tests for more)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 10\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = [2, 3, 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 3/4 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003esince\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e5 is the only prime number over the four ones less than 10 which is not an Euclid prime\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 300\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = [2, 3, 7, 31, 211]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 5/62 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003esince \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e3\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are Euclid primes, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand there are\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ein total\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e62 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eprime numbers in the range\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e [2; 300] ; \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 1 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = []\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\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\u003eTip\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_n \\\\leq 13\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e here.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\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\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:i/\u003e\u003c/w:rPr\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\u003eFobidden functions\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\u003eregexp\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estr2num\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eassignin\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:i/\u003e\u003c/w:rPr\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:i/\u003e\u003c/w:rPr\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\u003eSee also\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:hyperlink w:docLocation=\\\"https://fr.mathworks.com/matlabcentral/cody/problems/60942-euler-primes\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 60942. Euler primes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:hyperlink w:docLocation=\\\"https://fr.mathworks.com/matlabcentral/cody/groups/95759\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePrime numbers properties II\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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":51560,"title":"Convert a number from factorial notation to base 10","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 197.083px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 98.5417px; transform-origin: 407px 98.5417px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 336.708px 7.91667px; transform-origin: 336.708px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eJust as numbers can be written in different bases, they can also be written in factorial notation. For example, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAAAoCAYAAADwmKS0AAADhElEQVR4nO1af5HzIBB9HuKgBmIgCqogDuqgDmohGiqhHmKhGmqh9wd5E5oDdpdA7rv7eDPMzfSAhX3L/oAADQ0NDQ0NDQ1/DD2A208v4hfjDODyE4J7AA8AndBvAHBd2lnRP4XzMo8FHewK6pcx1+XvyTjeIvcKYMqYPxs9gCfSRIwAXgDem/aCI8GKwRuvQQenmJdhDA2Sa6ThveE8jMbwcuROOMiDdXDEpQgY4TY8wSlggFucT2afIVNL3mUjSzOm98ZsTxoJlDxNjlxC0mkRTHCbiOEEt+gQOT3WjVks7Q69Qi5wxmIlfBbWxblirjBXLjEs/feElSROcIsaEn0m4f9U0l0pk9Z8g10hD+UYeorU3nz5UgzUyt1iRsX4Ny0CUkgRB6wb0yQedGVMVGqRN3v9YpZ/xkrwWEjuFjSi4qevg17pKTAmaBY4Y3VjtcijN3kjbZh+P8lr5JJHHRcvH2gV0slK4bLMoQnMNzhlkuRa5DGL1ZCijbu55AFuz6mcIgsT3IJyQeI0J5cK9WNLLfI4r4W8UEZqlRvDXj0HwfrHihHrZnz3FCsVukXO1nUcQZ6ULGhLnT3kcT2WUkoE6xwLxmUxdIE+gU+ErfeO8Ak4gjwp1vhGWIs8eqg94ekbcsjbYsBaA4VqKpYFoWTmCPKk2tNfey3yGDKKJi0lyAM+C/V58/sLcYurRR4t/V+JeSQvlhtwblM5UYo8YL0x8Tc3L+0aab5C/N9T+I3ZpkQe12C6SitJHk/RM7AoSyuhRNZW0v60/bRyY5BKsizyeDJKgORNm99SzU8W+Js2wbDcsMTgn9ASJz4G6iZGHuc2PVPR1ZUA57JkVDWvxyx3m5p4s4c8ypHmNsU8Bnap/jhhvV0PgQmL9QK2JnmA/lVBc8mwh7wH0h5ugvyW+g2825MuZVnIvgJ9mVHercKRR57GHW7XFnrOouFqvhywyvXBuJoqWa7IDF8z9JeyfjFOa5qR/+BoIe/k9ffjlKR4fiHwhDM8/yVdY3C5cgm+XKTiGeO/GYwNUrDkEw7boBgjgYqUkhT/m5lQ0xiPP8cI3dpLyL1DJoZfJWSBtVhDWTAsSTnFLvKYcOw9SQ2feEBHSoedl9YjytV8DS4UHKrPw783/KPo8fnoLIGZ7G7PN6IRuAc97GXTAy4bLvLeV+1Ttf8ALW9oaGhoaGhoaGhoaKiNL14i1+Yd1u66AAAAAElFTkSuQmCC\" alt=\"(34101)_!\" style=\"width: 55.5px; height: 20px;\" width=\"55.5\" height=\"20\"\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: 8.94167px 7.91667px; transform-origin: 8.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 463 in base 10 because \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"3*5! + 4*4! + 1*3! + 0*2! + 1*1! = 360 + 96+6+1 = 463\" style=\"width: 388.5px; height: 18px;\" width=\"388.5\" height=\"18\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 281.2px 7.91667px; transform-origin: 281.2px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the first place after the decimal point is the 1/2! place, then we would have, for example,  \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 34.8333px; 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 17.4167px; text-align: left; transform-origin: 384px 17.4167px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(0.123)_!= 1/2! + 2/3! + 3/4! = 23/24\" style=\"width: 175.5px; height: 35px;\" width=\"175.5\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.367px 7.91667px; transform-origin: 383.367px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to convert a number from factorial notation to decimal notation, or base 10. For digits greater than 9, use A, B, C, etc.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = fact2dec(s)\r\n  y = f(s);\r\nend","test_suite":"%%\r\ns = '34101';\r\ny_correct = 463;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '0.123';\r\ny_correct = 23/24;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '113110';\r\ny_correct = 920;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '232000';\r\ny_correct = 1848;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '0.0022';\r\ny_correct = 0.1;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '0.012';\r\ny_correct = 0.25;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '3000001006';\r\ny_correct = 10886430;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = 'A2985943012000';\r\ny_correct = 888888888888;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = 'CB3E905A875000220';\r\ny_correct = flintmax/2;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '54321.012345';\r\ny_correct = 719+473/1680;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '11.003156501478';\r\ny_correct = 3.141592653584841;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '10.111111111111';\r\ny_correct = 2.718281828446759;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-25T04:41:57.000Z","updated_at":"2021-04-25T04:47:47.000Z","published_at":"2021-04-25T04:46:48.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eJust as numbers can be written in different bases, they can also be written in factorial notation. For example, \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=\\\"(34101)_!\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(34101)_!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 463 in base 10 because \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=\\\"3*5! + 4*4! + 1*3! + 0*2! + 1*1! = 360 + 96+6+1 = 463\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e3\\\\cdot5! + 4\\\\cdot4! + 1\\\\cdot3! + 0\\\\cdot2! + 1\\\\cdot1! = 360 + 96+6+1 = 463\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\u003eIf the first place after the decimal point is the 1/2! place, then we would have, for example,  \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"(0.123)_!= 1/2! + 2/3! + 3/4! = 23/24\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(0.123)_! = \\\\frac{1}{2!} + \\\\frac{2}{3!} + \\\\frac{3}{4!} = \\\\frac{23}{24}\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\u003eWrite a function to convert a number from factorial notation to decimal notation, or base 10. For digits greater than 9, use A, B, C, etc.\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":51950,"title":"Find the smallest integer m such that n divides m!","description":"Write a function that takes an integer  and finds the smallest integer  whose factorial is divisible by . For example, if , then the smallest factorial that is a multiple of  is 5! = 120; therefore, . ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 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: 115.775px 7.79167px; transform-origin: 115.775px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.9083px 7.79167px; transform-origin: 94.9083px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and finds the smallest integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003em\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: 93.75px 7.79167px; transform-origin: 93.75px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e whose factorial is divisible by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 52.1083px 7.79167px; transform-origin: 52.1083px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. For example, if \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAkCAYAAAANdf2OAAAB/ElEQVRoge2Z/Y2DMAzF3w5skAW6ABMwARt0AzboCszQEdiBFZiBFXp/YCtWLqR2Sz9y558UVWpMGl6M80gBx3Ecx3Ecx05LTUsDoAMwUOteMam/QAtgAnADcFZeMwBYAYx0fQdgpuZCEwFRWG4agUeKHZPvG2yi3+AiI2ATkz+1Ancitsn099S37PT/S1roBV4obtrpb8RYl6MmWDtagWX2DoW4GTGLHegFHkVcqcbKuJNlIicaWA7eYKs7NdsUrcByQywJNyjHAygg3Wl76usQd03NyqYERA/5TLN41xxageV9agVOncYuXFdWxKxdED3gI4Vd3tgzTetdNfPQChwKcdKVXLWT4N3zShOSNkRO0JJNR2Wwqc5lsAq8GsZTCRySCXDmMvxIcHbXxiMClzK4h1FgecGSmcTVMtgXohVY7jeH1mAWcM9gH1ULP8VHXQQQV27NDCwnV3psctTmIi4irvSb2rhfP55Ldx7skbeW2lxEp4zjTFftSXI1co8F2ze2Z5Ysrs1FAC84iyi9V0t30dLgE56/4XdjEZizeM9J9DBkr1yN3OGGNNQB22L0mbhvR/voM6XzYM5w1RuttGe5Yi37a3UR/E8E38MM3abJpTP9R2OF4bigRaxze5yp3+ogvoF7tf3eIx4QD7qOcDOO4ziO4ziO4zh2fgDfYDRyWq4WoQAAAABJRU5ErkJggg==\" alt=\"n = 10\" style=\"width: 44px; height: 18px;\" width=\"44\" height=\"18\"\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: 145.458px 7.79167px; transform-origin: 145.458px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then the smallest factorial that is a multiple of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 70.2px 7.79167px; transform-origin: 70.2px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 5! = 120; therefore, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAkCAYAAAAeor16AAAB50lEQVRoge2YXbGDMBCFjwccYCAGUFAFdYADHNRCNVQCHmoBDbFw70OywyE3UJJLJ8nMfjN5aM8Ay2b/CKAoiqIoytfpSxvQAtPBmgva1QR3AD8H617OtDZY/Joj6wmgK2da/Uj0qZMyeQN4lTaiVQa46JvhmsVQ1pz2mPG3YVgAD1wwuhgAN2w7UOd/T14LEa2Fnezh0nev81rE3/GQAc77fKPRawauU7FmSGNjLGlnn3s0h51duVHTw21+LCKzgoGdaLA67+aXaDfSpoh2lilieM5K2bQ9BmwDZUFGh5adWLA6SHaCh87+g5Zi9BUReNUo0mGbUcmpbP2FL38jDmOJzjeco7lGPrE6vnUMVgc+ci+U9s7IzixwDmMk9JMeWDHyrklz4ojVge9A60iz2KZMj3+EfKVIbU5yIHeisChzjRsPtNRaVLoL7yEOPJ1RHGGxIxypcfZAyzn6qakLM/JOpzOKoyh2hCM1Lqx9rEnNbLkLw9/LInGM4QgLL+LmEg6XfaDJYF3zCcenrybJiqSzQB5f9m4Ycy4P0AYujWv+nJNDBFnhmZ800rDOH8IRFvO6tPRYjeMaZlG384Tws836/xa4d02up1yHYogWc07ntRF1p22IwbaGyqepoiiKoiiKoijf4heEDAgKEaRAeAAAAABJRU5ErkJggg==\" alt=\"m = 5\" style=\"width: 40px; height: 18px;\" width=\"40\" height=\"18\"\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: 3.88333px 7.79167px; transform-origin: 3.88333px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function m = Kempner(n)\r\n  m = f(n);\r\nend","test_suite":"%%\r\nn = 1;\r\nm_correct = 1;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 2;\r\nm_correct = 2;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 3;\r\nm_correct = 3;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 10;\r\nm_correct = 5;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 16;\r\nm_correct = 6;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 53;\r\nm_correct = 53;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 180;\r\nm_correct = 6;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 223;\r\nm_correct = 223;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 254;\r\nm_correct = 127;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 268;\r\nm_correct = 67;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 288;\r\nm_correct = 8;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 788;\r\nm_correct = 197;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 1024;\r\nm_correct = 12;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 3333;\r\nm_correct = 101;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 7856;\r\nm_correct = 491;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 8863;\r\nm_correct = 8863;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 10000;\r\nm_correct = 20;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 95256;\r\nm_correct = 14;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 1234342;\r\nm_correct = 811;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 169831728;\r\nm_correct = 38;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%% anti-lookup\r\nn = 1535238;\r\nmmm_correct = 67;\r\nassert(isequal(Kempner(Kempner(Kempner(n))),mmm_correct))\r\n\r\n%%\r\np = primes(30);\r\nr = sort(randi(10,1,2));\r\nn = prod(p(r(1):r(2)));\r\nm_correct = p(r(2));\r\nassert(isequal(Kempner(n),m_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":6,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":"2021-06-03T15:10:34.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-06-03T13:52:10.000Z","updated_at":"2026-01-14T14:14:40.000Z","published_at":"2021-06-03T13:56:53.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eWrite a function that takes an integer \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and finds the smallest integer \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=\\\"m\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e whose factorial is divisible by \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. For example, if \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n = 10\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then the smallest factorial that is a multiple of \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 5! = 120; therefore, \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=\\\"m = 5\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\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":55345,"title":"Easy Sequences 68: Factorial Rectangles","description":"I'll celebrate my comeback to Cody with this one easy problem...\r\n----------------\r\nThe rectangle below is special:\r\n                                                \r\nIts area is  which equal to . We call such rectangle a factorial rectangle, which is an integer-sided rectangle with an area equal to a factorial number. \r\nIn this problem, we want to know how many are these factorial rectangles.\r\nFor a given integer , we define the function  as the number of factorial rectangles with area  The factorial rectangles with area  are as follows: , with rotations not allowed. Hence, \r\nWrite a function that will calculate , defined as follows:\r\n                                                \r\nFor , we are given:\r\n                  ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 556px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 278px; transform-origin: 407px 278px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 200.5px 8px; transform-origin: 200.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI'll celebrate my comeback to Cody with this one easy problem...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 40px 8px; transform-origin: 40px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e----------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97px 8px; transform-origin: 97px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe rectangle below is special:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 142px; 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 71px; text-align: left; transform-origin: 384px 71px; 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: 96px 8px; transform-origin: 96px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                                \u003c/span\u003e\u003c/span\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 182px;height: 142px\" src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4REARXhpZgAATU0AKgAAAAgABAE7AAIAAAASAAAISodpAAQAAAABAAAIXJydAAEAAAAkAAAQ1OocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJhbW9uIFZpbGxhbWFuZ2NhAAAFkAMAAgAAABQAABCqkAQAAgAAABQAABC+kpEAAgAAAAM4MgAAkpIAAgAAAAM4MgAA6hwABwAACAwAAAieAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAyMjowODoyNCAxMTo1NzozOAAyMDIyOjA4OjI0IDExOjU3OjM4AAAAUgBhAG0AbwBuACAAVgBpAGwAbABhAG0AYQBuAGcAYwBhAAAA/+ELJGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMjItMDgtMjRUMTE6NTc6MzguODIwPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPlJhbW9uIFZpbGxhbWFuZ2NhPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0ndyc/Pv/bAEMABwUFBgUEBwYFBggHBwgKEQsKCQkKFQ8QDBEYFRoZGBUYFxseJyEbHSUdFxgiLiIlKCkrLCsaIC8zLyoyJyorKv/bAEMBBwgICgkKFAsLFCocGBwqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKv/AABEIAjYC1wMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APpGiivDbS08ReKfGfiiC38X6ppsVhqDokaTSMu0ySAAAONoATpXBj8fSwFL21b4T1Mvy9YxVJSqKEYJNtpvd26anuVFeRf8IJ4n/wCih6t+cv8A8do/4QTxP/0UPVvzl/8AjteD/rdlv8z+5/5Hb/ZWE/6Cl/4DP/I9doryL/hBPE//AEUPVvzl/wDjtH/CCeJ/+ih6t+cv/wAdo/1uy3+Z/c/8g/srCf8AQUv/AAGf+R67RXkX/CCeJ/8AooerfnL/APHaP+EE8T/9FD1b85f/AI7R/rdlv8z+5/5B/ZWE/wCgpf8AgM/8j12ivIv+EE8T/wDRQ9W/OX/47R/wgnif/ooerfnL/wDHaP8AW7Lf5n9z/wAg/srCf9BS/wDAZ/5HrtFeRf8ACCeJ/wDooerfnL/8do/4QTxP/wBFD1b85f8A47R/rdlv8z+5/wCQf2VhP+gpf+Az/wAj12ivIv8AhBPE/wD0UPVvzl/+O0f8IJ4n/wCih6t+cv8A8do/1uy3+Z/c/wDIP7Kwn/QUv/AZ/wCR67RXkX/CCeJ/+ih6t+cv/wAdo/4QTxP/ANFD1b85f/jtH+t2W/zP7n/kH9lYT/oKX/gM/wDI9doryL/hBPE//RQ9W/OX/wCO0f8ACCeJ/wDooerfnL/8do/1uy3+Z/c/8g/srCf9BS/8Bn/keu0V5F/wgnif/ooerfnL/wDHaP8AhBPE/wD0UPVvzl/+O0f63Zb/ADP7n/kH9lYT/oKX/gM/8j12ivIv+EE8T/8ARQ9W/OX/AOO0f8IJ4n/6KHq35y//AB2j/W7Lf5n9z/yD+ysJ/wBBS/8AAZ/5HrtFeRf8IJ4n/wCih6t+cv8A8do/4QTxP/0UPVvzl/8AjtH+t2W/zP7n/kH9lYT/AKCl/wCAz/yPXaK8i/4QTxP/ANFD1b85f/jtH/CCeJ/+ih6t+cv/AMdo/wBbst/mf3P/ACD+ysJ/0FL/AMBn/keu0V5F/wAIJ4n/AOih6t+cv/x2j/hBPE//AEUPVvzl/wDjtH+t2W/zP7n/AJB/ZWE/6Cl/4DP/ACPXaK8i/wCEE8T/APRQ9W/OX/47R/wgnif/AKKHq35y/wDx2j/W7Lf5n9z/AMg/srCf9BS/8Bn/AJHrtFeRf8IJ4n/6KHq35y//AB2j/hBPE/8A0UPVvzl/+O0f63Zb/M/uf+Qf2VhP+gpf+Az/AMj12ivIv+EE8T/9FD1b85f/AI7R/wAIJ4n/AOih6t+cv/x2j/W7Lf5n9z/yD+ysJ/0FL/wGf+R67RXkX/CCeJ/+ih6t+cv/AMdo/wCEE8T/APRQ9W/OX/47R/rdlv8AM/uf+Qf2VhP+gpf+Az/yPXaK8i/4QTxP/wBFD1b85f8A47R/wgnif/ooerfnL/8AHaP9bst/mf3P/IP7Kwn/AEFL/wABn/keu0V5F/wgnif/AKKHq35y/wDx2j/hBPE//RQ9W/OX/wCO0f63Zb/M/uf+Qf2VhP8AoKX/AIDP/I9doryL/hBPE/8A0UPVvzl/+O0f8IJ4n/6KHq35y/8Ax2j/AFuy3+Z/c/8AIP7Kwn/QUv8AwGf+R67RXkX/AAgnif8A6KHq35y//HaP+EE8T/8ARQ9W/OX/AOO0f63Zb/M/uf8AkH9lYT/oKX/gM/8AI9doryL/AIQTxP8A9FD1b85f/jtH/CCeJ/8AooerfnL/APHaP9bst/mf3P8AyD+ysJ/0FL/wGf8Akeu0V5F/wgnif/ooerfnL/8AHaP+EE8T/wDRQ9W/OX/47R/rdlv8z+5/5B/ZWE/6Cl/4DP8AyPXaK8i/4QTxP/0UPVvzl/8AjtH/AAgnif8A6KHq35y//HaP9bst/mf3P/IP7Kwn/QUv/AZ/5HrtFeRf8IJ4n/6KHq35y/8Ax2j/AIQTxP8A9FD1b85f/jtH+t2W/wAz+5/5B/ZWE/6Cl/4DP/I9doryL/hBPE//AEUPVvzl/wDjtH/CCeJ/+ih6t+cv/wAdo/1uy3+Z/c/8g/srCf8AQUv/AAGf+R67RXkX/CCeJ/8AooerfnL/APHaP+EE8T/9FD1b85f/AI7R/rdlv8z+5/5B/ZWE/wCgpf8AgM/8j12ivIv+EE8T/wDRQ9W/OX/47R/wgnif/ooerfnL/wDHaP8AW7Lf5n9z/wAg/srCf9BS/wDAZ/5HrtFeRf8ACCeJ/wDooerfnL/8do/4QTxP/wBFD1b85f8A47R/rdlv8z+5/wCQf2VhP+gpf+Az/wAj12ivIv8AhBPE/wD0UPVvzl/+O0f8IJ4n/wCih6t+cv8A8do/1uy3+Z/c/wDIP7Kwn/QUv/AZ/wCR67RXkX/CCeJ/+ih6t+cv/wAdo/4QTxP/ANFD1b85f/jtH+t2W/zP7n/kH9lYT/oKX/gM/wDI9doryL/hBPE//RQ9W/OX/wCO0f8ACCeJ/wDooerfnL/8do/1uy3+Z/c/8g/srCf9BS/8Bn/keu0V5F/wgnif/ooerfnL/wDHaP8AhBPE/wD0UPVvzl/+O0f63Zb/ADP7n/kH9lYT/oKX/gM/8j12ivIv+EE8T/8ARQ9W/OX/AOO0f8IJ4n/6KHq35y//AB2j/W7Lf5n9z/yD+ysJ/wBBS/8AAZ/5HrtFeRf8IJ4n/wCih6t+cv8A8do/4QTxP/0UPVvzl/8AjtH+t2W/zP7n/kH9lYT/AKCl/wCAz/yPXaK8i/4QTxP/ANFD1b85f/jtH/CCeJ/+ih6t+cv/AMdo/wBbst/mf3P/ACD+ysJ/0FL/AMBn/keu0V5F/wAIJ4n/AOih6t+cv/x2j/hBPE//AEUPVvzl/wDjtH+t2W/zP7n/AJB/ZWE/6Cl/4DP/ACPXaK8i/wCEE8T/APRQ9W/OX/47R/wgnif/AKKHq35y/wDx2j/W7Lf5n9z/AMg/srCf9BS/8Bn/AJHrtFeRf8IJ4n/6KHq35y//AB2qmq+EvE+maPe3/wDwn+rS/Zbd5tm+Ubtqk4z5vGcU48WZdJqKk7vyf+RUcnws5KMcUrv+7P8AyPaKK5L4X3l1qHw30u5v7ma6uJPO3yzSF3bEzgZJ5PAArra+phLngpdzxMVQeGrzoN3cW19zsFFFFWc4UUUUAFFFFABRRRQAUUUUAFeReBP+R68c/wDYSP8A6Nmr12vIvAn/ACPXjn/sJH/0bNXyPF3/ACLZfL80fQ5V/umK/wAMf/S0d5RRRX44cwUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZXir/kTtZ/68J/8A0W1atZXir/kTtZ/68J//AEW1bUP40fVfmdGG/jw9V+Y/4R/8ks0j/tt/6PeuzrjPhH/ySzSP+23/AKPeuzr+hcP/AAYei/I4c2/5GNf/ABy/9KYUUUVseaFFFFABRRRQAUUUUAFFFFABXkXgT/kevHP/AGEj/wCjZq9dryLwJ/yPXjn/ALCR/wDRs1fI8Xf8i2Xy/NH0OVf7piv8Mf8A0tHeUUUV+OHMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWV4q/5E7Wf+vCf/wBFtWrWV4q/5E7Wf+vCf/0W1bUP40fVfmdGG/jw9V+Y/wCEf/JLNI/7bf8Ao967OuM+Ef8AySzSP+23/o967Ov6Fw/8GHovyOHNv+RjX/xy/wDSmFFFFbHmhRRRQAUUUUAFFFFABRRRQAV5F4E/5Hrxz/2Ej/6Nmr12vIvAn/I9eOf+wkf/AEbNXyPF3/Itl8vzR9DlX+6Yr/DH/wBLR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv+RO1n/rwn/9FtWrWV4q/wCRO1n/AK8J/wD0W1bUP40fVfmdGG/jw9V+Y/4R/wDJLNI/7bf+j3rs64z4R/8AJLNI/wC23/o967Ov6Fw/8GHovyOHNv8AkY1/8cv/AEphRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP8AkevHP/YSP/o2avXa8i8Cf8j145/7CR/9GzV8jxd/yLZfL80fQ5V/umK/wx/9LR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv8AkTtZ/wCvCf8A9FtWrWV4q/5E7Wf+vCf/ANFtW1D+NH1X5nRhv48PVfmP+Ef/ACSzSP8Att/6PeuzrjPhH/ySzSP+23/o967Ov6Fw/wDBh6L8jhzb/kY1/wDHL/0phRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP+R68c/wDYSP8A6Nmr12vIvAn/ACPXjn/sJH/0bNXyPF3/ACLZfL80fQ5V/umK/wAMf/S0d5RRRX44cwUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZXir/kTtZ/68J/8A0W1atZXir/kTtZ/68J//AEW1bUP40fVfmdGG/jw9V+Y/4R/8ks0j/tt/6PeuzrjPhH/ySzSP+23/AKPeuzr+hcP/AAYei/I4c2/5GNf/ABy/9KYUUUVseaFFFFABRRRQAUUUUAFFFFABXkXgT/kevHP/AGEj/wCjZq9dryLwJ/yPXjn/ALCR/wDRs1fI8Xf8i2Xy/NH0OVf7piv8Mf8A0tHeUUUV+OHMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWV4q/5E7Wf+vCf/wBFtWrWV4q/5E7Wf+vCf/0W1bUP40fVfmdGG/jw9V+Y/wCEf/JLNI/7bf8Ao967OuM+Ef8AySzSP+23/o967Ov6Fw/8GHovyOHNv+RjX/xy/wDSmFFFFbHmhRRRQAUUUUAFFFFABRRRQAV5F4E/5Hrxz/2Ej/6Nmr12vIvAn/I9eOf+wkf/AEbNXyPF3/Itl8vzR9DlX+6Yr/DH/wBLR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv+RO1n/rwn/9FtWrWV4q/wCRO1n/AK8J/wD0W1bUP40fVfmdGG/jw9V+Y/4R/wDJLNI/7bf+j3rs64z4R/8AJLNI/wC23/o967Ov6Fw/8GHovyOHNv8AkY1/8cv/AEphRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP8AkevHP/YSP/o2avXa8i8Cf8j145/7CR/9GzV8jxd/yLZfL80fQ5V/umK/wx/9LR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv8AkTtZ/wCvCf8A9FtWrWV4q/5E7Wf+vCf/ANFtW1D+NH1X5nRhv48PVfmP+Ef/ACSzSP8Att/6PeuzrjPhH/ySzSP+23/o967Ov6Fw/wDBh6L8jhzb/kY1/wDHL/0phRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP+R68c/wDYSP8A6Nmr12vIvAn/ACPXjn/sJH/0bNXyPF3/ACLZfL80fQ5V/umK/wAMf/S0d5RRRX44cwUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZXir/kTtZ/68J/8A0W1atZXir/kTtZ/68J//AEW1bUP40fVfmdGG/jw9V+Y/4R/8ks0j/tt/6PeuzrjPhH/ySzSP+23/AKPeuzr+hcP/AAYei/I4c2/5GNf/ABy/9KYUUUVseaFFFFABRRRQAUUUUAFFFFABXkXgT/kevHP/AGEj/wCjZq9dryLwJ/yPXjn/ALCR/wDRs1fI8Xf8i2Xy/NH0OVf7piv8Mf8A0tHeUUUV+OHMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWV4q/5E7Wf+vCf/wBFtWrWV4q/5E7Wf+vCf/0W1bUP40fVfmdGG/jw9V+Y/wCEf/JLNI/7bf8Ao967OuM+Ef8AySzSP+23/o967Ov6Fw/8GHovyOHNv+RjX/xy/wDSmFFFFbHmhRRRQAUUUUAFFFFABRRRQAV5F4E/5Hrxz/2Ej/6Nmr12vIvAn/I9eOf+wkf/AEbNXyPF3/Itl8vzR9DlX+6Yr/DH/wBLR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv+RO1n/rwn/9FtWrWV4q/wCRO1n/AK8J/wD0W1bUP40fVfmdGG/jw9V+Y/4R/wDJLNI/7bf+j3rs64z4R/8AJLNI/wC23/o967Ov6Fw/8GHovyOHNv8AkY1/8cv/AEphRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP8AkevHP/YSP/o2avXa8i8Cf8j145/7CR/9GzV8jxd/yLZfL80fQ5V/umK/wx/9LR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv8AkTtZ/wCvCf8A9FtWrWV4q/5E7Wf+vCf/ANFtW1D+NH1X5nRhv48PVfmP+Ef/ACSzSP8Att/6PeuzrjPhH/ySzSP+23/o967Ov6Fw/wDBh6L8jhzb/kY1/wDHL/0phRRRWx5oUUUUAFFFFABRRRQAUUUUAFeReBP+R68c/wDYSP8A6Nmr12vIvAn/ACPXjn/sJH/0bNXyPF3/ACLZfL80fQ5V/umK/wAMf/S0d5RRRX44cwUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZXir/kTtZ/68J/8A0W1atZXir/kTtZ/68J//AEW1bUP40fVfmdGG/jw9V+Y/4R/8ks0j/tt/6PeuzrjPhH/ySzSP+23/AKPeuzr+hcP/AAYei/I4c2/5GNf/ABy/9KYUUUVseaFFFFABRRRQAUUUUAFFFFABXkXgT/kevHP/AGEj/wCjZq9dryLwJ/yPXjn/ALCR/wDRs1fI8Xf8i2Xy/NH0OVf7piv8Mf8A0tHeUUUV+OHMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWV4q/5E7Wf+vCf/wBFtWrWV4q/5E7Wf+vCf/0W1bUP40fVfmdGG/jw9V+Y/wCEf/JLNI/7bf8Ao967OuM+Ef8AySzSP+23/o967Ov6Fw/8GHovyOHNv+RjX/xy/wDSmFFFFbHmhRRRQAUUUUAFFFFABRRRQAV5F4E/5Hrxz/2Ej/6Nmr12vIvAn/I9eOf+wkf/AEbNXyPF3/Itl8vzR9DlX+6Yr/DH/wBLR3lFFFfjhzBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVleKv+RO1n/rwn/9FtWrWV4q/wCRO1n/AK8J/wD0W1bUP40fVfmdGG/jw9V+Y/4R/wDJLNI/7bf+j3rs64z4R/8AJLNI/wC23/o967Ov6Fw/8GHovyOHNv8AkY1/8cv/AEpkdyJmtZRasqTlCI2boGxwT7ZrynWvhLPe6Dd6lr3iK8vdZjhaYMSDCGAJ2gEZx2yMfTtXrVeY/Fvx5Hpmny+HNKbzdRvE2TFOfJjbjH+8w4x6HPpWeKVPk5qh25FUxrxMaOD0bau7LRLfXou/cxfgZ4i1K61K90a7nkntEt/Pi8xi3lEMFwCegO7p7Ve+Jlt4y1GDWZGnj0/w9YoCiI3z3fC9cHJGT3wOOhra+FHgeTwrosl7qSbdSvwpdD1hQchPrzk/gO1bPxJ/5JvrX/Xv/UVzwpS+q2m31Z62Ix9D+3/aYaMWm4xva+t1drpfpf5nJfAQn/hFtSGeBecD/gC1Q+Jeuanrnj6z8F6VePaQO0aXDIxG9nwfmx1AUg49fwq98BP+RX1P/r8H/oArnbgGD9pZfPHW8THf70I2/wAxWTb+q0492kehGnB57i6rV3TjKS9UlZkXjbwlN8L5NN1fwzq14PMkKSeYw++BnsACp54I7d69s0DVBrfh2w1NVC/aoElKj+Ekcj8DkVwPx5dR4JsYyfmbUUYD2Ecmf5iuo+HKNH8OdEDjBNsG/Akkfoa6KMVTxEqcdrXPIzKrLF5PQxVfWpzON+rWu/odNRRRXefIhXkXgT/kevHP/YSP/o2avXa8i8Cf8j145/7CR/8ARs1fI8Xf8i2Xy/NH0OVf7piv8Mf/AEtHeUUUV+OHMFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWV4q/5E7Wf+vCf/0W1atZXir/AJE7Wf8Arwn/APRbVtQ/jR9V+Z0Yb+PD1X5j/hH/AMks0j/tt/6PeuzrjPhH/wAks0j/ALbf+j3rs6/oXD/wYei/I4c2/wCRjX/xy/8ASmVdVN4NHvDpaq18IH+zBsYMm07c5464614Vovgz4h6P4jOuN4dt9QvixcPfXMbgOf4+JR83ua9/oqa2HjVabbVjbL83q5fTnTpwjJT3unt20a0OI8Nap8Q7rXIovE+g6fZ6cVbzJoJAWU4+XgSt39qzPHa/EHVm1LRtK0Kyn0e4UIlx5yiVhgEn5pBg5z/D/jXpVFDo3hyOT/r5Cp5mqeJWIjQgmlorO1073+K9/n8jxjwNo/xH8HL9itvD9m1pcXKyTyT3EbMo4Bxtl9B6Gtv4ifD3VNU8QWviXwrJGupQFC8TsF3MhyrAnjPQEHsK9MoqFhYKn7Nttfl6HTPPsRLF/W4wjGWqdk7ST/mu3+h45qPhHx78QNSsk8Xw2ul2NqefJdWznGSAGbLHHcgCvXrW2is7SG2tkCQwoscaj+FQMAfkKlorWnRjTbd7t9WcWNzKrjIwpuKjCN7RirJX3e7/ADCiiitjzAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAidrP/AF4T/wDotq1ayvFX/Inaz/14T/8Aotq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/AG2/9HvXZ1xnwj/5JZpH/bb/ANHvXZ1/QuH/AIMPRfkcObf8jGv/AI5f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/ALCR/wDRs1eu15F4E/5Hrxz/ANhI/wDo2avkeLv+RbL5fmj6HKv90xX+GP8A6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/wCi2rVrK8Vf8idrP/XhP/6LatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/22/wDR712dcZ8I/wDklmkf9tv/AEe9dnX9C4f+DD0X5HDm3/Ixr/45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/wBGzV67XkXgT/kevHP/AGEj/wCjZq+R4u/5Fsvl+aPocq/3TFf4Y/8ApaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//otq1ayvFX/Inaz/ANeE/wD6LatqH8aPqvzOjDfx4eq/Mf8ACP8A5JZpH/bb/wBHvXZ1xnwj/wCSWaR/22/9HvXZ1/QuH/gw9F+Rw5t/yMa/+OX/AKUwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/Rs1eu15F4E/5Hrxz/2Ej/6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP8A14T/APotq1ayvFX/ACJ2s/8AXhP/AOi2rah/Gj6r8zow38eHqvzH/CP/AJJZpH/bb/0e9dnXGfCP/klmkf8Abb/0e9dnX9C4f+DD0X5HDm3/ACMa/wDjl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/ACPXjn/sJH/0bNXrteReBP8AkevHP/YSP/o2avkeLv8AkWy+X5o+hyr/AHTFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/ACJ2s/8AXhP/AOi2rVrK8Vf8idrP/XhP/wCi2rah/Gj6r8zow38eHqvzH/CP/klmkf8Abb/0e9dnXGfCP/klmkf9tv8A0e9dnX9C4f8Agw9F+Rw5t/yMa/8Ajl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf8AsJH/ANGzV67XkXgT/kevHP8A2Ej/AOjZq+R4u/5Fsvl+aPocq/3TFf4Y/wDpaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//AKLatWsrxV/yJ2s/9eE//otq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/bb/ANHvXZ1xnwj/AOSWaR/22/8AR712df0Lh/4MPRfkcObf8jGv/jl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/AEbNXrteReBP+R68c/8AYSP/AKNmr5Hi7/kWy+X5o+hyr/dMV/hj/wClo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/+i2rVrK8Vf8idrP8A14T/APotq2ofxo+q/M6MN/Hh6r8x/wAI/wDklmkf9tv/AEe9dnXGfCP/AJJZpH/bb/0e9dnX9C4f+DD0X5HDm3/Ixr/45f8ApTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/9GzV67XkXgT/kevHP/YSP/o2avkeLv+RbL5fmj6HKv90xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/wDXhP8A+i2rVrK8Vf8AInaz/wBeE/8A6LatqH8aPqvzOjDfx4eq/Mf8I/8Aklmkf9tv/R712dcZ8I/+SWaR/wBtv/R712df0Lh/4MPRfkcObf8AIxr/AOOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8AI9eOf+wkf/Rs1eu15F4E/wCR68c/9hI/+jZq+R4u/wCRbL5fmj6HKv8AdMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8AInaz/wBeE/8A6LatWsrxV/yJ2s/9eE//AKLatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/wBtv/R712dcZ8I/+SWaR/22/wDR712df0Lh/wCDD0X5HDm3/Ixr/wCOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/wCwkf8A0bNXrteReBP+R68c/wDYSP8A6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/AOlo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/8Aotq1ayvFX/Inaz/14T/+i2rah/Gj6r8zow38eHqvzH/CP/klmkf9tv8A0e9dnXGfCP8A5JZpH/bb/wBHvXZ1/QuH/gw9F+Rw5t/yMa/+OX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/8ARs1eu15F4E/5Hrxz/wBhI/8Ao2avkeLv+RbL5fmj6HKv90xX+GP/AKWjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/6LatWsrxV/yJ2s/wDXhP8A+i2rah/Gj6r8zow38eHqvzH/AAj/AOSWaR/22/8AR712dcZ8I/8Aklmkf9tv/R712df0Lh/4MPRfkcObf8jGv/jl/wClMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAi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KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqpqeqWWjWEl7qlzHa20f3pJDgfT3PsKt1n61oen+IbAWWrwfaLcSLJ5e4qCV6ZxUy5re7ua0fZ+0Xtb8vW29vI4C2+NllqHiu00nTtJllt7q5jt1upJth+Zgu7ZtPHPqPwr0e/vrbTNPnvb6VYbe3QvI7dgP8APSvCPE9rb2Xx+0y3s4I4IY72xCRxKFVRlOgFek/F2OeT4Z6j9nDHa0TSBT/CHGfw6Vw0q1TlqOerjc+rx+W4N18HDDpwjVUb63erXfr6WRgyfGtpvPuNI8KX17p9uf3t1vKhB6nCMB+JrtPB/jLTvGelvd6cHjeJgk0En3ozjjp1B7GuL+F/irwzYfDeOz1PUbO1lhaUXEU8gDSbmJBCnlvlIHGelc/8CZNvi3V4oWPkNa7gPXEgAP5E/nUU68+eF5X5vwOjG5VhXh8U6dF03Ras22+ZXt1089O6Ot1T4vJFJcHw94d1DWLa1JE12oaOJcdedrcfXFangj4l6b40mktUgeyvo13+RIwYOvcq3GcZ6YFdHez6d4d0K4uZUhtbG1jZ2RECqB6ADuT27k14d8FNMnvfHUupxRmO1s4XLkdMvwq/lk/hVzqVadaEXK9+ljnw+Fy/F5diK0aTh7NK0uZu77Pp22XU+gaKKK9A+PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvb60062NzqF1DaQKQDLPIEUE9OTxU9UNa0PTvEOmtYaxbC5tmYMU3svI6HKkGlK9vd3NKXs+de1vy9bb28jwrxXqmn3Hx2stQt762lslvLNmuUmVowFKbiWBxgYOfSvcJde0ObRLq/OoWd1p0QK3EsUizRgY5B257Ece9YH/Co/BH/QE/8m5//i62NN8HaBpOj3OlWOmoljdMWmhd2kDnAHJYk9hXFRpVqcpN2116n0uZZhl2LpUIU+e9NKOqirpbvd69jhdStvhHp1pJqyRaddygF0toLpnLt2Xyw2Bz6jFVPgdo00a6p4iuoxDFcfuYeNoIB3OR7A7R+B9K7OL4WeC4bgTJoURYHOHlkdf++SxH6V1K28KWoto4kSAJsEaLhQuMYAHQUQw8vaKcklbsGJzil9UnhqMqk+e13N7JdErv5ngfjXxi/wAQvE0Oh6ffwWGixyf6+6lESSEdZGJI4HO1e/1PHqvhCTwjoOmW+iaDrWm3EhPIS7jaSeQ9WwDyePyFV/8AhUngj/oCf+Tc3/xdWdO+GnhLSdSgv9P0nyrm3bfG/wBplbafXBYg1NKjXjNzlZt+u3lobY7Mssr4WOFo+0hCK0Vo2cu8nzXOqooor0D5AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z\" data-image-state=\"image-loaded\" width=\"182\" height=\"142\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 32.5px 8px; transform-origin: 32.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIts area is \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAAAkCAYAAAAAa43JAAAFWElEQVRoQ+2ZTatWVRTHvZ9AzUZCcCkn4aBAIwgTFLI0cFJgWuNeHDjqBXMkpGZKgwZWszuzICdCkQo1qAalhkLQwGoQ4ajS/AL6/8FZsu4++/V5zuXc4BxYPM85Z5+91v6v970X1kzXKAgsjMJ1YrpmAn4kI5iAn4AfCYGR2E4W/z8CfoNkfVT0q+ifCrkf1piN3bjvK8bPM8RkY45WXl7O2rV5Wbd1Nzf1+0dpEbNY/GVNulX0uOh6hsFLevee6IroZ9GiiGeHRV9UKq0kv73foz9HO7n8N8d182GBF99+JHokYHZB9wcLIKKsN7t1vd99/6p+fxO9k8OnFfi3NdnJjkEO+DMa84aIhR9xC3pN/z8RsaiXBwIfZZ7t5vxGv2tF+xyQ8HouANVuj+nPu4l3PL4lwshiFvyYnn8r+lf0ggMZr/ux4/+8fr+Kzd8CPK70nZskBbyB+7vGPhkB92s9e1YUKiWz/uQrZFoSHYos0JTPx0+LwtBj6/lY70534ALaMyI81TwAj30ikMCD+7refRq891g9GMGguo6H0Q3RRRHWxBUD3satzwBrFpqao0UBKDHl0oQBlM8VA4eQCRFOwsuvIyaneX7OIwg3KO9zEWtedtVa/Gf6ap0ISzCrjwFv1g6TlJt5QOaxerNOZEtdd7sXoSyEiXOimEfaXD4MhYojvGBcMW+w773H9ay+BnjAfEu0S0R1kgPeEi/M0XYqu5vgWOSmDHDzvDIFx0IeCfUhURgiPD8fLjzwfPtlN5AwFfMYXnsj3K/7ZQZSAt4SyF59SIz0wsQs3iwMF3wgg5rF+ZKC5gHewkEywRUm92v1OcIXGLEQZtP673sKKgGPBRPXrTLJAY+SrnVcW4CfFZgcbsRUXP0VUbSqqNCo5aLQY7Bcy3O1wPdCUg54YhzhhVLMGqUc8P5dC/A54SvwWTYE5dMnGDDIwX0upKR4WIwmeX/gBnlvrQW+h0cKeEA8L9oh8k1SLfDRTO6Er3XXFuAxlC0ickbYDLUmcatqyEVhAvbAl5rIZOiNAW9MY5ZSC3yuaQHMXMXQAnZqLIkVsM3yGVcCyc9lhhGr/z3wsfc2Dzj+3d1UWbxl317tqUlqgR8r1ISK8AoOQ0ZKaZarepVI98GKhBpKoBMiktKdiGSb9YyWnwvB/ur+26bSLFVNiyW2eoO3ulL4Y27rSBnrtzpi3sCz2hjf4x2GGq/NlkUaeNat1Vp8rvNr4Z8ba2sqAQ/ojPVVXGxe33nXAt/LMSHwlqBSC0E4No24KJGs2rFdPN+t5SzZPCPX+Q0NfA6kWtCRyXfeOWX6AqJXMpfq+HDxpQbKv0/FSF/vD1lKphSFF9LMpXYZ+S7sV2Jz0bFaT2BelOu8rd6PbhYODTwCm1CpysYSXkwgFPeU6E/RJedRs1q/GUKunMRLseLU1jG8CS/bRbY9kOpqTU6fW6LGtRLAswhCCJtIYbjxu35hKeZdmAWUYrLnEzvwsO2OnzRXau/fnxv8l9Duop5zthDKawYUk9PCTLKsXgngkd8WzX9rwgAKIXH52DaBD0GGQW6jLVQUiZo9EQAELLruU6JU1+rzUQLz+49Tucgrzk66qg57WoEHHDuBKh2LYd0vdsCzpXxbxIkNISS1a4ml7BRZEs8BDyq4/AERSuCCB8eMv4hyezTEaw5Paq8lDUxtPyPDbhFdM9dV0Q8F/tUHIbUCDjXOTpZWast4KDlnnqfV4mdm1Pgh1oV3zLK51chqnOGrEXjiJvE61TmOg9TAXFcb8LY/lDvOGxiCcaZbbcCPg8IIXCfgRwAdlhPwE/AjITAS28niRwL+HkvPbjRhRki6AAAAAElFTkSuQmCC\" style=\"width: 47px; height: 18px;\" width=\"47\" height=\"18\"\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: 49px 8px; transform-origin: 49px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e which equal to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAkCAYAAABxE+FXAAACQklEQVRYR+1WuUpDURBNPkBB/QFRGystFBstFFxAsBJUtBTcWrFQLN1+wKW30MpOXMAUioVaaGXh8gUun6Dn4B0YXmbuiwkhBPLgkJd5c2c9M+9lMxW8shX0nak5r0j1q6LsHShNXSjPM34/CyhVE3TaAVc/lnkLDi4Dk8B2cNYc/t/hdxF4jwRxj2ddwDkwYul5zplpDqCT6USm8oz2aNwKgDqPymGrpec5f4UyD4wCp0bUc5DtA3uhAkmVXgiulbAT909JJcu5jto8BCNi/Bv3jUZw7PdHkFPHrJDlXEftZS46bzDcZvUTsh/l3ArQ3HA66gcYIFmS7N6AbBXYBNYc59I62ui2dLye70J5IRwgWzXphHBfkA8BHuPP8GwYOAY4MXmX55zZ8zB7xYt9GwPqgUPgCFg3KqIdUGciVp3YnCcDkCBmcGNNQDKzFQh2gHng4D+Zi64XQD8U8kYn4UDGcSpUquCyi6JET2KRAw3KgjcJoiIT4Y1r9H0upBMnXLeUkURy9eHmxiopZOLc3G484/VcMraYqichNue0z4kwZzzmnIdYYq+0wmTaiGXPWfeWkJm53nBev/QKdtkMx9RziZm2Xl2ywKisz5hzhw5/Yq/nUnZvTPQK9ghFgg4Cl4C5BdMI5+12mWFvdTK4l8AbkrIHyPv6iW04eXkwgFnVOzreAi6AJcto6HXRHxPSK5ZuHBhQzbvC/S3gzbeoclx57gQoar1GCVPqw6r4dC41SfN8LfOylDXNaK3saRUqy/NfcLR9JRD04fkAAAAASUVORK5CYII=\" style=\"width: 15.5px; height: 18px;\" width=\"15.5\" height=\"18\"\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: 83.5px 8px; transform-origin: 83.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. We call such rectangle a \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: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003efactorial rectangle\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: 115.5px 8px; transform-origin: 115.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which is an integer-sided rectangle with an area equal to a factorial number. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 230.5px 8px; transform-origin: 230.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this problem, we want to know how many are these factorial rectangles.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 65px; 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 32.5px; text-align: left; transform-origin: 384px 32.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 62px 8px; transform-origin: 62px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor a given integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 75px 8px; transform-origin: 75px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, we define the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFkAAAAoCAYAAACVdVbLAAAFd0lEQVRoQ+2ay+unUxzHv/MHMLmsNEkuCyvCsEGxQJSmkFvJCiNZINcsJGZIKWlQlJQQNmqmGWos2BiXyMLCpdnYuSzmDxjvV51PfTpzLp/n+3u+J/Q89e75/Z7LOZ/z/lzP5/luWy3HxhnYtvEZlglWC8kDjGAheSF5Fgau1yi/Cz/MMtpqda/GeWPKWP93S75NZFwp3D+FlM6zKO1B4U7hz8i4WyX5bE1yhpvoWGYxl+v/n6LCRASe8AwE7xI4z30w5sPCdZG1rUMyxN2RhD9F51+FX9IqrtX5b+GIcFq6tnPuFQbGQ8ZPhPMiJATGKz3yqC6eJXS9ZArJF2jAFwSI5HhM+Ej4zUmAZX8gXJKuvRYRYs1F1l5DuT+ned+feWw/HPN8JRA6DrTmiZKMe+wTzHJv0t+1RGKTn5MU8eIGF1oaGgu7Rzh3wLzGS9NjIiQz0HtJYELDZUIv4JOBXxdu6Gl5ZiJGWbGJbfM9oQvViqNHMrHtC0cE1unDQ40jQsv3wukBhczJsyl35Lx4+DUtz2mRbFoiRHDc19JWganJ9eQMbH+dxhiZbM3TL9TcxRDaIhkN7U5CUzGcOgMJmxwCo/hDeF54auJEeOyX7h3GOl/IS9LSsOa1VSOskWwC26BUEqMT2ESeVhbaerJCChXSRQJVECGQigiLZN0PCU+6yW/X370q5bieqVZSNZItttlcVVeYysQGnzeZr8isMp/SrPQB3bg13YTIz4SDAsn9HWF/uveNzr3wA8mHBDYnJxw1ktGcCfBfCBUsjNKNOr5HspHwnLNYeCCevylYlQBxHJFaH+VQMhbLxhrJf+kFS3gRTZYUOPraVJIhlXBBqMB6Wa/t3izOsoZIGQrJhKAinzWSTYtMYvFqNGlT55tCss85uHluhX5v0CtzkXPLJK+TracSNMfzU0j2JDJ3Xv9buKzG2UzgZuk4MlzQInwmuajFuqNJWDI9BT0ua0mWRLYnXSMvEBsvFrBCFvW04HeeRlwkJvvytGREFi6je4MtJz5icqilFzBHSzalOE8J9rbgt+3mhj5kWRWRJ+RoCYeYRmIpqft4HK2qILnq8TVLzt0pOhkCfi7UGiaWbEoCYaHvJoWavowMX6v6eJrXsM16NQ3qSSzJYWGHZBhpMplyq/V0K6gbIebauXvmhms93Kt0o7S99OT4jE17tNQPMeGxNqoAe8aTlIcGYinxtVXXGonIXzIeW7eVbngOR60BZJ5V7ev0ehf0S3mZA62/VSAEkh4RsP4awbxv3oGFEH+NNEICu7RcMUZGHlp8Uso/AdkcrUaWhaCSpbIWrnNgCCcLfAFpKY3xOIobEW70yhOs71nB9zA+1f/fCdsFEhH1IVrvWbolGxZxd1rAXTrXLM/Xsa/quR3pPZvvJf2fe4A1tfbqXqkN4L2pFCq8l6BcEnGrtWtKaW69eyQnJa0Y7FLhTOHqdPFbnX8U2I72+su8wicqCEUhR9MYj+tcIsSTgZXThLd3S+SanJxbTXv7usNzJe/hOskZ4zks4LmttTHXLUJz2x0l2S9inb9rGbsWKnxowZJuFvgIEE1GeMGHwiabWhge1n6j4Dt4J/AzimRLDvmXFaym1Ja00OK7Y7QxOSJ1MEr9WGh9JlvHWPw7GAjW3lXkKJIt2USaLSzEQovfDFjCi27zqU5eFuaq8T3B4S/VvDSKZOuFRJotPrT4KoEdo7Ufo3JbDA7/ECVg3pN/MBMVNjB39RFPTuQbYWszULLwnmzEzpOEuX6mxXqaPwHIBdo0yQj0imC1Nq7OV4fax1jfr0DW/CuH7wFHvlj0FDDk/qZJHrKIf/skC8kDNLSQvJA8gIEBUyyWvJA8gIEBUyyWPIDkfwDbBkY4Wm/IcwAAAABJRU5ErkJggg==\" style=\"width: 44.5px; height: 20px;\" width=\"44.5\" height=\"20\"\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: 150px 8px; transform-origin: 150px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e as the number of factorial rectangles with area \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAkCAYAAAAKNyObAAACQUlEQVRYR+1WuUoEQRDd/QDBKxIjNREEDTwSEwVRNBXUzEDw+AANDAUv0Mwr20yNjBTFwMBQA40MPEIjD/wCfQ+6oGxqZmeaHZhgBh47O9NT9epVdVWXSzm+yjnmVirIhWanUC6PyjWBVCfwBHyGEMwyrXcg1AtcAWN5ItcNMg+KUDvu39ISzEq5QRC5VWR6cP+YF3Kstw9H5tulNzfKkdevIteYVjWuzyqttP0CsNbugb6syDFFrV7NtOF/C/AeU+iXeDcKnALTtSI3DkNdwDDQDzQAC8ARQFL7zin9sZ6GPOLC4wQ3U8A6sForcqJKxaWFdpmeOuAG2HSOttxvlPNlvOcaCSw1v7ia0010CZZZO6KSbhUzeE6V/GseDw6BqPdVyUaR062Akc8BO4qEOKaDZsAaTxJAUI+j4ShyrLtzFxrHD3sU1ZOLdbcIxI0mIRc0HeLIiXOueQU6vBx84T83ygqwHZMfrgvqcXHkpEdxzQRwoQjouVktZbTjBxYTy/9XVlq1c6tHSb2xjVRThbZSz1ShaJHTxe6rxu+kuR54dZhYkaQLLXLi3FJG72JpEWwjG4ZC7JcjwDVgDX3amgR+AKsVmbtVBralDMfQsYucLWQNYBD+BKDjZ4CbhhtqAPDbjd505sbyldMtxEqpTjmbMh1bczPJYVPGG2M1p4xPjo5mnTLW0ZqK7AH1QCUqHe57ji/O5zOAc9m/aEuU3zWUzfTIZPBJ9yjL81w6JsbqglyohIVyhXKhCoR+l+ua+wMSCG8lG1UpYAAAAABJRU5ErkJggg==\" style=\"width: 19.5px; height: 18px;\" width=\"19.5\" height=\"18\"\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: 43.5px 8px; transform-origin: 43.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e The factorial rectangles with area \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAAkCAYAAAC+PdWUAAAEuklEQVRoQ+1aOasUQRB+7wd4/wOPwEgDj8ADFDxQEAPBM1Pwiky8jcTroQaCJxirKBgpiqCgYqKIYmDggZGR1z/Q74MpqO3t6mN239uZtQcK3/ZUd1fVV1VdXePoSHlab4HR1mtQFBgpIA6BExQQC4hDYIEhUKFE4n8C4jzoOcnQdRvGz4O+et7PwNhc0EfQz5bbirpMMfS0VNN2e5mpv9iO06L2i0UiF/sEmmYI8Rjja413rzG+ABTiydRtwtmp/07QYdAR0PUECQ5W/K7NTmP8YsShl+L9cRD3vVs5zl78exV003KiGIgU6FxA8GV45/MyeuE7NW+WJUCCUQbF4oKxJwFEcVxLZjr0dgPILRi/VTm95hFb/sY7BkVX1guBKFGY6oFacHrUCzUwH3+/HxQamfvOBD+j7wNoOYiRwCcGojg8+e5VQHGtTSBGskQmI/KYI5N2ep+tZO03mLfQ1ScE4m4wn7HQjxiGDvCj4jE9KNO4g2DXzhgCUfTdCiFvewTV69Ae0x2eR/i9BuQFCeN0hi+WM4VA/IxJ3PAAKHq4egT/q0B0hR4EIHX2TAWRDr8CxJRoPTrV6mjTUeiLUlmPePBY6gLaAlHysxaIky+AnoBSqk1z0zrWHNCcVBCZ7l6BQlWori80iKcw72ilnxXJfM0I31zxddQYFogCgM92jM4NEYE5T1LEnYiHDgifpG1TQUxZTECk/eaoQBA7cY1Q7aCdoAPsUDqlApNBSyoPIPr6WY8fDwPSi+eEUoQ1Xd+TUgxk8XzHC98dNnXNfoJ4BZuySHKd+hfGpOhJBbHDprErhlaWKZaCyIauR7mG0dVayv1Kz3er21Sju3yxijK2bj9BlOzmXsukdsiJxA5HyAGRmzBCGP68r/A5BBozLMHD/hoolOctI/KwD91PY8aX95fwRyhbxNbpF4iyju9oSS0AtSw9gUilWe6yyGFEhroxsmmb7oguqP0CkY4/G7Qa5KZ3DaI+K11Z1mHgQTXYM4hcR/K7784jm4sB2titcXXg77qpWe7bvIL4Gh4Tnk5FOfGKEIjk5aHd1jsi5e81EuUOGCoC61SnHQ6Veya6HsouAtOE9fAwD7235g1DdUoAn4F2gELnsmQ12iK1Ou1wirogSiSyu74vACIVqdMzbXt1mgogTacbK6GULRHb1casC6J4T+yuGMA3+KrN1akUfqEIlEzDDo/+3BcKCrlPdlW4PhBlA+uiLM3Y2HdC8q0CsU3Xy4W7riP0Y17umShXMH4LtK5elItB8BwkzXKrmyM66Mq0K+X6QNQdBN4D+TFSeqUiJBffFUiV2rt4bi5Wa/TDuBO1Rg6IYhtW42cDAq7Eu0Ug9zohDXJfSpVU6r2X+0DU1RJlIQg3QPzvCWwb0XtOREAZho/CBOUySJrOTGP7Db3dJkjMyXytSL2GNEg4drKyu9m+DH3F2IjJUytpmA6/gfixMzU1MkXQ6+6DcttuMSOM93uR3d3nDwbegnR2Io/Fb8nJiLIKPhY6/BjN44jPUxCPLrNArFvYjLcRy/oZFiggZhirqawFxKYikyFXATHDWE1lLSA2FZkMuQqIGcZqKmsBsanIZMhVQMwwVlNZC4hNRSZDrn8AkCg0K6HJXQAAAABJRU5ErkJggg==\" style=\"width: 56.5px; height: 18px;\" width=\"56.5\" height=\"18\"\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: 49px 8px; transform-origin: 49px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are as follows: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA3cAAAAlCAYAAADhnRB3AAAYPklEQVR4Xu1d2eu+RRXXP8A06ypKvrRciEGhpWALJJRREEVKZV0Ihq0ERotmEWGLLSh4USoJEmGLele2gUKGZKUkKF60IF541Wb+AXU+8R48jTNzzmzPM8/znheG3+/7vrOc+XzOmTlnZp55Tj3FP46AI+AIOAKOgCPgCDgCjoAj4Ag4AptH4NTN98A74Ag4Ao6AI+AIOAKOgCPgCDgCjoAjcIoHd64EjoAj4Ag4Ao6AI+AIOAKOgCPgCOwAgVxw95lE/x6g73+zg77P0oVZcJ5Fjll4yckxC1bvJSHPigj6JH33wy0AuaCMs2A1ixwLQl/d1CxYzSJHNZALFpwFq1nkWBD66qZmwer11IMLE734RnXv9llwFqxmkWOfLD/bq2Kcc8Hdf6jeP1D6e4Da7e44dtWjn0dqO5++u57SkgOa822ndRbOIMfLKf05EP0h+vtae3eOIudXqJfnBT1l7N66IALOmR1s58yO1Sw5nbNZmLDLMQtnWDS9mtLvIqIvOUbbkVsvJwLyy4PmX0B/v4bSkifynLNldKCYby24ewPJ7bt0y5AnW4EDeO8KwZ3zXc/1Gpyt0WY9QvOVxMR0EaUlHQfnrE0PnLM2/NYo7ZytgXpbm2twtkabbSjNVRq7O/evENwtPYfOhfp60mT5HhncvYr6/Mh6/X5Oyy+lb56mFO5E5kQEePg8U9EXtPeiQ/nSAHkNBxA7d6XBnezj44XYLqEa0MGLKZ0cGvsJ/XtPpuGtcVarJ6zXM3IGeiDfU5T+alASrFaefchX2p81nIlaziQUrKel44oBTnMWlqFmbDwGztjGYoB+nL7ESuzSH4yHp1XOSaGsJTa6VTt7G3X6lZTOpfQXSj+mtLRP08LZ1uysVk8kRqVzwGgbLPGDJV+hXM+jL15HKXciZ4vBXY1f3uKnzcQ3ZGnxoRcP7jBpfZkSjnSuMYGF5AG8T1H6CKVXGwZnGNh1h/yyrn/SH9dQukXRDtn/hynvyQEHlL2LkiW47OEAlipxSXCHSe8mSi8LGvkF/f1RShanvFQ+a37wdwWlKw/yffaAe06mrXJWoieYZKCD75mQMykSjgh9jtKHFVvDwPZ5SuD7TkqnU4KNf4fSbUYdrHUmrLoYy1fCWaw8xjOMrfic2SJIZVlgxrbFVVjHxmPhjCfdFMQYk5Y8cs9Hp54fCPRV+vsGSpY5qcZGucyW7Iz9BcwJ/6D0TUrWebvSpKLFWjjbqp2V6InkCY+w4HNCCbzhWOfafkiNH4z+fz2jRNri+5aCu1K/HLD08NN62qisq5TvHj70YsFdKOyPDmSMAlOrNxakacEdO07hJCjbwoSYWj35Nv0GBzPM8yH67mZKCH7eT0mbTFsdQA2b2O/W4I6d71QbcPRw7nuNAA8BzN2UEHRaA80tc2bVE+ByHyU4K7ceiLv0wBP+BGevMOhljV6VlJFOcS64w0D6g4g9oZ9/PPTHooMlzkRJP3J5rZyl6kB57EaDs6WDO7YVBNBPUDqhBC54vMwFLcfEGXMU4xA7QG+htNT4+Hth5zF5rHMSl7XaqGxrK3YGHYWOQ59rA98e40QLZ1u2M6ue8HyGIC70p/g38GCZA3rwJeuo9YPhr/5JjKWhXLBT7fGBLQR3NX45sOjlp83Ady8fepHgDsLihj58EMTgs2Zwx8cpHiU5viQmNy24w6SMSxawI8C3DWKwQHCGoI0/b6f/hMf7OIDD5H0BpTCA4wk/Fxxy/a0OYI0CW4I7ViY4d9+iBAcFxvpmStit5Z087Cy8tkaIhjI8qaEK68S8dc4sesKTRmzXWWK29G5CSHU4uaWCOw7gUD5mz7z6adFBqzPRoJbPKWrhLNWeXNldOrhjrKAn8mgaeEOf4EilFgmOiTMeI7W5pqdOafoCW+LdJyxgXkLpakoclFvmJLRhtdFQni3YGTuPkP19lNa6bZhtvIazrduZVU9wgRh8jZgfBv54Xoefgh28pT4tfjCfiIj5jlb5Zw/uav3ynn6aFUtLvhq+e/rQiwR3EggECfisGdxJeaRDlJtwoXjfp/QmSrFz9bKesG9y0ktNlNKR1ib+FgfQopSxPJbgDiuKSLEBM5z4tT7WyhkrJ1eTrSvRe+DMoifQWzxrmjpOzBPl2vaKvvyLEh8bTQV3vEiSCt7gvGKBBR/taKfVmeipqxbOcjoOnoDRksEdB3BYOY6dOtDGtmPiDEEBHM+lF7dCnQFnf6OUClTkmGnVJauNhrLMbmdybrcGuj3HBK6rlbOt25lFT7QAFliyblv1egSXpX4wTtUgGG255Xr24E7ibPXLe/tpI7hGnVa+e/rQHtwR8HyOORdwYFLG0bWUE8wDL4gMBw1eWcBvqdUk6XRqE0itA9iiuFpwx0cecytLcrtZc6xbZJVlpfGXHAndA2cWPUE/c8+Jluwo9+IsrAcyfpoSjqvlAjM5sedsiANWbffO4kz07rOFs5ij/iB9yUdqMZ4t6bjwhQWpC1ykMxUehTomzniMh5N2B6U1L7yBTWGhEoF36iOP/2mLcVYbjbU1s53JIFcbL3qPBbFxsJazPdiZRU8kXylfi/NgLsFJrDU+VmcfsvHiGHym31KqvbRnj8Fdbz9tlC5Y+O7tQ3twR2xagjscy+CjhikFSD3vIidJrNqmnqfA6gyOwmiDTo0D2Kq0WnCHnc2XUMoFCjXPY7TKLY/TaEGzbGsPnPXQEw6ENOeuladUeXZK+GFxHiRjiwNy8SB3dAoLNbwDmLNHizPRu981nKE/Z1DCzhmveC4Z3GkYsHMS2/09Js7kWMSYAZPvUQqP8WuYtv4OPXmAUi7AtK6el9hoTO6Z7YzHP8idChZaubCWb+FsD3Zm0RO5yI5gPHaagLEo8QesHFnzWZx9rkvqIL7D2I4xH75WSaC3x+Cut59m5a80n4Xv3j60B3fEkiW4s5DJwV34cCsTqzlcXB5t5ZzOGgfQIn8ujxbcWeqXwZ12s5OlPi2PHOglprzTkLtOfw+cteoJ87XWJMjH/XDbJd8emAvupP3kglHptOaCQIszoelg6e+lnCFwwvOsfAnHjMEd+oQV8ndHnJFj4UyezIjpBBxRLDgsdZGKRS+lLqUuVCq10Vi7s9oZnK2fHgSWC64YF/GZ7Vp9yJTibA92ZtUTuYgSPoYhLw9b8uKiUO8tzj7KyCPtMdvBKYAvUNIu4UPZPQZ3vf00y7hYk8fKt1Z3iQ/twR2h2Su44xUWuasgj0OUBHe5VcJSB1BTGMvvPYI7HqhSl8pY5CjJI7fs0SaOrV1NSd52iu9xnbXccdwLZy16wpMgrpFe8lp2yS9WWM+jJG88ywV3vPONOqzBXS5wtToTJTqp5S3hjG/v/QBVyjs/swV3cLTgRKUcqWPijN9T9WLC440Hx02ORSXHxjU96vE7O8m5521LbTQm16x2Jnf4gQF0VV6chr4gKL+K0ppHbCWmKc72YGdWPZGXOAEb2NU7KOFdcLg3AbxaA6IedhSro8TZ53ednUMV4Vhu7HVFllvW9xbcjfDTZuA7J0OJD+3BHSHZI7jjldnwKuuSB9Pl6lrumbQSB7CXsvYI7njiWermRTk5AwescuFF5f+mBAdL3uApnfy9cFajJ3xbnnyfjvV20V66hnpSFxjlgjv+DeWtwV3OcbU6Ez37XcJZ7OHrWYI78CdvIsa4eHnECT42zqSu8Ds3pa1ZrjTvqW+5unixMnXKosZGY+3NamcyIILcmLdwlBWfCynJhcK1j2wyrinO9mBnJXoSBnjAB0GeXAhbyo5i7ZQEd2F5zNGYk2WQZ/Gp9hbcjfDTRulEC99SphIf2oM7Qq5HcMdOVRiUSQXUbhyUx8X2FtzxxSaYMFuu8y0xPnkeO4ZnOAHwBL0XzkoCBeCKVSE44MAFF1/Ij/WW0RJ+UnlZV3DranjluCW403bIrfyWOBM9+o06rJxBNryLMHymZO3gjl8+i3/PpxS+EzR0gq3HavbAWUpHeJecsVriyLqmr4x3as6qtdFYuzPaWXikP7ZYFPL2Quqc5Xichn3t7znO9mBnpXqSCvBSN57X4l5TroezL49sYs7T3kW75+Cul29dw6WlTA++S31oD+6ImdbgjkHHSzPDF0lKp0RblbXeJml1AC1KZ83TunPHTueSjouc0FIvLJXPVTA/e+GsRU9iuwpL3XAKufHaA0xe4cca3OUmOsn5FnfuWD9z7/HTAlyr3bfmg6w3UuLFgvBItrTRPXOm4Sh10rIKr9XX+js/J5k6Tltro1sJ7uQckLslU87Za/OW42wPdlYa3LHPgV0uHKeVC01r77T2cPZhS1L/NN9qz8FdL9+6ddxMle/Bd6kP7cFdh+CO310Uu5lpxNZxi9Neq7wtwR2fjV765a/W1cpw4jubQLr/AJTmJM98lLaHnsSC31odspTjK9VTu7uW4A7t7PVYJoJuvPYgfE6UsV175y7FsdxFl07IHo6L9bAz4MZH6rRVaIsdteSBDX6NUmqHo8VGtxjc5fgoWQhs4UQrq3G2BzsrCe74+BoHcThJgO8uFkBqwZCGecvvPZx9tF/y3tY9B3e9/LQWTnNlW/mu8aE9uGsM7niii90Ex2RbgwzrjVa9nIkSRa4N7tgZxQTZ8gLOElk5Lz8zUWL4HBTsgbNeesKOuYZjDUeyDA9g2CF8LFEZB91Yjf3ZIQ/femq1H+vx5xJnorXvXF7jjBeScIlD7HMZfYlVar5EgPOsfeGDXCSQO8DHwJlVN3gVfs3gjm0wtbPRaqMxLGa0M3lZg8aHda6w6kFpPo0z1LcHO7PqCY/vMd446AMm2iunSnkoyd/q7Mu2eH7WTtbsLbgDBlbbs+p/CYcleVv4rvWhPbgjhmqPZeLYGC7lyAV2UABekdWcY1ZA7dY0zQEsUTpr3prgjs+8/5IaWTqwkxOadh49Zvh74KyXniy1GySDLqteIh9PanLitu7c5Y7nWJ2JElm1vBpncgVeq4t/18Ydaz2t+WK7rsfAmRU31n9c/ITnTZf+8DNkuUsnWm001qcZ7Uw6jtqRL6uDOYJPC2dodw92ZtUTXtRNje3yorW1du9anP1Qj9h/0U5G7TG46+2njbBROZZoC0Vh+y0+tAd3hGZNcGcN7EoGVjb43Bl/Dlrupf8seUV9aXDXopS9DEyeR885+zKo5ud+rJPhzJxpgYIV59xKqLUOSz6+0CWXl4/VYNUVAzs+N1G6h5J8wFy7kAj1aIsoVmfC0jdrHo0z/J774H1yeEcmPnBK8Uk9v2iVqVc+thVpi8fAmRU/Hq80J81aX0k+a5DQaqMxmWa0M8hpPbHAeq0FgSV8WPJaOUNde7Azi57IY7KpOV/uymq7XRYeavL0DO5YT3PvRoaMewzuevtpNVxaytTw3epDe3BHzJQGdzhiBIcyt2OHAeQZSngprRxwUhN3yYCjOYAWZSvNUxrcYcDRduyAI5zyUR+Jac5h4tUfGVTvgbNeehI+vzCKL0u9uWfu+GIjPDif2/3glV1tFc3iTFhkLsnTytlSu6wlfUJefjYkXLhyzp5FEuPQmZRSlz+VYm7NH3tfYliW39FnOd6bs9GYTLPamXxPaspxls885d6ZaeXCmq+Usz3YmUVPLMEdMC7VUSsv1nw1zn6s7tS4Gsu7x+Cut59m5a80Xw3frT70tMEdBqNLKJ1OCStij5Siacwvj5nkdne4Ol4tw0sxUxMdR9x4DwmCO3x4dyi1usertpYXfKccwJGYlQR3CAYw6IQ3h0pKsJKIF/ny8aNRsvOqVmo3VF55HQaAS3AGTIDFWZQepdQz2G0NFCCbvAk29qLUUbKnzFeblGVwE7t9UT77pdl7zpkY1e9WzizB3SjZc0MuyxU7KnUMnPGLiB8nkGLX5fPOSurGxVGc8Vx1J8mVOwmCMf3XlMJXk8Q412w0LDOrncm5IRW4yfEkDABn42wpO4NTifcAPknpVwl9z40Vqd8swR3K8uJdakFX8hpyNkr2sE9WZx/+5mmUUr4mL7xajpfmnP1R/bZyFhsTrJsuLX7aqH7X8s3lanzosM1pgzu53QqhNUesZrBAmZLgjgM7BGCYDFOfK+kHrMLK4IZX2rCrEPZFrqpZjDTlAI7EzBrcsQyYDJ9OAHRC3+PSB9nXUbJrKzvMfyzoXoIzeVwGcPU8JmIJFDj4Rf8RaPNiBGRhxw86G9ulHil7yrYsjmPuAXOeCCzXlqcmppH9tnCWG+u04G6E7Ozg4pjrNZRuCQTkNnM7G3vmTJ4gAEbh+xt5XsFJh49RCoO/EZxJ+4aDe31GqS6i386npL1Hi6uw2KhsbmY7k/5BbPcuNZ7MytloO5M7meBYOx2RG8vC36yBAnOGBd3YDea8IxvKNlL2sC+W4E7uHMPnDOdgbUEobDPl7I/st5WzGNfW4K7WTxvZ7xq+uUytD23l+3/5Ts1YntXZDwdxJgzKmnqHDsrIh17x94iHzEEuJlR+RiXn8PEEHL6UNwVRbIWa60AZvmYaMmCQwVEc67tXUg7gSMwsfIcBWm7gDnfSRsqOQRCygTus5vFqohzkY04V5B/NmRzA0V7PG7wsgQIfSWWuYGdPUMKOOXaeoZs3UIrtNoyUPaU7FsdRvryWV2/x3XWUsKhgPT6VmphG9tvCWc6utOBuhOyhIwsdvvUg5LmH8fWL9G9uV3rPnMnFO+YOiyl4bvrkoJO5RZ0RnEm8c/rEv1ltBvktNirbnN3O+FQN30CLXRQ5nsT8hlk5G21nciGDOdaeBbPoH/KUBArMGfyMD1Lik1/8yojYQspI2UN9t/jBcmGay/P8jAUXPF/9CWVcle2mgruR/S7hjGUt8cu5TI2fNrLfNXyjTIsPHdrRIjt3mPzfSemMiBVjgosduwTwWAVGGawawvnvdYMYlOcKSudF5MHOBQaCcPUZ7cfkjw1MuMAgFSzw8UMEd6gPee+jhIBD7prE6uXvUg7gSMy04A6r9xhorJ/bD5xy/pGyo40Qd3wH3XuAkvYcyUjO2EmATmKwxof/tWKZymcJFGK2AFwsR2pGyp7rE37jS1RyGGHcwdFf9JH5LjninZqYRvbbwpnW58spQ+oSlVGyh2M8xrInKJXgjX7tlTMeQ94lyHvoYGd30b+xxRPOOoIz1m3rGIMAxvpoBHTYaqPItwU7wxiCx0TgVOMD+3qYEriLzduzczbKziSfwACL1msEd5Aj5AzfaXM+62Jv2XlsK/WDc/Oz5Yi0tO+csz+q3yXBXY1fLvtX46eN6ncN360+dDiWLxLcWSeQVD5MFrdTKlXm1nZnLW9xAHtjpgV3PbHqLXtP2WrrsnCGgeaEUq9FDEubtf0Jy/WWvZdcLfVYJqbe/XbOWhizre47Z20Y9y7tdtYb0fH1WTiDcwm/rddipaXNXj3vLXsvuVrqsVyo0rvfS3LWik1PXW2RpVfZ6YM77OjcTekCSrnVzV6AbKEezQEcgdlSwd0I2WfgVOMMq04PUoo921Yrv9Zmbb1huRGy95KtpR5tYhrRb+eshTE9uHPO2vAdUdrtbASqY+vUOEPrWIzHqaTwFFStZJY2a+sOy/WWvZdcLfVYgrve/V6SsxZseve7RZZeZacO7uDof5eSPDPdq+NbrifnAI7CbIngbpTsM3Cd44yfg9CeSyrtxxKBwijZS/s6In9uYhrVb+esjUnnrA2/NUo7Z2ug3tam5rTj2SE8o3htWzP/V1prs1dTI2TvJVtLPVpwN6LfS3HWgsuIfrfI06tsU3CHh8AfCyR5iv62PjuW6wScp09Suq1Tfb0AW7oeEBR+bqQvYldXj8QMwZ3zbWO/hDPUiAHQ8uyfrfVncyFQgC3eERR8hv62Pj+jtTlKdq3d3r/zldOy3svoj9QrPUb12zmzM+uc2bGaJadzNgsTdjlKOcPzfPj0fowGY+6llK6KiK49N2/t7SjZre33ysevXpH1nUN/3EwpdlHiqH4vwVkLZqP63SJTTdlSvtXbMmNCWK4YrxH+WMvwzWNh/5fGeRY5tqAHs2CFQOHiCGCpdy1uAdtRMs6C1SxyjMK5Z72zYDWLHD2xHVXXLFjNIsconHvWOwtWCBT4lsmwf7mb3XtisZW6ZsFqFjm2wlutnMU4u8HUQu3lHAFHwBFwBBwBR8ARcAQcAUfAEZgIAQ/uJiLDRXEEHAFHwBFwBBwBR8ARcAQcAUegFgEP7mqR83KOgCPgCDgCjoAj4Ag4Ao6AI+AITISAB3cTkeGiOAKOgCPgCDgCjoAj4Ag4Ao6AI1CLgAd3tch5OUfAEXAEHAFHwBFwBBwBR8ARcAQmQuC/KnxKvNDivuAAAAAASUVORK5CYII=\" style=\"width: 443.5px; height: 18.5px;\" width=\"443.5\" height=\"18.5\"\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: 18px 8px; transform-origin: 18px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, with rotations not allowed. Hence, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 74.5px; height: 20px;\" width=\"74.5\" height=\"20\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 106.5px 8px; transform-origin: 106.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that will calculate \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAoCAYAAABgi917AAAFZklEQVRoQ+2azatWVRTGr3+AQdmwgZQNGhlmNqnAiUlCCCklgjRKM3GQYl+EOFBTgiCkFAokEBVxIlRqkAOdlAY1kAZqOGmWBfUH1POTvWSx3V/nss97I86Bh/fc8+537b2evb72OnfR3HR1ZWBRV2mTsLmJ0M5GMBE6EVpk4EV9+5vwcyeetkrOsSGy/k8W+qoUf17YPoSAylg2aKewWbjTIncooc86ob+4SZbr/m/h15ZJRxgDmesFPntfyNwlrG0htYXQRyVot/BGWOmF8LlMnxfDPd89J1zprU2DPDb5nPB4i8IN8lJD9ujhUqFq/TVCsbxLwoPC6cgClujv88LKsIKarHnqUvwZa7gRFD01xgRBJvN8L+D+X5fmqZEAYS8IfwoPJQRhvbeEa8LTIyqUE43lvC7gLWNfuP6nQtETSoSyK7+HVZYIu6oxuP77Y2sUyZ+Vddq0Nt+7epDN/CVCiU2XHaG5oIwVHxfGdLnUXlHSHBUeFpoycIcNx0LXlDyiRKi5s61jnW5S8QNX+EGYdYbHM7hmGWrQ9aTwpJCsdVtjKAsnjq7OCeqw+0NEWDg6oB8NDTV4nq9GkPWEQNlXOxCQpH8StglJt68RagJMWWLpKwtgjTHZFo7e1heHCzvB+kmqKwSqkccEq1Yg8i3hPff7Tbqvha5/NOYzIVlC1QhlLjNzm5esThyZtYt73ix+1mpfs74dwRCQAWnfCsR+dPlS+CoIb6lWIJRanJxy39VCaIrUhbZUyqVDQo1QU3i/s0R0Jv5+LpjbQhJX1vIcc2wEZVqyVGslNEUqrvOmMKsM661hKKEQiMuzZqySg4q5rA9rucTr57baPMndEEIRaorYBNngnPCGno+GEOrraVw1ti4f0lr46EoopBC0SUxcLTGnJ5EmawihcQ4gMfn4b/pk42KkQLFcS+0I8eYbIdfo8DvOXKnCmrbXvuBmjCE23Q4LI+OS1HA7q+dIMgfDM8ozxj8lMBcKfCD40GIktcRQinFr7KTKrD/CvK3eNjgpocBeodQEMLPPEcpzSwQpK6bsOS4844gymb4JY9k87iW0lk2swwhL9SN8/MwW68EQ7ANCs/VvykL5QW23THkCfK4xYYkgNTmWd0LwpYcp7mtB7w1xjVisB4P2nrDUOix0lPTwfNpGZuvVmFA7bhJPcl1qr2Rup/wYnzmRn6pfbaFYEdnYxnhCYvcm9hEPS0dPn0RTFmibbuUSHsGVa36Yx8Rx+B7pMaG+IZI7hVhMYle9y/qdtBgXHwKwbOTGRzxTPA4PPmHEG2xzZJXTPCVP8r0KNv0Bgc58aYOQx5Us6vkiJtS7AAvFUj8R/hIeEV4TOMqVyESuJ53fsNgtQs6ifJ14JJoL6/lIiC3b2mkf6rvU8bPmSd762UiSZM5A0Mk2oHg8jQnFpK8LZHgErBJ48cU9149CqQIIw+ZuBvJ8dn9Hz1LKe8WxXhrGEJ8j0ubgs9RghjBOU1wpr+A5iZNq4jvhC6F0SGGujUKxu9VSyHoFWu5zmTPn7j48YCEbBPqcrYkC6z4jlJokLesujcGgsOKXhOJ7szEItcAdhwWsIdVqs/Dgu0D2pqClzmQDzwovC7X223yJxRiw4uqmjUGoJYKWRgMKWnjwpZolo/jFYI4QkunHQtOr3oGsNr/xRO4YhFrnpqXR4MODz9actKyl1rpGi5nN/5TQQCzhaNA/T7QutmHuu0M8EaVyxuSVCuuU5dbWQaxb3NH10af42jheUE9CmZwSCyK5cFe64blGtD+/Mz6ue30Ps6WTXiN7Jt/3JHQmC/6vTzIR2nmHJkInQjsz0FncZKEToZ0Z6CxustDOhP4Lx01NOL3/qfAAAAAASUVORK5CYII=\" style=\"width: 42px; height: 20px;\" width=\"42\" height=\"20\"\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: 62px 8px; transform-origin: 62px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, defined as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 45px; 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 22.5px; text-align: left; transform-origin: 384px 22.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 96px 8px; transform-origin: 96px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                                \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 122.5px; height: 45px;\" width=\"122.5\" height=\"45\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 13px 8px; transform-origin: 13px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAADGklEQVRoQ+2Yv0tWURjHX/8AxdQpoqFyEAQdqsmCgn5go0OKi0NgNbRECjVGP8EGQdMhcClraAkSnRpqU8Fo7McUTVaDf4B+v3AeeTyec+7z1nt5hXsufLnI+9xzz/M5z69rSy1fhQRaCi2yQS1DMgRBhpQhGQgYTHIkZUgGArXaMVhdgI5Cx6EP0Lx+ssqRNAwQt6GT0HPoFfQphLWKkDoB4iV0CfoOjcXgCLCqQepz6XQI9xXoJvSjKCmrBIkR9BUiIEbQEPS5CBB/rxKkZZdi9PsKtGQBVCVILNKLDsoa7qesgKyQGKZHvNBk2zwM/bLkdD0bKsl2Feuyi/EagV5D4sNWUdqF0m0QD/VC56HTEHP4OsTZgQvPQuwMvP5C54peohwn8J4GgKjncFisN9Q76csdiDORXPSDY8Az6Le/vxAkIbygFuKCrRAHrcdukSfu/hD3e0bHB2D30WibMpNDsyw1DqM5ZciuRt9+Qm3QLUgOnb+N+qBShVtCVFolc1miRjsr4WvZME9V4FrsYzbT+MFaeB/A9q5b6A3urE/+xey4ETv0GCSmxaZ7iKd2DZqCmMu89Ol0+eT/x/sSnrV0Ne0vU69b+xSDxLr03m2YkcSBi4OXXEKev10uwbFGLqkh9WPh2Gyk7c7AbvcTJQZJhx8HrxPerv/gbxb0SehpIz0qYS1G/1W3bgrSBGykFOypeTFI3/CAVH9/8NLdIvXSkL/N6G7a+T0R4m2wLkgaQqjQST1i7nbUefLN6G66dKS6YhRmKJJ0UQ6N75K7nCt0nbLwakZ3476kPKT2LCWGh8/Bc/fDNwRJIIQiRXcBaf3M+UeJgmiBV7aNHgNi3VhGnn0gQ5C23Y5D1PU3EF92HyJM6zBZNozY+vo/ACG/pAywSV3UUcQFfUg6f0OpplORwyUXDQ1nzYKRei9T/a1rSPxKeOFgENA75wvnwX0jgg+JDo+5N4XmH57IDNQOLUAyXB5EKLE90cezED+/eK1DX1K+VOn/Sf98kBmSAV2GlCEZCBhMciRlSAYCBpMcSRmSgYDBJEeSAdIOMMCcJY4/4A8AAAAASUVORK5CYII=\" style=\"width: 36.5px; height: 18px;\" width=\"36.5\" height=\"18\"\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: 46px 8px; transform-origin: 46px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, we are given:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 45px; 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 22.5px; text-align: left; transform-origin: 384px 22.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 36px 8px; transform-origin: 36px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 667.5px; height: 45px;\" width=\"667.5\" height=\"45\"\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function sfr = countFRecs(n)\r\n    sfr = 31;\r\nend","test_suite":"%%\r\nn = 6;\r\ns_correct = 31;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 10;\r\ns_correct = 324;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 15;\r\ns_correct = 5094;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 20;\r\ns_correct = 55710;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 25;\r\ns_correct = 521566;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 30;\r\ns_correct = 3668686;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 35;\r\ns_correct = 26992462;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 50;\r\ns_correct = 8826106702;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nns = 1:75;\r\nys = arrayfun(@countFRecs,ns);\r\nss = mod(floor([sum(ys) nnz(ys) mean(ys) mode(ys) median(ys) std(ys)]),1e10);\r\nss_correct = [1887919459 75 558505592 1 86618830 6857256509];\r\nassert(isequal(ss,ss_correct))\r\n%%\r\nfiletext = fileread('countFRecs.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java'); \r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":255988,"edited_at":"2022-08-25T10:10:02.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-24T08:52:23.000Z","updated_at":"2026-03-28T13:19:26.000Z","published_at":"2022-08-25T10:06:04.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\u003eI'll celebrate my comeback to Cody with this one easy problem...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e----------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe rectangle below is special:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                                \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"142\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"182\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIts area is \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e40,320\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e which equal to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e8!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. We call such rectangle a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efactorial rectangle\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which is an integer-sided rectangle with an area equal to a factorial number. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, we want to know how many are these factorial rectangles.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, we define the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_{FR}(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e as the number of factorial rectangles with area \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en!.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e The factorial rectangles with area \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e5!=120\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are as follows: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e[1,\\\\ 120],\\\\ [2,\\\\ 60],\\\\ [3,\\\\ 40],\\\\ [4,\\\\ 30],\\\\ [5,\\\\ 24],\\\\ [6,\\\\ 20],\\\\ [8,\\\\ 15],\\\\ [10,\\\\ 12]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, with rotations not allowed. Hence, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_{FR}(5)=8.\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\u003eWrite a function that will calculate \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, defined as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                                \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(n) = \\\\sum_{i=1}^n C_{FR}(i)\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\u003eFor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=6\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, we are given:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(6) = \\\\sum_{i=1}^5 C_{FR}(i) = C_{FR}(1)+C_{FR}(2)+C_{FR}(3)+C_{FR}(4)+C_{FR}(5)+C_{FR}(6) = 1+1+2+4+8+15 = 31.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.jpeg\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.jpeg\",\"contentType\":\"image/jpeg\",\"content\":\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4REARXhpZgAATU0AKgAAAAgABAE7AAIAAAASAAAISodpAAQAAAABAAAIXJydAAEAAAAkAAAQ1OocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJhbW9uIFZpbGxhbWFuZ2NhAAAFkAMAAgAAABQAABCqkAQAAgAAABQAABC+kpEAAgAAAAM4MgAAkpIAAgAAAAM4MgAA6hwABwAACAwAAAieAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAyMjowODoyNCAxMTo1NzozOAAyMDIyOjA4OjI0IDExOjU3OjM4AAAAUgBhAG0AbwBuACAAVgBpAGwAbABhAG0AYQBuAGcAYwBhAAAA/+ELJGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMjItMDgtMjRUMTE6NTc6MzguODIwPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPlJhbW9uIFZpbGxhbWFuZ2NhPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg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ADCiiitjzAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAidrP/AF4T/wDotq1ayvFX/Inaz/14T/8Aotq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/AG2/9HvXZ1xnwj/5JZpH/bb/ANHvXZ1/QuH/AIMPRfkcObf8jGv/AI5f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/ALCR/wDRs1eu15F4E/5Hrxz/ANhI/wDo2avkeLv+RbL5fmj6HKv90xX+GP8A6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/wCi2rVrK8Vf8idrP/XhP/6LatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/22/wDR712dcZ8I/wDklmkf9tv/AEe9dnX9C4f+DD0X5HDm3/Ixr/45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/wBGzV67XkXgT/kevHP/AGEj/wCjZq+R4u/5Fsvl+aPocq/3TFf4Y/8ApaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//otq1ayvFX/Inaz/ANeE/wD6LatqH8aPqvzOjDfx4eq/Mf8ACP8A5JZpH/bb/wBHvXZ1xnwj/wCSWaR/22/9HvXZ1/QuH/gw9F+Rw5t/yMa/+OX/AKUwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/Rs1eu15F4E/5Hrxz/2Ej/6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP8A14T/APotq1ayvFX/ACJ2s/8AXhP/AOi2rah/Gj6r8zow38eHqvzH/CP/AJJZpH/bb/0e9dnXGfCP/klmkf8Abb/0e9dnX9C4f+DD0X5HDm3/ACMa/wDjl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/ACPXjn/sJH/0bNXrteReBP8AkevHP/YSP/o2avkeLv8AkWy+X5o+hyr/AHTFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/ACJ2s/8AXhP/AOi2rVrK8Vf8idrP/XhP/wCi2rah/Gj6r8zow38eHqvzH/CP/klmkf8Abb/0e9dnXGfCP/klmkf9tv8A0e9dnX9C4f8Agw9F+Rw5t/yMa/8Ajl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf8AsJH/ANGzV67XkXgT/kevHP8A2Ej/AOjZq+R4u/5Fsvl+aPocq/3TFf4Y/wDpaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//AKLatWsrxV/yJ2s/9eE//otq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/bb/ANHvXZ1xnwj/AOSWaR/22/8AR712df0Lh/4MPRfkcObf8jGv/jl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/AEbNXrteReBP+R68c/8AYSP/AKNmr5Hi7/kWy+X5o+hyr/dMV/hj/wClo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/+i2rVrK8Vf8idrP8A14T/APotq2ofxo+q/M6MN/Hh6r8x/wAI/wDklmkf9tv/AEe9dnXGfCP/AJJZpH/bb/0e9dnX9C4f+DD0X5HDm3/Ixr/45f8ApTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/9GzV67XkXgT/kevHP/YSP/o2avkeLv+RbL5fmj6HKv90xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/wDXhP8A+i2rVrK8Vf8AInaz/wBeE/8A6LatqH8aPqvzOjDfx4eq/Mf8I/8Aklmkf9tv/R712dcZ8I/+SWaR/wBtv/R712df0Lh/4MPRfkcObf8AIxr/AOOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8AI9eOf+wkf/Rs1eu15F4E/wCR68c/9hI/+jZq+R4u/wCRbL5fmj6HKv8AdMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8AInaz/wBeE/8A6LatWsrxV/yJ2s/9eE//AKLatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/wBtv/R712dcZ8I/+SWaR/22/wDR712df0Lh/wCDD0X5HDm3/Ixr/wCOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/wCwkf8A0bNXrteReBP+R68c/wDYSP8A6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/AOlo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/8Aotq1ayvFX/Inaz/14T/+i2rah/Gj6r8zow38eHqvzH/CP/klmkf9tv8A0e9dnXGfCP8A5JZpH/bb/wBHvXZ1/QuH/gw9F+Rw5t/yMa/+OX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/8ARs1eu15F4E/5Hrxz/wBhI/8Ao2avkeLv+RbL5fmj6HKv90xX+GP/AKWjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/6LatWsrxV/yJ2s/wDXhP8A+i2rah/Gj6r8zow38eHqvzH/AAj/AOSWaR/22/8AR712dcZ8I/8Aklmkf9tv/R712df0Lh/4MPRfkcObf8jGv/jl/wClMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAi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KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqpqeqWWjWEl7qlzHa20f3pJDgfT3PsKt1n61oen+IbAWWrwfaLcSLJ5e4qCV6ZxUy5re7ua0fZ+0Xtb8vW29vI4C2+NllqHiu00nTtJllt7q5jt1upJth+Zgu7ZtPHPqPwr0e/vrbTNPnvb6VYbe3QvI7dgP8APSvCPE9rb2Xx+0y3s4I4IY72xCRxKFVRlOgFek/F2OeT4Z6j9nDHa0TSBT/CHGfw6Vw0q1TlqOerjc+rx+W4N18HDDpwjVUb63erXfr6WRgyfGtpvPuNI8KX17p9uf3t1vKhB6nCMB+JrtPB/jLTvGelvd6cHjeJgk0En3ozjjp1B7GuL+F/irwzYfDeOz1PUbO1lhaUXEU8gDSbmJBCnlvlIHGelc/8CZNvi3V4oWPkNa7gPXEgAP5E/nUU68+eF5X5vwOjG5VhXh8U6dF03Ras22+ZXt1089O6Ot1T4vJFJcHw94d1DWLa1JE12oaOJcdedrcfXFangj4l6b40mktUgeyvo13+RIwYOvcq3GcZ6YFdHez6d4d0K4uZUhtbG1jZ2RECqB6ADuT27k14d8FNMnvfHUupxRmO1s4XLkdMvwq/lk/hVzqVadaEXK9+ljnw+Fy/F5diK0aTh7NK0uZu77Pp22XU+gaKKK9A+PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvb60062NzqF1DaQKQDLPIEUE9OTxU9UNa0PTvEOmtYaxbC5tmYMU3svI6HKkGlK9vd3NKXs+de1vy9bb28jwrxXqmn3Hx2stQt762lslvLNmuUmVowFKbiWBxgYOfSvcJde0ObRLq/OoWd1p0QK3EsUizRgY5B257Ece9YH/Co/BH/QE/8m5//i62NN8HaBpOj3OlWOmoljdMWmhd2kDnAHJYk9hXFRpVqcpN2116n0uZZhl2LpUIU+e9NKOqirpbvd69jhdStvhHp1pJqyRaddygF0toLpnLt2Xyw2Bz6jFVPgdo00a6p4iuoxDFcfuYeNoIB3OR7A7R+B9K7OL4WeC4bgTJoURYHOHlkdf++SxH6V1K28KWoto4kSAJsEaLhQuMYAHQUQw8vaKcklbsGJzil9UnhqMqk+e13N7JdErv5ngfjXxi/wAQvE0Oh6ffwWGixyf6+6lESSEdZGJI4HO1e/1PHqvhCTwjoOmW+iaDrWm3EhPIS7jaSeQ9WwDyePyFV/8AhUngj/oCf+Tc3/xdWdO+GnhLSdSgv9P0nyrm3bfG/wBplbafXBYg1NKjXjNzlZt+u3lobY7Mssr4WOFo+0hCK0Vo2cu8nzXOqooor0D5AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":44071,"title":"Smallest n, for n! to have m trailing zero digits","description":"For given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \"m\" trailing zeros, what is the smallest \"n\" ?\r\nExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\r\nOptional: Can you make an efficient algorithm for a very large m?","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 102px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 51px; transform-origin: 407px 51px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \"m\" trailing zeros, what is the smallest \"n\" ?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376px 8px; transform-origin: 376px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 205px 8px; transform-origin: 205px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOptional: Can you make an efficient algorithm for a very large m?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = factorialForZeros(m)\r\n  n = 1000;\r\nend","test_suite":"%%\r\nfiletext = fileread('factorialForZeros.m');\r\nillegal = contains(filetext, 'str2num') || contains(filetext, 'regexp') || ...\r\n          contains(filetext, 'switch') || contains(filetext, 'elseif'); \r\nassert(~illegal)\r\n\r\n%%\r\nm = 1;\r\nn_correct = 5;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 2;\r\nn_correct = 10;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 6;\r\nn_correct = 25;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 5;\r\nn_correct = 25;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 4;\r\nn_correct = 20;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n \r\n%%\r\nm = 156;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 155;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n \r\n%%\r\nm = 154;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 153;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 152;\r\nn_correct = 620;\r\nassert(isequal(factorialForZeros(m),n_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":115733,"edited_by":223089,"edited_at":"2023-01-07T09:00:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":61,"test_suite_updated_at":"2023-01-07T09:00:18.000Z","rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T01:10:18.000Z","updated_at":"2026-03-20T13:48:37.000Z","published_at":"2017-02-14T01:10:18.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \\\"m\\\" trailing zeros, what is the smallest \\\"n\\\" ?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOptional: Can you make an efficient algorithm for a very large m?\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":45251,"title":"Last non-zero digit","description":"Given a number n, find the last non-zero digit of the factorial of that number.\r\nYou need to take care of the large values of n.","description_html":"\u003cp\u003eGiven a number n, find the last non-zero digit of the factorial of that number.\r\nYou need to take care of the large values of n.\u003c/p\u003e","function_template":"function D = last_Factorial(n)\r\n  \r\nend","test_suite":"%%\r\nn = 66;\r\ny_correct = 6;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 52;\r\ny_correct = 4;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 9;\r\ny_correct = 8;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 109;\r\ny_correct = 2;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 425;\r\ny_correct = 4;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 14;\r\ny_correct = 2;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 719;\r\ny_correct = 8;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":40,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-01-03T05:19:45.000Z","updated_at":"2026-02-05T20:53:13.000Z","published_at":"2020-01-03T05:25:46.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a number n, find the last non-zero digit of the factorial of that number. You need to take care of the large values of n.\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":56418,"title":"Easy Sequences 78: Trailing Zeros of Factorial Numbers at any Base","description":"Given an integer  and a number base , write a function that calculates the number of trailing zeros of the factorial of  when written in base-.\r\nFor example, for  and , the function should return , because:\r\n  \u003e\u003e dec2base(factorial(15),4)\r\n  \u003e\u003e   '103001313131311200000'\r\nFor  and , the function should return .\r\n  \u003e\u003e dec2base(factorial(10),12)\r\n  \u003e\u003e   '1270000'","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.45px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 12.6px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 188.2px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 94.1px; transform-origin: 407px 94.1px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 37.8px; 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 18.9px; text-align: left; transform-origin: 384px 18.9px; 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: 48.5px 7px; transform-origin: 48.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 59.5px 7px; transform-origin: 59.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and a number base \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eb\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: 224px 7px; transform-origin: 224px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, write a function that calculates the number of trailing zeros of the factorial of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19px 7px; transform-origin: 19px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e when written in base-\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eb\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: 2px 7px; transform-origin: 2px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 18.9px; 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 9.45px; text-align: left; transform-origin: 384px 9.45px; 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: 49px 7px; transform-origin: 49px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAACyUlEQVRoQ+2YPUtdQRCG9Rf41VkaOwsbTRpthBCJTQQlWkeIH2BpwBQSiAFt0iUK9ioEtEkwBGwSxK9CKxu1tDKY/IL4vjc7sOxdD3N2uBbXPfDiuefOzN15dnZ3jo0N+Uom0JjsmR0bMjxDEWR4GZ6BgMH1IVReh+NzqeBE2/aI3Uc86w2f1zO8NiT7ClqChqBvCng7sHkWsfuMZ9MPAZ5AG0WyPS5hDTxW3QV0DP32QP3B/TxUVbn1WHmE8NcB+FcC3ifYtkJjigqtmNQjPD93LTypunE4H8aqLAY0w/tPZdEtTWHEpbsG/SgCWQSvD45d0D50CnF2nrrohUG1ZX8PdtrK28BYmqHHUIs3LkKccPlXDTcGj7Mw5QWhDfeB9xD3BAbfdM+0+XMiUq6roplXBNTC80M9x4dZSE5dAhyE/EOkYn9X5c3hOx7xhLQNvYBmIDn6v7uAivFXTCQJrb3YaU7Jopgp8CTea9ysuA+T+Lsa/tBd8KTf+QCHl1Cnc+SJxKqMBivIIrXyzmIzXmIGLPD4M5JvtFhi8NgnXbsBsu954iVwjvtHTpqOvUSeNTG1wuvGqE4gLl3VGwbX/FeXCo9ubqa8CgPVJHV7UCs8joAx1PCkVEMH2QPeINhyyby4DaRcPKR+pTg6Hys8WYXcvt6G44gtW1maftXRT/bBftxzL2qCtEs3FR4nim1S6mWFxy5jHWLOVZMYwpOlycH638kM3OA52xXCsCaWCqSMnwaetCZbCPwFkpaEOR9AXIHRV7YQnizNsI/jafkTkhdnti+yF5ZJ5j5tZcz8zXAV+eNgHuwoeBHUgrt/h79HUNV/U8Q5hMf+bgCK7TXShVv3oVoD5JvQiMvD/61dfNiDwuXHCqP9sGdMW1Zh4bZU7++2NZ2oDM+AN8PL8AwEDK658jI8AwGDa668DM9AwOCaKy/DMxAwuN4CpayNIdAF+yAAAAAASUVORK5CYII=\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 14.5px 7px; transform-origin: 14.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAgCAYAAACmaK65AAACNElEQVRoQ+1Yuy5FQRR1v0A8KoUCPQXRUJB4hEYhwRd4FEoqncYPeHQ6VCpCdGg8IgTRiFLl8QmsxWyZMzknOXvf3Nx7ZCZZIdc89l6z1t5zleri+GGgFHn4ZSAS4ZQQiYhEJItCHkV0uiV3Ba4nbYi9BXgC3tPyyCJiGpMngCm3qB8/zwtKRBPiPgK6gWYtEcy5Dzj7BxZaRw7zLg8TEVTFDnAMjBZUDWOI+8CL3USEMDmHjbYKSATrwjWw4C6UKZiI+MDCBqALKGKhZF3YBx49i6uJYKe4BT6BRoAFZwhoBR6ACyC1+taIcpYQx6CztF/r1ERwozVgAzgFaJNLYMQlys9XFGQwGMt4xaIX5UK5REm6LCKucDjbDRMeBnpd0v6mGst8KZOR6eP45VCxlsqlWhe9dWYiuNmbO5zFhh3Dt4EkpQnSqojMB1AGObv4nLWNBVKGmQhpm9wofEj5JLUbZKu4XPVUxr0KdAQrzURI29zDhtzcH0ISldKjDrWyC6gE4jk4hpdHm3PwTcTBbpJ4EqQ9saVtpkmfh1AJGlvwYLYyy+AN533aZ53hE8ELpM23Adrob4RESMXlhPBvfifxPZgnQSsRy9i83DeMyRqzOHgTCKUvm6XZJQ8R1ZxjIoJy4TdOtk25dSFnJpRTNbNTnG0ign6aBAaAG6AeuAdOnLcU59fMVNqdj0OOzC+Pef4xUzMZVTKQSIRjNxIRiUgaLSoiKiIqIrX5RGtEa0RrpFrjG+WUdSEMtkHdAAAAAElFTkSuQmCC\" style=\"width: 33px; height: 16px;\" width=\"33\" height=\"16\"\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: 79px 7px; transform-origin: 79px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e5\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: 30.5px 7px; transform-origin: 30.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, because:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 36.8px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 18.4px; transform-origin: 404px 18.4px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 105px 7.5px; tab-size: 4; transform-origin: 105px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; dec2base(factorial(15),4)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 105px 7.5px; tab-size: 4; transform-origin: 105px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 24.5px 7.5px; transform-origin: 24.5px 7.5px; \"\u003e  \u0026gt;\u0026gt;   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 80.5px 7.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 80.5px 7.5px; \"\u003e'103001313131311200000'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 18.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 9.45px; text-align: left; transform-origin: 384px 9.45px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.5px 7px; transform-origin: 11.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAAC1ElEQVRoQ+2Xu04cMRSGd58AEqioopCOAgpQmiRSIqFE0FCAAFGmSAApZVLQhkhQpsjlBQJ0NCAuEhRchBSKUFFwUSoqSMQTwP+vfJDX413bY5ZisKVfM+vx8drfnHN8plxKLTeBcm7LZFhK8CKcIMFL8CIIRJjeB897rPicenLi+DboDKprU2R4Ldj8W2gG6oeWHfD68PwrtADtQB/U+E+4HthsiwhPoA1hw91q0y54Ixg3B32BpjRQv3HfDr20ASwiPIbdJXQBXXnAI+wj6AHUZUASqKvoH1Nz3rAtIjw9wnzgvYPBD+gEemKEJ8Geq77nuG7rzxO8UomhyfD+Dk0Y8PjzWIWuGdJ1i+RnMOqA9pQrMxx61eTruPqeXpb13FmXj+fJmAwctcoVXF9D+1CPy/OmMWAcYg5go3cy9j9DD1U/TyT2+Ta+iDzNWS44JnXB08PyVuBxPR8hHvGEtAgNQJOQHP1MoG8CaMgmAkwqQ12npGs+Fzy+1C01iQseh7VCPIgqrVbOE1flhMOQJNJvuKdXvod+ulauPc/reYf6YgP+T4a64HVi4J8AeFW8bPB0V+YJ9FTbgCRP1j4p51neJivtJdU/iuu8upe3lEmcOTzirkxcnsd1/IOY311hm0lVNs+T0DQhST3Ez5XZwN0zDeRpPKSqaqvASXzgyX5r5XGBm0lVNngSmrrXcc2SB1ksMhc1BYRuXng1vys9IfrAk0PDTFH8C5Zn7GerOizYYcLTE6j+TPLgf9iwXCGM2I157j9qmA883THM012qDmtIm/AkNM06Tn87DGeWL5ILo3bXQGO9DDGjyPxbOodEB6sLHoZ0pE1oDbLWtCY8kn4F2XINYTXXeNZABsFTM9QG1T504w382IXq5VBCegH9hR5Bv+qNL/q3bTD5EIMEL4SWMTbBS/AiCESYJs9L8CIIRJgmz0vwIghEmCbPS/AiCESYXgNhlKEhJduqUQAAAABJRU5ErkJggg==\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 14.5px 7px; transform-origin: 14.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAAC2ElEQVRoQ+2YT0tWQRTG9ROo2dqFtmmVi6KNLgzSqE2gUtIyyD8fQBfRqhKEtv37BNrKVaIECSaCFVEUuBGXrkrxE9jzwD0wjjNzz8zk2xVm4OHlvnfOzJnfPWfO3NveVloygfZky2LYVuBlBEGBV+BlEMgw1UTelWr8Hxnz/E/T3mryPYUT3ehzueq3j9+gjQ/efRjehe5VAw3id1MxeZO6EMRDaAG6A60EnGPfp9C01ec1rl/4IIYibwBGn6rBNBHaFHACbRwOXa2cCsFj/1WoDyKsI8i0XcP1A+iPvcAQFEbfIkTjW00ho/CDaUoAXOyxAt4s+jyCrluAXhmR6My8EDwxnsIgbxVON7GLBt4uHB+FXHv6Af7vguahxzGRJ4b9noGbCMv2SQOPGbbkWQzTeSQWHivsd+gQugBxX7gJ9UC/oG0rxJsKUgMv5LvAc+6ZvrTlPsAqxQ10A2IKf66eAifj/08iALL4pLTa40LNoLnwmH1sDKBTzQfvC3qyUhHSMCSbqVmBY9JZFhELsO6IUTdeDrzbGPw9NAE509oFjyn6u/LqK35Zac0yneJQauTtRES3C2SKrzIOCwnXzz3R2Vzw5IhCA7tEm2B5LtKc2uui4yzvp8J7Dqf4gnAp5JwLnhxR3jmoC1g+kWtnuep/NHYKPK7xmbFVeV1xwZMjimu/YSgz4mL3IlatlMZF5LwWxsJTg+NibHhyRHHdMyvwTCSJVHhzmCfng0QMvBA4OaqdKBw2vEk4+way01KqrCuVIzm2tLsWnlTWi/DOfoeVjwY8sgXh8SY3Sh5RJLoEqLdktxSHfjLzWBXyndm2DvE1zNfkZeHEfTvySHkMGoK+QR3QT+iD44nol9HanvwwwDXcsKb9iOstyNxDud6XUGeNi8u4f+r9/jx9amrtI1DMVuApIPm6FHgFXgaBDNMSeQVeBoEM0xJ5BV4GgQzTEnkFXgaBDNO/OsiUIV3zEhQAAAAASUVORK5CYII=\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 79px 7px; transform-origin: 79px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e4\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: 2px 7px; transform-origin: 2px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 36.8px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 18.4px; transform-origin: 404px 18.4px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108.5px 7.5px; tab-size: 4; transform-origin: 108.5px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; dec2base(factorial(10),12)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 7.5px; tab-size: 4; transform-origin: 56px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 24.5px 7.5px; transform-origin: 24.5px 7.5px; \"\u003e  \u0026gt;\u0026gt;   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 31.5px 7.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 31.5px 7.5px; \"\u003e'1270000'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function z = trZerFac(n,b)\r\ny = x;\r\nend","test_suite":"%%\r\nn = [15 10]; b = [4 12];\r\nz_correct = [5 4];\r\nassert(isequal(arrayfun(@(i) trZerFac(n(i),b(i)),1:2),z_correct))\r\n%%\r\nn = 3:3:45; b = 2:2:30;\r\nz_correct = [1 2 4 3 3 8 3 5 6 7];\r\nassert(isequal(arrayfun(@(i) trZerFac(n(i),b(i)),1:10),z_correct))\r\n%%\r\nn = randi(13)+2; b = randi(34)+2;\r\nz_correct = find(flip(dec2base(factorial(n),b))-'0',1,'first') - 1;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 30:3:450; b = 20:2:300;\r\nz = arrayfun(@(i) trZerFac(n(i),b(i)),1:numel(n));\r\ns = floor([sum(log(z)) sum(z) median(z) std(z) sum(tand(z))]);\r\ns_correct = [346 2562 12 17 91];\r\nassert(isequal(s,s_correct))\r\n%%\r\nn = 100; b = 25;\r\nz_correct = 12;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 1234; b = 30;\r\nz_correct = 305;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345; b = 35;\r\nz_correct = 2054;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 123456; b = 40;\r\nz_correct = 30860;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 1234567; b = 123;\r\nz_correct = 30862;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345678; b = 1234;\r\nz_correct = 20041;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345678910; b = factorial(10);\r\nz_correct = 1543209860;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nfiletext = fileread('trZerFac.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java')...\r\n    || contains(filetext, 'for') || contains(filetext, 'while') || contains(filetext, 'if') || contains(filetext, 'switch');\r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":255988,"edited_at":"2022-11-06T10:21:12.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2022-10-26T10:06:40.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-10-25T12:04:07.000Z","updated_at":"2022-11-06T10:21:12.000Z","published_at":"2022-10-26T09:25:42.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and a number base \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, write a function that calculates the number of trailing zeros of the factorial of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e when written in base-\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=15\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb=4\\n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, because:\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[  \u003e\u003e dec2base(factorial(15),4)\\n  \u003e\u003e   '103001313131311200000']]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb=12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[  \u003e\u003e dec2base(factorial(10),12)\\n  \u003e\u003e   '1270000']]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2325,"title":"GJam 2014 Rd 1c: Reordering Train Cars (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars (Large)\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=100. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences, modulo 1,000,000,007\r\n\r\n*Example:*  Small Train Case examples \r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd  Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars Train Small Spoilers\u003e\r\n\r\nLarge Case specific info. See \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow Usage of java math\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 408.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 204.15px; transform-origin: 407px 204.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.5333px 7.91667px; transform-origin: 94.5333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.783px 7.91667px; transform-origin: 373.783px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\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: 296.4px 7.91667px; transform-origin: 296.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\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: 183.233px 7.91667px; transform-origin: 183.233px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1167px 7.91667px; transform-origin: 31.1167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 87.2667px 7.91667px; transform-origin: 87.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Small Train Case examples\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eab \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 173.25px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 173.25px 7.91667px; \"\u003ebbbc cd Val=1 as only abbbbccd can be created\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 327.25px 7.91667px; transform-origin: 327.25px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eaa \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 130.9px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 130.9px 7.91667px; \"\u003eaa bc c Val=4 aa gives 2 positions\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; \"\u003e, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 261.8px 7.91667px; transform-origin: 261.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 15.4px 7.91667px; transform-origin: 15.4px 7.91667px; \"\u003eabc \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 11.55px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 11.55px 7.91667px; \"\u003ebcd\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 7.7px 7.91667px; transform-origin: 7.7px 7.91667px; \"\u003e  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 227.15px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 227.15px 7.91667px; \"\u003eVal=0 as c is internal and thus can not connect to c of abc\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.6667px 7.91667px; transform-origin: 25.6667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTrain Small Spoilers\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91.0333px 7.91667px; transform-origin: 91.0333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLarge Case specific info. See\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eUsage of java math\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: 199.05px 7.91667px; transform-origin: 199.05px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 131.083px 7.91667px; transform-origin: 131.083px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAdditional GJam solutions can be found at\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://go-hero.net/jam\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eExample GJam Matlab solutions\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: 139.267px 7.91667px; transform-origin: 139.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggg ddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddd dddddddddddddddddddddd dddddd dddddddddddddd dddddddddddddddddddddddddddddddddddddddddddd xxxxxxxttttttttteeeeeeppppppppppppllllllliiiiiiiifffffffffffffffmmmmmmmmmmmjjjjjjjhhhhhhhhhh uuuuuuuuubbbbbbcccccccvvvvvvvvvvkkkkkkqqqqqaaayyyyyyooooooooooonnnnnnnnnnnnrrrrrzz dddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddd ddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=728878867;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggi aaaaaaayy iiiaaaaaaa lllllllgggggg iiiiiooooooooo';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccc jjjjjjjjjjjjjjjjjjddddddddddddggggggggggggggggg qqqqqqqqqqqqffffffffffffffffffuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjj cccccccccccccccccccccccccccllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnzzz bbbbbbbbbbbbbbbbrrrrrrrrrrrrrnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeee zzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppssssssssssssssssssssssss';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkk llllaaaaaa gggggggggggghhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy aaaaaaaaa vvvvvvvvvv yyyyyyyyy xxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiimmmmmmmmmmmmmmmmmmmm vvvvvvvvvvvvvvvvvvvvvvvvv ssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooo nnnnnnnjjjjjjjjjjjjjjjddddddddddd oooooooooooooooooooooooooooooooooooooooooogggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooo vvvvvvvvvvvvvvvvvvvvvvvv bwwwwwwwwoooooo sssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ffffffffffffffffffffffffffffffffffffff kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzbbbbbbbbbbbbbbbbbbbbbbbbbbb ooooooooooo kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv qqqqlllll mmmmmmmmmmmtttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ccccccccccccccccccckkkkkkk yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaannnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqq';\r\nVexp=265420800;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrjjjjjjjjnnnnnnnyyyyyyxxxxxlllltttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwww yy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalllllllllllllllllllllllllllllllllllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnttttttttttttttttkkkkkkkkkkkkkkkjjjjjjjjjjjjjooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllgggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww uuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww mmmmmmmmmmmmeeeeeeeeeeeesssssssssdddddddddddzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrffffffqqqqqqqqqqqqqqq bbbbbbbbbbbbbbbbbbbbbbpppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=161166448;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq vvvvvvvvvvvvvvvvvvv lllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv jjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vv tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttt zzzzzrrrraaaaaasssssssseeeeeegggggggiiiooooooooooooobbbbbbbbkkkkkkkkkkyyyyyyyyyyywwwwwwww tttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvmmmmmmmmmmmmmmmmmmmmmmmmmmmmm tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnndddddddddddddddddddddddddddxxxxxxxxxxxxxxxx tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttt ffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllll tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuucccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmm mmmmfffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttttttttt';\r\nVexp=459335393;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ppppppp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ddddddddddddddddpppppppppppppppp hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh xxxxxxxxxxxxxxxxxxxxxxxxxxxx hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaavvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh pppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhh pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnooooooooouuuuuuuuuuurrrrrrrrrrrwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttt zzzzzzzzzzzzzzzzzzzzz ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccceeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh fffffffffffqqqqqqqqqqqq yyy vvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhhhhhhhhhhhh ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkzzzzzzzzzzzzzzzzzzzzzzzzzzzzz vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ss hhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbsssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh dddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhh tttttttttttttttttttttttttttttttttttttttttttttttt bbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhh zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh';\r\nVexp=893810165;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssssss gggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii lllllllllllllllllllllllll ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllyyyyyyyyyyyyyyyy qqqqqqqqqq wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww pppp bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmm sssssssssssssssssssssssssllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm iiiiiiiiigggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii gggggggggqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq fffffffvvvvccccccccccccoooooddddddddd uuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrzzzzzzzzzzzzzzztttttttttttteeeeeeeeeeeeeeeeee ppppppppppppppppppppp hhhhhh ssss ppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkpppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyy xxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjj lllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg wwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=588556762;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooooooooooooooo llllllllllllllllllllllllllllllllllllll bbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc oooooooooooooooooo cccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwww ooooooooooooooooooooooooooooooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa oooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ccccccccccccccccccccccccccccccccccccccccc bbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ooooooooooooooooooooo uuuu cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllll aaaaaaiiiiiiiiiiiiii uuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjj nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxx llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll iiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllll eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ii iiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxx lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwww aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa llllllllllllllllllllllll eeeeeeeeeeeeeeeeeee lllllllllllllllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=125298902;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhvvvvv kkhh ppmmmmmmmmm zzxxx sssccccccc fffffffqq yyyyyyyeeeeee xxxxxxxxi eeeeeeeeaaaaaaaa jjjppppppp ddddf cccccrrrrrrrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqq llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll yyyyyyyyyyyyyyyyyyyyy ttttttttttttttttttttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzppppppppppppppppppppppppppppppppppppppppppp ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ffffffffffff iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ddddddddddddddddddddddddssssssssssssssssssssssssssssssss qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu zzzzzzzzzzzzzzzzzzz rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr cccccccccccccccccccccccccccccccccccccccccccc rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaa pppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ccccccccccccccccccccccccc cccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvdddddddddddddddddd cccccccccccccccccaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwooooooooooooooooooooo yyyyy llllllllllllllbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy fffffffffffffffffffffffffffffffffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttffffffffffffffffffffffffffffffffffffffff sssssssssssssssssssssssssss xxxxxxxxxxxxxxxxxxxxxx yyyyyqqqqqqq ffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxx gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ooooooooooooooooooooooooooooooooooooo rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr xxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnn jjjjjjj ssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjcccccccccccccccccccccccccccccccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ggggggggggggggggggggggggggllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc qqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ssssssss cccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=45590719;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmm mmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxvvvvvvvvvvvvvoooooojjjjjjjjaaaaaaaffffffffppppppppyyyyyykkkkkkkkkqqqqqqqqqqrrrrrr mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm wwwwwwwnnnneeeeeeesssssuuuuuuuuuudddddddddiiiiiiii mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmm ggggggggggggggggggggggggggggggcccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=757993753;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggg iihhhhhhaaaaaaaaallmmmmmeeedddddbbbbbbppssssssoooovvvvvvffffftttttttttqqqqqkkkkkknnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrr gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=16857327;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll tttttttttttaaaaaaaaakkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ccccccccccc uuuuuuuuuujjjjjjjssssssssssssss llll llllllllllllllllllllllllll cccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyypppppppffffffffffxxxxxxxxxxxxxxiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhh ccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn kkkggggggggeeeeeeeeeeeeeeeeeoooddddddddddwwwwwmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=539156306;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssssssss eeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbb sssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnn sssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnneeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssss nnnn bbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn ssssssssssssss bbbb ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssss sssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssssssssssssss nnnnn aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=392523621;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll wwwwwwwwzzzzzzzzzzzzzeeeeeeeeeeuuuuuuuuvvvvvvvvvvvvvvrrrrrrrrrrtttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttthhhhhmmmmmmmmmqqqqqqqqqqqqqq ccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccc lllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll bbbbbbbppyyyyyyiiisssssssnnnff ccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllll xxxxxjjjjjjddddaaaaaakkkkkkkkk cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllll lllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=981953933;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiii kkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbb kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu mmmmmmmmmmmmmmmmmmmmmmmpppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee jjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqq jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq lllllnnnnnnnnnnnnnnnnn nnnnn wwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq wwwwwwwwwwwwwwwwwwww kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk xxxxxxxxxrrrrrrrrrgggggggggggggffffffffftttttttccccccccccccccccoooooooddddyyyyy eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjj uu bbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelllllllllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=310957976;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aabbbbbcccddeeeeeeeefffgggggghhhhiiiiiiiijjkkkkklllmmmmmmmnnnooooppppppqqrrsssttuuuuuuuvvvvwxxyyyyya';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbb lllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaa hhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbb llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqsssssspppppppppmmmmmmfffffffff vvvvvvvooooooooooowwwwwwwwwwwccccccccrrrrrrrrrrddddddddddddddddddd xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllaa gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnneeeeeeeeettt bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb tttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnn tttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzlllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuu aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=236753019;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddlllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkk aaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddd ttttttttttttttttttttttttttttiiiiiiiiiiiiiiiii llllllllllllllllllhhhhhhhhhhhhhhhhhhhhhh rrrrrrrrrrrrrrrrrzzzzzzzzzzzzz kkkkkkkwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx qqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssss sssssssssssssss oooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp mmmmmmmmmmmm ffffffeegggggggg iiiiiiiiiiiivvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfffffffffffffffffffffffffffffffffffffffffffffff xxxxxxxxxxxxxxxxxxxxxxxxx oooooorr ffffffffffffffffff pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxx ooooooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooo';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeee dduuknnnbbyyysssssqqmmfrrrrrraaaacczzziiiiigggggxxxllllp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttt eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=901255609;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccc yyynnttooppphhhiiiwwllllggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkmmmmmmm uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu fffffffffffff ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk sssssssssssss ccccccccccccccccccccccccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccc xxxxxxxxxxxxxxxddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqeeeeeeeeeeeee kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzz kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzz';\r\nVexp=654434779;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrr rrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp tttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv gggggggggggggghhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ppppppppppppppppppppppppppppp jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww tttttttttttttttttttttttttttttttttttt ooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrr pppppppppppppp iiiiiiiiiiiiiiiiiiiiiii lllllllllllllll tttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr lllllllllllllllllllllllllllll vvw llllllllllllllllllllllllllllllllllll pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii dddddddddddddddbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyysssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaa ppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt nnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzz gggggggggggg tttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwpppppp iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjjjjjjjjjj wwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccfffffffffffffffff llllllllllllllllllllllllllllllllllllllll tttttttttttttt pppppppppppppppppppppppppppppppppppppppp wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt jjjjjjjjjjjj ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ttttttttttttttttttttttttttttttttttttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvv';\r\nVexp=977338612;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccccccccccccccccccc ffffffffffffffffffffffffffffffffffffffffffffffffffpppppppppppppppppppppppppppppppppppppppppppppp cccccccccccccccccccccccjjjjjjjjjjj ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ccc pppppppppppppppppppppppppppppppppppsssssssssssssssssssssssssssssssssssssss ppppppppppppppppppppppppppp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssss iiiiiccccccccc jjjjjjffffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp eeeeeeeeeeeemmmmmmmmm iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii';\r\nVexp=864;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaa ooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnn sssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmm eeeeeeewwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnn lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ppppppppppppppppppppppppppppppppppppppppppppppgggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffffffffffffffffffffffffffffffffffffff cceee ooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp lllllllllllllllllllllllllllllllllllllllllllll fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssss wwwwwwwwwwwwwwhhhhhhhhhhhhhhhhllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooovvvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiiiiiippppppppp cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffff aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa fffffffff mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ggggggcccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy mmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx iiiiiiiii';\r\nVexp=702191236;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbblllllllllllllllllzzzzzzzzzzzvvvvvvvvvvvvvvvvqqqqqqqqqqqkkkkkkkkkkkkkhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee fffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrtttttttttttttmmmmmmmmmmmmccccccccyyyyyyyywwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii pppppppppppppppsssssssssssssssssssjjjjjjjjjjjjjjjjjddddddddddddddddxxxxxxxxxxxxxxxx nnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=880614102;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwww rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwgggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzdddddddddddddddddddddyyyyyyyyyyyyyy jjjttttxxxxhhfffllllllqqqqqiiiiiimmmmmmmmuueeeeccccsssooookkkkppppppaabbbbbb vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=101045724;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n%s='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyykkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww oooo ggggggggggggggggyyyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb iiiiiiii ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwaaaaaaa rrrrrrrrrrrrrrrr hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ooojjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ddddddddddddddddddddddddddddddddddddddddd iiiiiiiiiiiiiiiiiiiiiiiiiiiii","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-10-01T17:08:50.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-15T21:15:21.000Z","updated_at":"2020-10-01T17:08:50.000Z","published_at":"2014-05-15T21:59:11.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\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\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\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\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\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\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Train Case examples\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[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd  Val=0 as c is internal and thus can not connect to c of abc]]\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrain Small Spoilers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eLarge Case specific info. See\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUsage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\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":51565,"title":"Convert a number from base 10 to factorial notation ","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 114px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 57px; transform-origin: 407px 57px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/51560-convert-a-number-from-factorial-notation-to-base-10\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eCody Problem 51560\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: 318.25px 7.91667px; transform-origin: 318.25px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e asks you to convert a number from factorial notation to base 10. This problem is the companion: Write a function to convert a number from base 10 to factorial notation with a tolerance \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: 3.85px 7.91667px; transform-origin: 3.85px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ep\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 49.775px 7.91667px; transform-origin: 49.775px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e that defaults to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAnCAYAAABT7SsqAAABpElEQVRoge2YXbGDMBBGj4c6wEANoKAKcFAHdYAFNCABD7VQDVjofUh22GEuzZIu0HubM5OH0mXZL9lsfqBQKBQ+jxtwPjqIvbgBT+BydCB7UBHEfo3gAbjzJYKvQI9jSjfAA3sxqICO0OtDfLdf8f4aTtF/hYNgESpzwxJwE22HGIzQxedtbjAL9PGb8IbgMyGwFhixC66j3UjocY2MxJOQgh5cCPNWyBasgxUnFsEiqFv4/8rUIXr0m/gdS5POkg7UMbnMYavgRtk1CzZnZXNTz1um+Z5qnXpH+9Cx7iK4N9qJzf2FjQWpE7pJht3j7zrHsVWw2IwJf4OyPSVsU3HNm/iWJWpeR8yOU4L1LmeN4KwReMFuKV2TJ9irWguHCB4S/lq2E1zzRioLawX3K/x5C3bhL6W0CxbBJz6jaLlgXZZkC2oVPCb8HUbOxuNV0ZCOeXgF6E3O1nJpWdDrtfepyY2tDg9vLR1bskawrta/bRu9j4eboKuqZQcjqT0/HGx1AeBCRQhM33ZI60iPUE0oYg+myzV9M1EoFAqFQqFQ+Ff8APH62h1KkXcWAAAAAElFTkSuQmCC\" alt=\"10^{-4}\" style=\"width: 30px; height: 19.5px;\" width=\"30\" height=\"19.5\"\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: 50.5583px 7.91667px; transform-origin: 50.5583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e if not specified. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 361.758px 7.91667px; transform-origin: 361.758px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven 463, your function should return the character string ‘34101’, and given 23/24 (and the default tolerance), your function should return ‘0.123’. As in the previous problem, use A, B, C, etc. for digits greater than 9, and take the first place after the decimal point to be the 1/2! place.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = dec2fact(x,p)\r\n%  x = base-10 number to be converted\r\n%  p = tolerance (default value = 1e-4 if not specified)\r\n  s = num2str(x,p);\r\nend","test_suite":"%%\r\nx = 463;\r\ns_correct = '34101';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 23/24;\r\ns_correct = '0.123';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 4;\r\ns_correct = '20';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 21;\r\ns_correct = '311';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 53;\r\ns_correct = '2021';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 719;\r\ns_correct = '54321';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 8675309;\r\ns_correct = '2381201021';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 888888888888;\r\ns_correct = 'A2985943012000';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 99887766554433;\r\ns_correct = '4C5B031684321111';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 0.2;\r\ns_correct = '0.0104';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 1/3;\r\ns_correct = '0.02';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 29.99;\r\ns_correct = '1021.1233454';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = pi;\r\np = 1e-8;\r\ns_correct = '11.00315650147';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = exp(1);\r\ns_correct = '10.111111';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = exp(1);\r\np = 1e-8;\r\ns_correct = '10.1111111111';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = sinh(1);\r\np = 1e-8;\r\ns_correct = '1.0101010101';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = cosh(1);\r\np = 1e-8;\r\ns_correct = '1.101010101';\r\nassert(strcmp(dec2fact(x,p),s_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":3,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-25T14:00:16.000Z","updated_at":"2021-04-25T14:01:53.000Z","published_at":"2021-04-25T14:01:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/51560-convert-a-number-from-factorial-notation-to-base-10\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCody Problem 51560\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e asks you to convert a number from factorial notation to base 10. This problem is the companion: Write a function to convert a number from base 10 to factorial notation with a tolerance \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\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that defaults to \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=\\\"10^{-4}\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e10^{-4}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e if not specified. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven 463, your function should return the character string ‘34101’, and given 23/24 (and the default tolerance), your function should return ‘0.123’. As in the previous problem, use A, B, C, etc. for digits greater than 9, and take the first place after the decimal point to be the 1/2! 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":52609,"title":"Easy Sequences 11: Factorial Digits without Trailing Zeros","description":"Here is an easy one...\r\nIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\r\n  \u003e\u003e length(num2str(factorial(10)))\r\n  \u003e\u003e ans =\r\n     7\r\nBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\r\nWrite a function that outputs the number of digits of factorials excluding trailing zeros.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 183.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 91.65px; transform-origin: 407px 91.65px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 69px 8px; transform-origin: 69px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHere is an easy one...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 354.5px 8px; transform-origin: 354.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 140px 8.5px; tab-size: 4; transform-origin: 140px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; length(num2str(factorial(10)))\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 40px 8.5px; tab-size: 4; transform-origin: 40px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; ans =\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 24px 8.5px; tab-size: 4; transform-origin: 24px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 368.5px 8px; transform-origin: 368.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 303px 8px; transform-origin: 303px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eWrite a function that outputs the number of digits of factorials excluding trailing zeros.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = numFacDigits(x)\r\n    n = length_of(num2string(x!)) - '0';\r\nend\r\n","test_suite":"%%\r\nx = randi(3);\r\nn_correct = 1;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 10;\r\nn_correct = 5;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 100;\r\nn_correct = 134;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 5000;\r\nn_correct = 15077;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = intmax;\r\nn_correct = 18570655587;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = double(intmax)*10;\r\nn_correct = 207181392197;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 3:12;\r\nn_correct = uint64([2319 33161 431575 5315711 63157061 731570558 8315705525 93157055190 1031570551819 11315705518107]);\r\nassert(isequal(numFacDigits(10.^x),n_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":223089,"edited_at":"2023-06-03T06:48:10.000Z","deleted_by":null,"deleted_at":null,"solvers_count":20,"test_suite_updated_at":"2023-06-03T06:48:10.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-08-24T11:46:25.000Z","updated_at":"2025-11-30T19:40:35.000Z","published_at":"2021-08-24T12:11:43.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\u003eHere is an easy one...\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\u003eIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\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[  \u003e\u003e length(num2str(factorial(10)))\\n  \u003e\u003e ans =\\n     7]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\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\u003eWrite a function that outputs the number of digits of factorials excluding trailing zeros.\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":53009,"title":"Easy Sequences 48: Prime Big Omega of Factorial Sequence","description":"For an integer , the prime big omega function, , is defined as the total number of prime factors of . So, if  , since , therefore .\r\nGiven an integer , write a function that evaluates the following summation:\r\n             \r\nFor example for :\r\n            \r\nIn this case therefore, the function should return .","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440000534057617px; 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: normal; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 272px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eFor an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e, the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Prime_omega_function\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eprime big omega\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; \"\u003e\u003cspan style=\"\"\u003e function, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAmCAYAAACf8yaaAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQ6ADAAQAAAABAAAAJgAAAAADuZvZAAAFIklEQVRoBe2YechVRRiHr9tXoqXZYqWmloZtlFlU0upSYCRBImUFBSqSRWFBf1hUhBVRf7TQXh+UCGJRmkGiGSEuYQRWJphrqWRmZRpqLvX8uPN+DNOcOefe+90yOC88zsz7/ma575kzZz4rldLKDJQZKDNQZuB/nYEJrH4DHNNOv+JLxnmg1rE619DhOLSjYQj0BvXdDBthNXwF9dhUOr0Ak2B3PQNE+kzDtwBOgfsj8bpdSsKbcBD+cuyl/Mlry78cboZOUNQuQfgnzCjaoQbdbWgPg9bULjaeUX4ES8LL1IdDC8j6gLb4djDNQuq9IM+U5E3wPnSAZtjjDKrddlajg09mAPuBB6hPSQyopKzw9N9S757QK/QBaNwz1GiSHc2426DIejKXMIjIHrBkKMN5NhCBtrz1eTvRQbtJutcTmvYK3ePmeqzeAZe6AbTgXaAtXcReQmTJUJm1PT9xugGUzbajmGAHbIKaX0dtef8HvUi7qF2K0O/7TKRjP3yH4JtIrFmu2QysdY1ITdAxEtQJ71sti/7O70h9WNBW81bQvNodeabP97lwOzwNesoyPeHr4UmYDsdCyha74J0pUSz2BE7/6Y6KiRI+vVbWXxep0D7DofjYMOC1z6O+EvaBjWWJ1t1hkedXfD6k7EyC0m1NiWI7I9R3CR05bV+v73xopzmHTvgs20jgPtDFyWwuleNByTwRHgTdfWQXV4vMf5VIvZong3Zb1GLJWB8oBwbtVFOTdfUE4ZPoQOxUF9/p6cLqHhxLYbkXWEh9HqwDnU16baSTKXkp0674FfR7bf5/6GPJ0GS+Xes3cupXBfGvg7aeaAvoKf0WxGJNm1uJuxG6wXjYC/2gJ8hWVYvkv5b8vklVENQhtRmUTXEAekMRW4TI+qm8LOh0vov/HPhjTf3w/U6/hVI3Sb37ZrdQsbnGmTNR2qVQB29Ndgdqm0jlWwV6j0SjM8L6xQ413TYVt+1NNdPGELGxVE4KlFqT/AehyD1Iu0f666Am64R6JviLmZwYQefKDk+vA0uvRGi6HtuY2oEpe46gaVdGhD+4uH+uRGRtLu0ujXdOmyenMpj4RE/zEHVl3halP6r6evEu1B+B38HX2Lus12QE+GZ/7WYeZE68htLGDF833Wwt9qjT5xX2me6RJ7T4DVS2g059M30KZ4D8WsDdYNafinza9q9AmPXF+FrBN/3Hi/pc5DuDug5HacTnQUzNe8HiwyPx0KXXSHqdO5kW+5qchPoNGAUXwgnwHjwMMv+2163qqrxK+Rpo66uPPn1PwRUQmp64LBarRioV+4qoPcucXqm1yXaBkjUM5kCWXekCOjcKm3aGZTyr1I8002UnS2f+VhO70g7GDwO/35xNw/r38QOurs+y4nOhP2yDuyDLnicg/ZQsQcxfJBn6y9Tsaiq26Kyy1cSu1OGsxeupdnY+v9Bu3Qka7ws/4OrajTbXBupbIJzDSduK1dT2Q682T6QSvibqkGctnkA/LM/CMQ/R4R3Q6zYh0nkIPlv0vEj8D3x2jugr9jFMjOjMdTmVs+Ej+MWcR1I5gMVoZ6yD2O7AnbSuRK+B05OqavBTCn1JhhbQ/meSm5hZ2z31VBtd3Eg3x9RGB/o3+j/LJPrcXdCEyXSP+R7ebcLYTRlSr8gS2Ar+Za7RybozgO4z66HwJavRSdujv+4xy2AVFDmQi8w5H9FaGFREfKRp9IUaB+HXrd516jzyL4f1jlP2KzNQZqDMQJmBIhn4G6cDR4LpNKGRAAAAAElFTkSuQmCC\" width=\"33.5\" height=\"19\" style=\"width: 33.5px; height: 19px;\"\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; \"\u003e\u003cspan style=\"\"\u003e, is defined as the total number of prime factors of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e. So, if  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAkCAYAAACUjSQ7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAZ6ADAAQAAAABAAAAJAAAAAAk0t2MAAAFAElEQVRoBe2ZW6iUVRTHz9EyitSskJQuUmQXoxKKMohulHEIQgKDelGIMIiSHgIriG4UgSQFPQg9RNmd6KWbRZzUCqRAswuZ1OlGNzLtJllWv//MXjNrtvvMN+ds6sxMe8H/22uvtdf69l77tr6ZgYFCJQIlAiUCJQIlAiUCJQIlAt0bgcHu7dq/0rND8DoE5oFp4G3wFvgQVJFitRAsALPBFvAS2AqqKMe2yndf6Jcyih/A3wmsQtZuoc5EvynYfUf5DNge6m9SHgRGoxzb0Xz2lfwKRqNJ+QU8CbTidwA/UbdST9EMhJuB2r4K9gWi/cB6IPlGMB3ElGMb++rL+ixG9RtYCw51I5wCvxzYBL3rdJ59PbSRj2O8An4u2AXk41kQU45t7Ksv67czKq1srfQUvY/QJmhq1OA0p1sT6az6WGizh3KOCSlzbGtuJjln/cpqUpaA30cZ4LdBrvtIx56npa6yzvGeNbliucwpcmydm/8vq4n7FWjnaAd40t1il770x3ul40+Et52nZEGUY1v3UPHU+XwhuBEscm2Pgr8W3AcucPJeZC+j0wrsN+CwaABHB530OrIGI71VJZfeJkjpeo6t+U2WK5F+CexlKq8MLbVVtfW97vSg67ViiA7rktdxdkSi82cjs3H+mNB7kc/85qPIsfV+9+KPQ7IY7Abq3B9AKeF14E+gHfMisI5fA98pKaNRMHKRs2O1Q+4GNj6NQ/fGkcDT5VRsjJ96RYIfcW0vhc+xbbjfp8E1mY9gPwG6QHV2rgfngnuAVptS0uvBxUBU1fF6q/pzKsXBXjBOXv0aD9lxHI9bK/0NcAKwpMAfczsrXvaz08+EP8DVx2rbMI07aYoFMAeGivL/h8HVQBMjOrle1J6bHV/FaoKfrmrUgf6dDtqkmjyEULte98J54BZg4zwcfgW4GYh21YvaU/dKO/JxnEzDHNt276np7uRpW/oz+NWRhXaX9O9F8l6rzqHD+uq3sW51A9DxZPIRJ0+x0lvbRfA5tin/LbKN7mXqsN+mOputIytbrHqzoqN2dxiT7tQpYRhnBpnGqgu/HfmEQHY5tu3eU9vye2hhE3B+1Poqp1sY6Xq1OuzGpCNPpGPOYvAX/CQJEyS59NZWizfHNvGKpshnGi83xQ1OPxyqIzpX929IO2O6IVtL9fQOhBrT9ki5JcilOyXSWVX3r03MNhNS5tjW3PiLzPxeZAzlKseL1SqxNFZZnL/4pK+iic7WRuuf7RYF1JOSl5OC4BzKVPKjxMJojTGUObY1N+0m53tavOJeJnY+sIGsDTplQI+A4VBvV0x0tpbqm9JyW5DxYlSAbwtGmoT7A+8Lf+w/6hQ5ts5Nk1Web1t0dVPc4JY7vSbqLvAxmA66lXRMPweUJqeO4ZuQa8zDIEUPIJRe9/AZUYOzglx6LdKYcmxjXy3/b1yyl3Zg4F5kNnk61nYC/82TMJlw0Rf0wPr8OfwSMAtocT0IpHsN6MhN0WSELwC1+wAcC0RzgX1SPA+fOoVybPWOFnqKmjqhX2pTq2wIuWUmX8Fr5XQ73UAHbXJ8+RPyDWAxGATtSBP3BLAsdgRevlR/HPhPDaotNG7bqk61vCVU5lFOA5vAWBOC4OI/L/R74algBtBO0sezdpECPBZSmqysbTb4GigG8tMJ5dh24r+0KREoESgRKBEoESgRKBEoESgRKBEoEej6CPwDgNumfOA2zXYAAAAASUVORK5CYII=\" width=\"51.5\" height=\"18\" style=\"width: 51.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e, since \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"103.5\" height=\"19\" style=\"width: 103.5px; height: 19px;\"\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; \"\u003e\u003cspan style=\"\"\u003e, therefore \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"149.5\" height=\"19\" style=\"width: 149.5px; height: 19px;\"\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; \"\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; text-align: left; 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; \"\u003e\u003cspan style=\"font-weight: bold; \"\u003eGiven an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-weight: bold; \"\u003e, write a function that evaluates the following summation:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 46px; 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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003e            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"59\" height=\"46\" style=\"width: 59px; height: 46px;\"\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; \"\u003e\u003cspan style=\"font-weight: bold; \"\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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eFor example for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADF0lEQVRoBe2XW4hNURjHZ1ySy4xcSjwQkUSk4YGUck9ePPDiSUkpGQ9SXnihJOLBkxqSlCiaPCiMppnyILcRD0guMR7wMBhk3H7/sVfWWdY5e+1j4thnffU76/J939rr+/be39qnpiZKzEDMQMxAzEDMQN4yUJu3gALimYONL+465ncmtAWsk1uT5UT2vQSd6AbmNvrAwFpKJEjJ2+Vbx/fY+ezyMNdAENehFdrBlddMNEG3q6im8SmC/QpTqinoLLFOwvgL6Emqz+JYTbaHCdYUbD1Nd2A/zIQ/ktF4L4XtsNpaaQL9zXAQFlvzldodxcZUZ0yS3LYZ3Zismz+Aw3Nn0XXJIutp3zu6uYmuUhvd1PPwGL6BmySNn8E4CJapWK6Fz6AFemAEbAG913qCLoC52Cb6oXIWwzd9QLlP8FCurZt6DPTamRjU3oT+ECz6oHoHcr4Cet0+wDKQNIK5wIrembCfS5af8S+nzXLNYjubjeKqsx/zxhT4DCgY/RrMozssGarIHYeNcDGZswteRzIX0uzF6EyIYYrNjRR9iPoWRkq2TjzzWaBychKCZDdW5g4/pX/E8bqf6O868//jcAabVhlRvA+zBHAtcZLjAxhiOY+3dCryeZB7BKFYu0KD0ZFpF7VFjuMGxuYp0x/GPMgJglBMemt+E19NWoJVv8RSNUiF2xZ9O0k+QVtvL/xHp9vCcPOiljp9W4pqsysUi+Tlz6bw15ckc4LJ8lCheW/yzPHbju6jo08b1mEwMs0oQK/Tty9lVrJYs2/RUkl6hYOObFt0bOp1lJiTrom+HtdWSJNKOt3MXhfQ0bdTDyiWVJmGhak37okm562WXgnbAzoRhkMlyiA2dRk64RxMBlt0wztAMTfailJ9OwmrPIb7mDNJ1OvWBfY3k8fln05pb2a/alUedoD+VawBndya3wbBchpLOXXDYI/XSubM/58X9Od7bCpt6qi1ZzthikMHSUPahmvTDDz66czVw23IWrg9y/2VqYlcRR+NY+EtPIFHoLobJWYgZiBmIGYgZiBmIGYgZqDMDPwABjze7p/ZcSIAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 76px; 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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003e            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-32px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBsAAACYCAYAAAClKeGhAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEG6ADAAQAAAABAAAAmAAAAAAL4Um9AABAAElEQVR4Ae2dB7gWxfnFlSKKioodUK49do0dhagYNbZoLLGLFf9qNNEUS4w9do0lRmNDxcTeTVRskYjEiokdC2JBsYsVRP/nwA4Ow2z7dme//e497/McdnZmduad387Ozs7u/ZhpJpkIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEBTCcwcsPZFUPYuTvkrYf8K6G4nXrsiIAIiIAIiIAIiIAIiIAIiIAIiIAIikErgz8jxnaOx2O+ceqQyiIAIiIAIiIAIiIAIiIAIiIAIiIAItCyBUF82zAciY6BDoU8gY6MQeNHsaCsCIiACIiACIiACIiACIiACIiACIiACWQkci4zDoU5ZD1A+ERABERABERABERABERABERABERABEYgj0B0J70P8E4pPoVuhLSGZCIiACIiACIiACIiACIiACIiACIiACDREYE0cNRqaDNm/2cAfhtSXDoAgEwEREAEREAEREAEREAEREAEREAERaIzAbDhsIDQSMosORzRWlI4SAREQAREQAREQAREQAREQAREQAREQge8J8Ecoz4e44PABFOpHKVG0TAREQAREQAREQAREQAREQAREQAREoKMQ6IqG8k8ruOCwYEdptNopAiIgAiIgAiIgAiIgAiIgAiIgAh2RQFW/oTAJcB+OAHfuiKDVZhEQAREQAREQAREQAREQAREQARHoKASqWmwgz4nQF9B47shEQAREQAREQAREQAREQAREQAREQAREoAiBbjh4DHRJkUJ0rAiIgAiIgAiIgAiIgAiIgAiIgAiIQMckwD+XeB0aDPHHIPn1xEUQf7OhFyQTAREQAREQAREQAREQAREQAREQAREQgVwEbkVu819dvoDwq9AQSAsNgCATAREQAREQAREQAREQAREQAREQgfZOINR/Q7kMwPWGPoS42PApJBMBERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERCBJhLw/RnFgvBnANSliX65VQ9DxPtupPZFQAREQAREQAREQAREQAREQAREQARag8DRcNP8wGNdtie1Bjp5KQIiIAIiIAIiIAIiIAIiIAIiIAIi4PuyYSNguQdy055D3MUFkPG/wJw10mzY9oT6RGrDtjsUZ+8hYVHoq7gMihcBERABERABERABERABERABERABEag3gdPgnvtVw0TErRXIbf7JBsv+DXQ79CXk1r8n4mQiIAIiIAIiIAIiIAIiIAIiIAIiIAI1J+B+vWDc7YrAw9AaJiLavobtKlDo/8qSvxvxS+j/oLkg2iho1Skh/dOKBNaH0wvXyPF34MsDNfJHroiACIiATWB97GjMtIkoLAIiIAIiIAIi0G4ILIGWfAK5XxhcU2ELudBwk+VD/wrrVlXlEphsnUe3TzVj/zP4M3e5TVRpIiACIlAaAY2ZpaFUQSIgAiIgAiIgAs0gEPdlg/FlZwSuNjvWdh+EL7X2Qwbp4wnQUdCN0HaQrPUIPASXfYtFJyL+gwLNmQXH8rdA+Dsg/N2PXhB/C2QRqDeUZL9G4plJGZQmAiIgAk0ioDGzSeBVrQiIgAiIgAiIQHUELkNV7pvnzxG3bHUuTKnpdPz7DcSHSFnrEeB546KC25duDdiUhVD2DtD50IuQW/eriOMPl8pEQAREoG4ENGbW7YzIHxEQAREQAREQgdIJzI4SX4DcB7WnEcc3ylUZ31q/Ap1SVYWqp3QCW6NEtx9x/xel1zRjgfxCZnOIbwttH346Y1bFiIAIiEAtCGjMrMVpkBMiIAIiIAIiIAIhCayCwvnfTtoPaQz/OWSlnrL5A5Hbe+IV1ToE+JWB24/Yt1ausAlboK6PIz/uq7BeVSUCIiACeQlozMxLTPlFQAREQAREQARajgDfPrsPidzfpuVaIoebSYBfw/CrGLcv8esZfkVTlfHPgF6G6McKVVWqekRABEQgJwGNmTmBKbsIiIAIiIAIiEBrErgNbrsPiR8ijn9bKhOBrAT4oM/f/XD7En8fpErjj0nyC4e/Vlmp6hIBERCBnAQ0ZuYEpuwiIAIiIAIiIAKtR2BeuPwm5D4k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DA/i+vhijnfLYL+fE6ddERABEaiMAN8gvQjFDVrNiL+rstaroioI8IGYfyLAvvQgVNUPbPKhnV8MjIBMPx6GsEwEREAE6kxAY2adz458EwEREAEREAERyExgEHLyba95GKvDdsfM3itj3Qnwz0FGQexX/B2OnlBomxUV7Af5FtH4d4syERABEagrAY2ZdT0z8ksEREAEREAERCCRAH9DQSYCVRHojIpuhTaHPoTWhkZDRa0rCuCEfPZoOx+2y0HLQ+bPW+ZB2LVPELEwxP8FQyYCIiACdSOgMbNuZ0T+iIAIiIAIiIAIZCaQ9AORmQtRRhHISOAs5ONCA41fNPALh6LGhQaqEeOPgmmhoRFyOkYERKAKAhozq6CsOkRABERABERABERABFqaAH9crA5/kmP7wC8rZCIgAiJQRwIaM+t4VuSTCIiACIiACIiACIhA7Qi8Ao/sB/1mh5+vHSE5JAIiIALfE9CY+T0LhURABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABESgBgTmhg/9S/RjWZR1BeT7HwNKrEZFiYAIiIAIiIAIiIAIiIAIiIAIiIAI1JXAjXCMf3Pfr6CDS+H4odBkiOUtBMlEQAREQAREQAREQAREQAREQAREQARamECnBn0fi+MmQF80eLw5bCACl0FfmwhtRUAEREAEREAEREAEREAEREAEREAEOi6BLiU2fTTK0pcNJQJVUSIgAiIgAiIgAiIgAiIgAiIgAiLQLAKNftlAf2dultOqVwREQAREQAREQAREQAREQAREQAREoL4E8i42HIum3AW9CZ0HyURABERABERABERABERABERABERABERgOgJ5FxtOwdGToN7QvVFJl2PL32/Iqh2i47QRAREQAREQAREQAREQAREQAREQARFohwTy/u7CV2CwBMT/PeK+iMdD2E6Mwlk2Y7JkUh4REAEREAEREAEREAEREAEREAEREIGOQaAPmskfchxZcnP1A5ElA1VxIiACIiACIiACIiACIiACIiACItAsAnn/jOLHkaP3NMth1SsCIiACIiACIiACIiACIiACIiACIlBvAmUsNuT9zYaf1huJvBMBERABERABERABERABERABERABEShCIO9vNvwIlX0KPQptC90I5f3NhnE4RiYCIiACIiACIiACIiACIiACIiACIiACMy0ABvy9hn9B50AHQmXY/CjkG4hlr1lGgSpDBERABERABERABERABERABERABESgNQjMATf5v1FwYeDMklw+CuWMhbjQQL0InQXJREAEREAEREAEREAEREAEREAEREAEOgiBhdHO+TpIW9VMERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABEaghgZlr6JNcan8EFkSTBkBdatS0YfDl/Rr5I1dEQAREQAREQAREQAREQAREQAREQARyEDgaeb+rmU7K4b+yioAIiIAIiIAIiIAIiIAIiIAI5CCgLxtywFLWhglshCPvgdz+9hziLm641Jlm6oRjZ400G7Y9oT6R2rDtDsXZe0hYFPoqLoPiRUAEREAEREAEREAEREAEREAEREAE6k3gNLjnft0wEXFrBXKbf7LBsn8D3Q59Cbn174k4mQiIgAiIgAiIgAiIgAiIgAiIgAiIQIsS6Aq/H4XcB/5XEdejgjbxdyNOhj6GjA9PVVCvqhABERABERABERABERABERABERABEQhIYAmU/QlkHvbN9pqAdbpFz4WImywf+rsZtC8CIiACIiACIiACIiACIiACIiACItBaBHaGu2aR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\" width=\"525.5\" height=\"76\" style=\"width: 525.5px; height: 76px;\"\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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eIn this case therefore, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJKADAAQAAAABAAAAJAAAAAAqDuP8AAACAUlEQVRYCe2WyytHQRTHvfuRWFhQKKGsWGGjpDxWWCoL5U/wF7CwYYGNDTa2lEfJwlYpFEo2ymNDHhuRt8Ln5M5t+nXvzP397mWhe+rTnDvznTOnM3Pn3oyM2OIKxBX43QpkpxC+Cu0w7MEz2KwGQTcMQC+UwBPcQSirZPYMvMMX1ILJchkcAaWXOTrzPKdSCOQ/Vk4zDW+gB7QlNJek1+cqfwVNHqRkS6hHQUr+ASqYKaFOR3dE2w4JKIYuOAQVQ1rZzrRNFlDBTAltoLuAUo+V8uk7ARVnykMTuGtbC+SXUCEa2d5+Q1Sptkpo30uX5dWZZl818zZh0TD/QBv71HzXzXG98I6cETlDJnvVBs8033WjrJAb1OBUaWOrmu+6f51Qj7PyDe2ym0UaTpBDbQtbgOAW5FD32cS28SgSGneSWbAtFmQ8bEKNLCKX6y7IfRTawiRUweqXcApltkx++1AXkcCak0QH7bUtoSjvoeS1ZGskGflbaIVziMxS3TL5BVmHB2gyZDHIWLNh3HdohxH1DfL7lqnJcgzkTXqBNvAzqZrc3HW6IOiW6V/vhB4gyc/keRbknrmCQQca1yThemiALTiGwCZ/dkOgqiPtBMiWeNkknbrW5svXP7CNoXwEr6D39Ms/km4tPHhp/fru0EdyJ+lJxH5cgbgCcQX+XQW+AUYljhBCz4RVAAAAAElFTkSuQmCC\" width=\"18\" height=\"18\" style=\"width: 18px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = FPBos(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 5;\r\ns_correct = 12;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 10;\r\ns_correct = 66;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 500;\r\ns_correct = 330834;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 1000;\r\ns_correct = 1392600;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 50000;\r\ns_correct = 4148573165;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 100000;\r\ns_correct = 16940051386;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 5000000;\r\ns_correct = 46325477660928;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nns = 1000000:1000000:50000000;\r\nss = arrayfun(@(n) FPBos(n),ns);\r\nst = num2str(floor(ss)); st(st==' ') = [];\r\nsss = uint64([ss(end) ss(10) str2num(st(50:50:end)) sum(st) length(st) floor(std(ss))])\r\nsss_correct = [4817780104972976 187651182473596 964919801175052 40269 769 1477452839351441];\r\nassert(isequal(sss,sss_correct))\r\n%%\r\nfiletext = fileread('FPBos.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java'); \r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2021-11-09T18:16:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-11-06T17:27:09.000Z","updated_at":"2026-03-24T17:42:56.000Z","published_at":"2021-11-07T09:44:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Prime_omega_function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eprime big omega\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e function, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Omega(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, is defined as the total number of prime factors of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. So, if  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=300\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, since \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e300 = 2^2\\\\cdot3^1\\\\cdot5^2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, therefore \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Omega(300) = 2 + 1 + 2 =5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\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\u003eGiven an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, write a function that evaluates the following summation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\sum_{i=1}^{n}\\\\Omega (i!)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en =5 \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\sum_{i=1}^{5}\\\\Omega (i!) \\n= \\\\sum\\\\Omega ([1!\\\\  2!\\\\ 3!\\\\ 4!\\\\ 5!]) = \\\\sum\\\\Omega ([1\\\\ 2\\\\ 6\\\\ 24\\\\ 120])\\\\\\\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ =\\\\sum\\\\Omega([1,\\\\ 2^1,\\\\ (2^1\\\\cdot3^1),\\\\ (2^3\\\\cdot3^1),\\\\ (2^3\\\\cdot3^1\\\\cdot5^1)])\\n=0+1+2+4+5=12.\\n\\n\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\u003eIn this case therefore, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":46648,"title":"Factorial","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 20.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.4px; transform-origin: 407px 10.4px; 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 10.4px; text-align: left; transform-origin: 384px 10.4px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFind the Factorial of a given number, x, that is the multiplication of all integer numbers from 1 to x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = F(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 0;\r\ny_correct = 1;\r\nassert(isequal(F(x),y_correct))\r\n\r\n%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(F(x),y_correct))\r\n\r\n%%\r\nx = 4;\r\ny_correct = 24;\r\nassert(isequal(F(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":430136,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":103,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-10-02T14:04:25.000Z","updated_at":"2026-03-31T15:11:19.000Z","published_at":"2020-10-02T14:04:25.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFind the Factorial of a given number, x, that is the multiplication of all integer numbers from 1 to x.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":45770,"title":"Approximate functions 1 (★★★)","description":"Compute the following sum for any given x and positive integer n.\r\n\r\n\u003c\u003chttps://i.imgur.com/eUwXdSE.gif\u003e\u003e\r\n\r\n\u003c\u003e\r\n\r\nHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus, \r\n\r\n  2! = 1x2 = 2\r\n  3! = 1x2x3 = 6\r\n  5! = 1x2x3x4x5 = 120","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 209.8px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 104.9px; transform-origin: 407px 104.9px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 204.5px 8px; transform-origin: 204.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCompute the following sum for any given x and positive integer n.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 47.5px; 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 23.75px; text-align: center; transform-origin: 384px 23.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/gif;base64,R0lGODlhCwEqALMAAP///wAAAKqqqpiYmHZ2drq6ulRUVNzc3BAQEMzMzDIyMu7u7mZmZoiIiCIiIkRERCH5BAEAAAAALAAAAAALASoAAAT+EMhJq704i0ZY/qC2eWFpSsapYkYQPMsqz3Rtn0uDEvcZSI9BT9VQDE2DRezIbDpvBSNgIH1aDkCh9ZIQVLcULXhMBmMBnTJloViqk18yoTHgqe9rTmHAOOMzDn5lAg8CeEJseAkSBGJ/gwABi42PLAWVBjplB5eJjwMPlXcJoQAGi6IUDYuCYFQSAw5vDRwImmQFpYSpZbQSCLwTAgILB7djBZoEKYpxZloMhsFgD4sFBpxqAnUF29gHLi52TNsE3QPYUxwMbkfl5+kACS3HQ+/eWBu+0z336FilFhhwBKYAlgMIDCFAtcUgAIQKGVpxCBHAQmQHE1qUyK8HRY3+F0VJKwBMmwSSd0aWhAQAZccnKl+iYYZn2SObf3DKfKKTnwKCZX4+EvqH6E4nRqctCHDmUpmlTdVAPSmVKdWjQ6a2TIVywA95rZx0/ZogbJOxEsoiA+Y1rVmsJ9CCTZUgWhcCApyCqSvgbl4yfP3q3RJYAN7BcGUUPpy4sePHkCNLnkx5yADEZS5X0vyH8yHMYzxPE/0GNBnSmU27Um0FtTtu+D64Ds16y+zVn2o7uW3jY0TZuncHF567+GcrMUvwbj28yfInz4kfB9OzAgMD2A0oUJDdwDgK4cKLH2/hevbt3b9PGM9e/AXz2NFnVx+pvf333eVjp2//fvn83M3+9wR82gW4nwX9+SdBUsAZ11lzR0TnHIQ9SDiDVrVZGCGFlnF4g4YdPviEXGo1KKKDd4BYYW0HGLBEiy+6KAGMIKgYwmJ/1eihDTZ+uGMNPQJZWwIhEYmKkWmFlEGQ0k13opMmtDMDkzJQyYSUIQzQAAMP6IVkCVjWqOVAE3wJ5gwJjGNmCGFiAE44JMijJJuPtKnYnKe9GIA0AgTw4weUALCUFn3+WYIDcRZqxQEDJMCRopXJAKkaDjBkgCwtSWIFlxMgwEwBmrpiQJygcnTEAdJUUGqkMqx6BwJiEECWVWMMmhatE9UVZwK4NoEqF72yWgKvb5VxqQRLlUFAKYL9fmXFAkIwEGeyizZimF7UCkuBPtCig62zde653hgCXNcOuE5oIi14W0A7gQN6oSvsAgYFQOgX8t7xwDHOPGFmv0M4BMC6EwDsxLIFa0vBJQJgCkADzAJg8Bj7TEDTGAasdPGVYhCMghoNOLuxwgyMkwkFIw9SDwCpOnHKBLKe0TI5BNRMgAMKEIDKzExoJEEDK/GsLQLxCiI0MmKs7AQ4qbbwxwNxjvGAH9gp7KazDW8lSl0FdF3ujDLytMQCtoBt5xFQT0AjdC8icMbaVr8iQckPm40HAuIxs2YTHDRgQKp7N1FXAAj0IaepEa7jR+CsBirPHEswbvXklAcTAQA7\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 282.5px 8px; transform-origin: 282.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus,\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 48px 8.5px; transform-origin: 48px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e2\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 44px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 44px 8.5px; \"\u003e! = 1x2 = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 8.5px; transform-origin: 56px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e3\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 52px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 52px 8.5px; \"\u003e! = 1x2x3 = 6\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 80px 8.5px; transform-origin: 80px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003e5\u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(178, 140, 0); border-block-start-color: rgb(178, 140, 0); border-bottom-color: rgb(178, 140, 0); border-inline-end-color: rgb(178, 140, 0); border-inline-start-color: rgb(178, 140, 0); border-left-color: rgb(178, 140, 0); border-right-color: rgb(178, 140, 0); border-top-color: rgb(178, 140, 0); caret-color: rgb(178, 140, 0); color: rgb(178, 140, 0); column-rule-color: rgb(178, 140, 0); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(178, 140, 0); perspective-origin: 76px 8.5px; text-decoration: none; text-decoration-color: rgb(178, 140, 0); text-emphasis-color: rgb(178, 140, 0); transform-origin: 76px 8.5px; \"\u003e! = 1x2x3x4x5 = 120\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 85.5px 8px; transform-origin: 85.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAvoid using for/while loops.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(x,n)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 3; n = 2;\r\ny_correct = 7.5;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nx = 2; n = 10;\r\ny_correct = 6.388994708994708;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nx = 9; n = 6;\r\ny_correct = 1674.5625;\r\nassert(abs(your_fcn_name(x,n) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'for')),'for forbidden')\r\nassert(isempty(strfind(filetext, 'while')),'while forbidden')","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":428668,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":48,"test_suite_updated_at":"2020-11-30T11:33:50.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-06-06T00:05:06.000Z","updated_at":"2026-02-26T12:10:56.000Z","published_at":"2020-06-06T00:05:02.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eCompute the following sum for any given x and positive integer n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"center\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHere m! denotes the factorial of m, which the product of all natural numbers upto m. Thus,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2! = 1x2 = 2\\n3! = 1x2x3 = 6\\n5! = 1x2x3x4x5 = 120]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAvoid using for/while loops.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.gif\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,R0lGODlhCwEqALMAAP///wAAAKqqqpiYmHZ2drq6ulRUVNzc3BAQEMzMzDIyMu7u7mZmZoiIiCIiIkRERCH5BAEAAAAALAAAAAALASoAAAT+EMhJq704i0ZY/qC2eWFpSsapYkYQPMsqz3Rtn0uDEvcZSI9BT9VQDE2DRezIbDpvBSNgIH1aDkCh9ZIQVLcULXhMBmMBnTJloViqk18yoTHgqe9rTmHAOOMzDn5lAg8CeEJseAkSBGJ/gwABi42PLAWVBjplB5eJjwMPlXcJoQAGi6IUDYuCYFQSAw5vDRwImmQFpYSpZbQSCLwTAgILB7djBZoEKYpxZloMhsFgD4sFBpxqAnUF29gHLi52TNsE3QPYUxwMbkfl5+kACS3HQ+/eWBu+0z336FilFhhwBKYAlgMIDCFAtcUgAIQKGVpxCBHAQmQHE1qUyK8HRY3+F0VJKwBMmwSSd0aWhAQAZccnKl+iYYZn2SObf3DKfKKTnwKCZX4+EvqH6E4nRqctCHDmUpmlTdVAPSmVKdWjQ6a2TIVywA95rZx0/ZogbJOxEsoiA+Y1rVmsJ9CCTZUgWhcCApyCqSvgbl4yfP3q3RJYAN7BcGUUPpy4sePHkCNLnkx5yADEZS5X0vyH8yHMYzxPE/0GNBnSmU27Um0FtTtu+D64Ds16y+zVn2o7uW3jY0TZuncHF567+GcrMUvwbj28yfInz4kfB9OzAgMD2A0oUJDdwDgK4cKLH2/hevbt3b9PGM9e/AXz2NFnVx+pvf333eVjp2//fvn83M3+9wR82gW4nwX9+SdBUsAZ11lzR0TnHIQ9SDiDVrVZGCGFlnF4g4YdPviEXGo1KKKDd4BYYW0HGLBEiy+6KAGMIKgYwmJ/1eihDTZ+uGMNPQJZWwIhEYmKkWmFlEGQ0k13opMmtDMDkzJQyYSUIQzQAAMP6IVkCVjWqOVAE3wJ5gwJjGNmCGFiAE44JMijJJuPtKnYnKe9GIA0AgTw4weUALCUFn3+WYIDcRZqxQEDJMCRopXJAKkaDjBkgCwtSWIFlxMgwEwBmrpiQJygcnTEAdJUUGqkMqx6BwJiEECWVWMMmhatE9UVZwK4NoEqF72yWgKvb5VxqQRLlUFAKYL9fmXFAkIwEGeyizZimF7UCkuBPtCig62zde653hgCXNcOuE5oIi14W0A7gQN6oSvsAgYFQOgX8t7xwDHOPGFmv0M4BMC6EwDsxLIFa0vBJQJgCkADzAJg8Bj7TEDTGAasdPGVYhCMghoNOLuxwgyMkwkFIw9SDwCpOnHKBLKe0TI5BNRMgAMKEIDKzExoJEEDK/GsLQLxCiI0MmKs7AQ4qbbwxwNxjvGAH9gp7KazDW8lSl0FdF3ujDLytMQCtoBt5xFQT0AjdC8icMbaVr8iQckPm40HAuIxs2YTHDRgQKp7N1FXAAj0IaepEa7jR+CsBirPHEswbvXklAcTAQA7\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2492,"title":"Factorions: Numbers that equal the sum of the factorials of their digits","description":"From Wikipedia: _A factorion is a natural number that equals the sum of the factorials of its decimal digits_\r\n\r\nFor example:\r\n\r\n2!=2\r\n\r\n1!+4!+5!=145\r\n\r\nWrite a function that returns true if a number is a factorion and false otherwise.\r\n\r\nAssume all numbers are of base 10.","description_html":"\u003cp\u003eFrom Wikipedia: \u003ci\u003eA factorion is a natural number that equals the sum of the factorials of its decimal digits\u003c/i\u003e\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cp\u003e2!=2\u003c/p\u003e\u003cp\u003e1!+4!+5!=145\u003c/p\u003e\u003cp\u003eWrite a function that returns true if a number is a factorion and false otherwise.\u003c/p\u003e\u003cp\u003eAssume all numbers are of base 10.\u003c/p\u003e","function_template":"function y = isFactorion(x)\r\n  y = num2str(x);\r\nend","test_suite":"%%\r\nx = 0;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 2;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 145;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 666;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 1729;\r\ny_correct = 0;\r\nassert(isequal(isFactorion(x),y_correct))\r\n%%\r\nx = 40585;\r\ny_correct = 1;\r\nassert(isequal(isFactorion(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":379,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":83,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-08-08T15:54:48.000Z","updated_at":"2026-03-04T02:46:13.000Z","published_at":"2014-08-08T15:55:04.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFrom Wikipedia:\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\u003eA factorion is a natural number that equals the sum of the factorials of its decimal digits\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2!=2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e1!+4!+5!=145\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\u003eWrite a function that returns true if a number is a factorion and false otherwise.\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\u003eAssume all numbers are of base 10.\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":45184,"title":"factorial","description":"calculate x!","description_html":"\u003cp\u003ecalculate x!\u003c/p\u003e","function_template":"function y = your_fcn_name(x)\r\ny=fact(x)\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 2;\r\ny_correct = 2;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 3;\r\ny_correct = 6;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n%%\r\nx = 4;\r\ny_correct = 24;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":368653,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":71,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-10-23T10:14:44.000Z","updated_at":"2026-02-18T21:42:08.000Z","published_at":"2019-10-23T10:14:46.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\u003ecalculate x!\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":42267,"title":"factorial of a number x","description":"Factorial of a number x","description_html":"\u003cp\u003eFactorial of a number x\u003c/p\u003e","function_template":"function y = fact(x)\r\n  y = fact;\r\nend","test_suite":"%%\r\nx = 5;\r\ny = 120;\r\nassert(isequal(fact(x),y))\r\n\r\n%%\r\nx = 1;\r\ny = 1;\r\nassert(isequal(fact(x),y))\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":38003,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":391,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-04-24T10:30:06.000Z","updated_at":"2026-03-14T11:13:04.000Z","published_at":"2015-04-24T10:30:30.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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\u003eFactorial of a number x\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":2047,"title":"Find Factrorial without using built-in function","description":"A number is given, you have to find the factorial of the number without using built-in factroial function.\r\n\r\nYou may use loops.\r\n\r\nExample:\r\n\r\nInput:    8\r\n\r\nOutput: 40320","description_html":"\u003cp\u003eA number is given, you have to find the factorial of the number without using built-in factroial function.\u003c/p\u003e\u003cp\u003eYou may use loops.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cp\u003eInput:    8\u003c/p\u003e\u003cp\u003eOutput: 40320\u003c/p\u003e","function_template":"function Result = fact(x)\r\n  Result = x*(x-1);\r\nend","test_suite":"%%\r\nx = 5;\r\ny_correct = 120;\r\nassert(isequal(fact(x),y_correct))\r\n\r\n%%\r\nx = 8;\r\ny_correct = 40320;\r\nassert(isequal(fact(x),y_correct))\r\n\r\n%%\r\nx = 33;\r\ny_correct = 8.683317618811886e+36;\r\nassert(isequal(fact(x),y_correct))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":20110,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":138,"test_suite_updated_at":"2013-12-14T01:41:33.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-12-14T01:30:28.000Z","updated_at":"2026-03-01T12:12:51.000Z","published_at":"2013-12-14T01:38:12.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\u003eA number is given, you have to find the factorial of the number without using built-in factroial function.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou may use loops.\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:\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\u003eInput: 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\u003eOutput: 40320\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":45189,"title":"Double Factorial","description":"Return double factorial\r\n\r\n        n(n-2)...(5)(3)(1),   n\u003e0, odd\r\nn!!  =  n(n-2)...(6)(4)(2),   n\u003e0, even\r\n        1                 ,   n = -1, or n = 0\r\n\r\nFor example\r\n\r\n6!! = (6)(4)(2) = 48","description_html":"\u003cp\u003eReturn double factorial\u003c/p\u003e\u003cpre\u003e        n(n-2)...(5)(3)(1),   n\u0026gt;0, odd\r\nn!!  =  n(n-2)...(6)(4)(2),   n\u0026gt;0, even\r\n        1                 ,   n = -1, or n = 0\u003c/pre\u003e\u003cp\u003eFor example\u003c/p\u003e\u003cp\u003e6!! = (6)(4)(2) = 48\u003c/p\u003e","function_template":"function y = doubleFactorial(x)\r\n  y = x;\r\nend","test_suite":"\r\ncorrectList = [1 1 2 3 8 15 48 105 384 945 3840 10395 46080 135135 645120 2027025 10321920];\r\nfor idx = 1:17\r\nassert(isequal(doubleFactorial(idx-1),correctList(idx)))\r\nend","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":68,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2019-11-01T18:08:07.000Z","updated_at":"2026-03-16T09:29:26.000Z","published_at":"2019-11-01T18:08:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eReturn double factorial\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[        n(n-2)...(5)(3)(1),   n\u003e0, odd\\nn!!  =  n(n-2)...(6)(4)(2),   n\u003e0, even\\n        1                 ,   n = -1, or n = 0]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e6!! = (6)(4)(2) = 48\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":44067,"title":"The last non-zero digit of a factorial","description":"For given positive integer n, what is the last non-zero digit of n!? \r\n\r\n\r\nExample:  factorial(11) = 39916800\r\n\r\nLast non-zero digit is 8.\r\n\r\n\r\nOptional: Can you make an efficient algorithm for very large n?","description_html":"\u003cp\u003eFor given positive integer n, what is the last non-zero digit of n!?\u003c/p\u003e\u003cp\u003eExample:  factorial(11) = 39916800\u003c/p\u003e\u003cp\u003eLast non-zero digit is 8.\u003c/p\u003e\u003cp\u003eOptional: Can you make an efficient algorithm for very large n?\u003c/p\u003e","function_template":"function d = lastNonZeroDigitFactorial(n)\r\n  d = 0;\r\nend","test_suite":"%%\r\nn = 4;\r\nd_correct = 4;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n%%\r\nn = 5;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n \r\n%%\r\nn = 6;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 7;\r\nd_correct = 4;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 8;\r\nd_correct = 2;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 9;\r\nd_correct = 8;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n\r\n\r\n%%\r\nn = 10;\r\nd_correct = 8;\r\nassert(isequal(lastNonZeroDigitFactorial(n),d_correct))\r\n ","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":115733,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":77,"test_suite_updated_at":"2017-02-14T00:18:21.000Z","rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T00:14:25.000Z","updated_at":"2026-03-11T08:47:48.000Z","published_at":"2017-02-14T00:18:21.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\u003eFor given positive integer n, what is the last non-zero digit of n!?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(11) = 39916800\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\u003eLast non-zero digit is 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\u003eOptional: Can you make an efficient algorithm for very large n?\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":45543,"title":"Find the remainder with the factorial of PRIMES?","description":"* Take a number  greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\r\n* calculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\r\n* As mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\r\n* Divide factorial with the remainder (if possible). e.g. 120/5 = 24\r\n\r\nDon't use builtin functions \r\n\r\n  primes\r\n\r\n  factorial\r\n\r\n  mod","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 275.767px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 137.883px; transform-origin: 407px 137.883px; vertical-align: baseline; \"\u003e\u003cul style=\"block-size: 122.6px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 391px 61.3px; transform-origin: 391px 61.3px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 290px 8px; transform-origin: 290px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTake a number greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4333px; text-align: left; transform-origin: 363px 20.4333px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 355px 8px; transform-origin: 355px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecalculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 40.8667px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 20.4333px; text-align: left; transform-origin: 363px 20.4333px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 359px 8px; transform-origin: 359px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAs mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003cli style=\"block-size: 20.4333px; counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 363px 10.2167px; text-align: left; transform-origin: 363px 10.2167px; white-space: pre-wrap; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 197px 8px; transform-origin: 197px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDivide factorial with the remainder (if possible). e.g. 120/5 = 24\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 81px 8px; transform-origin: 81px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDon't use builtin functions\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 102.167px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 51.0833px; transform-origin: 404px 51.0833px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 24px 8.5px; transform-origin: 24px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003eprimes\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 36px 8.5px; transform-origin: 36px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003efactorial\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 12px 8.5px; transform-origin: 12px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003emod\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = your_fcn_name(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nfiletext = fileread('your_fcn_name.m');\r\nassert(isempty(strfind(filetext, 'primes')))\r\nassert(isempty(strfind(filetext, 'factorial')))\r\nassert(isempty(strfind(filetext, 'mod')))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 630;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n\r\n%%\r\nx = 49;\r\ny_correct = 3.232790518889602e+58;\r\nassert(abs(your_fcn_name(x)/1e58-y_correct/1e58)\u003c1e-2)\r\n\r\n%%\r\nx = 5;\r\ny_correct = 1;\r\nassert(isequal(your_fcn_name(x),y_correct))\r\n\r\n%%\r\nx = 17;\r\ny_correct = 6.2270208e+09;\r\nassert(abs(your_fcn_name(x)/1e9-y_correct/1e9)\u003c1e-2)","published":true,"deleted":false,"likes_count":0,"comments_count":2,"created_by":26467,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2021-05-20T10:42:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-05-20T09:50:35.000Z","updated_at":"2025-04-28T21:39:14.000Z","published_at":"2020-05-20T09:54:29.000Z","restored_at":null,"restored_by":null,"spam":false,"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=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eTake a number greater than or equal to 2 and take its primes. e.g. 6 and its primes are 2 3 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ecalculate the factorial of its prime (nearest less) and calculate the sum from that number down to 1. e.g. 5! = 120 and sum 5 to 1 is 15\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs mod of the factorial of every number with 2 is zero, check the mod of the sum calculated with 10 e.g. mod of 15 with 10 is 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDivide factorial with the remainder (if possible). e.g. 120/5 = 24\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\u003eDon't use builtin functions\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[primes\\n\\nfactorial\\n\\nmod]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2114,"title":"Factorial Numbers ","description":"Factorial is multiplication of integers. So factorial of 6 is\r\n 720 = 1 * 2 * 3 * 4* 5 *6\r\n\r\nThus 6 factorial  = factorial(720). Given n, return t, the factorial number for n.\r\n\r\nExample: Input n = 6 Output t is 720\r\n","description_html":"\u003cp\u003eFactorial is multiplication of integers. So factorial of 6 is\r\n 720 = 1 * 2 * 3 * 4* 5 *6\u003c/p\u003e\u003cp\u003eThus 6 factorial  = factorial(720). Given n, return t, the factorial number for n.\u003c/p\u003e\u003cp\u003eExample: Input n = 6 Output t is 720\u003c/p\u003e","function_template":"function t = factorial(n)\r\n  t = n;\r\nend\r\n","test_suite":"%%\r\nn = 1;\r\nt = 1;\r\nassert(isequal(factorial(n),t))\r\n%%\r\nn = 2;\r\nt = 2;\r\nassert(isequal(factorial(n),t))\r\n%%\r\nn = 3;\r\nt = 6;\r\nassert(isequal(factorial (n),t))\r\n%%\r\nn = 6;\r\nt = 720;","published":true,"deleted":false,"likes_count":4,"comments_count":1,"created_by":21325,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":447,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-01-13T16:39:00.000Z","updated_at":"2026-04-02T10:43:25.000Z","published_at":"2014-01-13T16:39:33.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"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\u003eFactorial is multiplication of integers. So factorial of 6 is 720 = 1 * 2 * 3 * 4* 5 *6\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\u003eThus 6 factorial = factorial(720). Given n, return t, the factorial number for n.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: Input n = 6 Output t is 720\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":1854,"title":"Factorial: Unlimited Size : java.math","description":"This challenge is an application of java.math that allows unlimited precision calculations.  The primary reference sites are \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html Java Math\u003e, \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html Java BigDecimal\u003e, and \u003chttp://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html Java BigInteger\u003e.\r\n\r\nThe usage of BigDecimal function multiply will be essential.\r\n\r\nJava Math tutorial: (Simplified summary that is believed correct)\r\n\r\n  vd-decimal value, vstr-string, vi-integer value \r\n  xBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\r\n  import java.math.*;  % simplifies statements\r\n  xBD=BigDecimal(vstr);\r\n \r\n  xmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\r\n  \r\n  To convert java to string of unlimited length can be achieved via java toString or Matlab char\r\n  \r\n  xstr=toString(xBD)  or xstr=char(xBD) \r\n\r\n*Input:* N  [1\u003c N \u003c 1000]\r\n\r\n*Output:* Y  (char variable of Y=N! or a BigDecimal variable)\r\n\r\n\u003chttp://www.nitrxgen.net/factorialcalc.php Factorial Calculator\u003e\r\n\r\n*Related Challenges:*\r\n\r\n\u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow 1. Usage of java math\u003e\r\n\r\n  2. nchoosek_large (full precision)\r\n  2. Next Prime\r\n  3. factor_large\r\n  4. Factorial","description_html":"\u003cp\u003eThis challenge is an application of java.math that allows unlimited precision calculations.  The primary reference sites are \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html\"\u003eJava Math\u003c/a\u003e, \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html\"\u003eJava BigDecimal\u003c/a\u003e, and \u003ca href = \"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html\"\u003eJava BigInteger\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eThe usage of BigDecimal function multiply will be essential.\u003c/p\u003e\u003cp\u003eJava Math tutorial: (Simplified summary that is believed correct)\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003evd-decimal value, vstr-string, vi-integer value \r\nxBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\r\nimport java.math.*;  % simplifies statements\r\nxBD=BigDecimal(vstr);\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003exmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003eTo convert java to string of unlimited length can be achieved via java toString or Matlab char\r\n\u003c/pre\u003e\u003cpre class=\"language-matlab\"\u003exstr=toString(xBD)  or xstr=char(xBD) \r\n\u003c/pre\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e N  [1\u0026lt; N \u0026lt; 1000]\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e Y  (char variable of Y=N! or a BigDecimal variable)\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.nitrxgen.net/factorialcalc.php\"\u003eFactorial Calculator\u003c/a\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eRelated Challenges:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e1. Usage of java math\u003c/a\u003e\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003e2. nchoosek_large (full precision)\r\n2. Next Prime\r\n3. factor_large\r\n4. Factorial\r\n\u003c/pre\u003e","function_template":"function y = factorialJava(N)\r\n import java.math.*\r\n y = num2str(factorial(N));\r\nend","test_suite":"%%\r\ntic\r\nN=69;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000'))\r\ntoc\r\n%%\r\ntic\r\nN=randi(18)\r\ny = factorialJava(N);\r\nassert(strcmp(y,num2str(factorial(N))))\r\ntoc\r\n%%\r\ntic\r\nN=randi(18)\r\ny = factorialJava(N);\r\nassert(strcmp(y,num2str(factorial(N))))\r\ntoc\r\n%%\r\ntic\r\nN=1000;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'))\r\ntoc\r\n%%\r\ntic\r\nN=42;\r\ny = factorialJava(N);\r\nassert(strcmp(y,'1405006117752879898543142606244511569936384000000000'))\r\ntoc\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":47,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-08-30T01:59:14.000Z","updated_at":"2025-12-10T03:30:57.000Z","published_at":"2013-08-30T02:37:28.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis challenge is an application of java.math that allows unlimited precision calculations. The primary reference sites are\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Number.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava Math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigDecimal.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava BigDecimal\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:hyperlink w:docLocation=\\\"http://docs.oracle.com/javase/1.5.0/docs/api/java/math/BigInteger.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eJava BigInteger\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe usage of BigDecimal function multiply will be essential.\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\u003eJava Math tutorial: (Simplified summary that is believed correct)\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[vd-decimal value, vstr-string, vi-integer value \\nxBD=java.math.BigDecimal(vd);  % valid vd,vstr,vi creates xBD a BigDecimal variable\\nimport java.math.*;  % simplifies statements\\nxBD=BigDecimal(vstr);\\n\\nxmultiplyzBD=xBD.multiply(BigDecimal(z));  % multiply input requires BD type\\n\\nTo convert java to string of unlimited length can be achieved via java toString or Matlab char\\n\\nxstr=toString(xBD)  or xstr=char(xBD)]]\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e N [1\u0026lt; N \u0026lt; 1000]\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Y (char variable of Y=N! or a BigDecimal variable)\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:hyperlink w:docLocation=\\\"http://www.nitrxgen.net/factorialcalc.php\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eFactorial Calculator\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRelated Challenges:\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:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e1. Usage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2. nchoosek_large (full precision)\\n2. Next Prime\\n3. factor_large\\n4. Factorial]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":43968,"title":"Concatenated roots","description":"Which is the value of this infinte concatenated roots?\r\n\r\n\u003c\u003chttps://s27.postimg.org/i4hkin7xf/Code_Cogs_Eqn.gif\u003e\u003e\r\n\r\n\r\nNote: If image server is not available, the equation was:\r\n\r\n  x*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))\r\n\r\nTip: sum(1/n!)","description_html":"\u003cp\u003eWhich is the value of this infinte concatenated roots?\u003c/p\u003e\u003cimg src = \"https://s27.postimg.org/i4hkin7xf/Code_Cogs_Eqn.gif\"\u003e\u003cp\u003eNote: If image server is not available, the equation was:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003ex*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))\r\n\u003c/pre\u003e\u003cp\u003eTip: sum(1/n!)\u003c/p\u003e","function_template":"function y = infinteroots(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny = 1;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx = 10;\r\ny = 52.2735299670437;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=5;\r\ny=15.8864718332426;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=6;\r\ny=21.7311722059576;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=4;\r\ny=10.827015106694;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n\r\n%%\r\nx=3.2;\r\ny=7.37887287693964;\r\nassert(abs(infinteroots(x)-y)\u003c1e-11)\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":0,"created_by":12767,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":45,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-12-25T20:58:32.000Z","updated_at":"2026-04-03T02:58:43.000Z","published_at":"2016-12-25T20:59:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.gif\"}],\"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\u003eWhich is the value of this infinte concatenated roots?\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\u003eNote: If image server is not available, the equation was:\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[x*sqrt(x*cuberoot(x*fourthroot(x*fifthroot(x*sixthroot(...)))))]]\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\u003eTip: sum(1/n!)\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.gif\",\"contentType\":\"image/gif\",\"content\":\"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAC1QTFRFeHh4k5OT9vb2gYGBnJycwMDAt7e3ioqK0tLS7e3t29vb5OTkycnJ////b29vvCMpXwAAAKZJREFUeNq8k0sWwyAIAEXzh3D/41ZrahASklXZ6cxTEAz8EOGFsDvxTyECM0RHgJIwOEIt6VFYX19BAd0kKe8vTpn0vY9uheXoQjGYrICtf9mg3Qgo+kt12fE4sxQwaGFQXCdJmmshaV4EnKYxmgMO/pvJVJ92NrwNbSpnrJafUz1kYbRcjP121ii4EKDVIPnVx+n4hdBzKyhuBM21YLgSLOePAAMAW0UziCh1I3kAAAAASUVORK5CYII=\"}]}"},{"id":44068,"title":"The number of trailing zero digit of a factorial","description":"For given positive integer n, take factorial of that number. How many trailing zeros does it have?\r\n\r\nExample: factorial(11) = 39916800\r\n\r\nIts last zero-digit count is 2.\r\n\r\nOptional: Can you make an efficient algorithm for a very large n?","description_html":"\u003cp\u003eFor given positive integer n, take factorial of that number. How many trailing zeros does it have?\u003c/p\u003e\u003cp\u003eExample: factorial(11) = 39916800\u003c/p\u003e\u003cp\u003eIts last zero-digit count is 2.\u003c/p\u003e\u003cp\u003eOptional: Can you make an efficient algorithm for a very large n?\u003c/p\u003e","function_template":"function ct = powerTenInFactorial(n)\r\n  ct = 0;\r\nend","test_suite":"%%\r\nn = 1;\r\nct_correct = 0;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 9;\r\nct_correct = 1;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 27;\r\nct_correct = 6;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 626;\r\nct_correct = 156;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))\r\n\r\n%%\r\nn = 620;\r\nct_correct = 152;\r\nassert(isequal(powerTenInFactorial(n),ct_correct))","published":true,"deleted":false,"likes_count":3,"comments_count":3,"created_by":115733,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T00:24:29.000Z","updated_at":"2026-03-20T13:50:01.000Z","published_at":"2017-02-14T00:24:29.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\u003eFor given positive integer n, take factorial of that number. How many trailing zeros does it have?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(11) = 39916800\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\u003eIts last zero-digit count is 2.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOptional: Can you make an efficient algorithm for a very large n?\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":1532,"title":"SLP Calculation","description":"The SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\r\n\r\n*Input:* SLP_sequence (string)\r\n\r\n*Output:* SLP_value (string)\r\n\r\n*Example:*\r\n\r\n*Input:*\r\nSLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\r\n\r\nProduces:( Index 0 is 1 )\r\n\r\n2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\r\n\r\n*Output:*\r\n'6227020800' \r\n\r\nThe complexity to this Challenge is some solutions will exceed 2^64 and have eps\u003e1.\r\n\r\nPrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\r\n\r\n\u003chttp://www.azspcs.net/ Al's Contests\u003e\r\n\r\n\r\n\r\n\r\n ","description_html":"\u003cp\u003eThe SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e SLP_sequence (string)\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e SLP_value (string)\u003c/p\u003e\u003cp\u003e\u003cb\u003eExample:\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eInput:\u003c/b\u003e\r\nSLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\u003c/p\u003e\u003cp\u003eProduces:( Index 0 is 1 )\u003c/p\u003e\u003cp\u003e2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\u003c/p\u003e\u003cp\u003e\u003cb\u003eOutput:\u003c/b\u003e\r\n'6227020800'\u003c/p\u003e\u003cp\u003eThe complexity to this Challenge is some solutions will exceed 2^64 and have eps\u003e1.\u003c/p\u003e\u003cp\u003ePrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\u003c/p\u003e\u003cp\u003e\u003ca href = \"http://www.azspcs.net/\"\u003eAl's Contests\u003c/a\u003e\u003c/p\u003e","function_template":"function SLP = SLP_calc(SLP_str)\r\n  SLP = '0';\r\nend","test_suite":"SLP_str='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\r\n\r\nSLP = SLP_calc(SLP_str);\r\nSLP_exp='6227020800';\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n%%\r\nSLP_str='0+0,1*1,1+2,3*3,3*4,5-3,6-4,2+5,8+2,5*6,8*9,7*11,8*10,13+10,8+14,2*13,12*15,14*16,17*18,18*19';\r\n\r\nSLP = SLP_calc(SLP_str);\r\nSLP_exp='13763753091226345046315979581580902400000000';\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n%%\r\nSLP_str='0+0, 1+1, 2*2, 3-1, 3+4, 5+1, 5+4, 7+3, 8+6, 9+2, 4*4, 11+5, 8*4, 13+0, 14-12, 15+5, 8*5, 17-3, 10*9, 13*10, 15*15, 21-2, 22-19, 23-4, 21+16, 25+3, 16*16, 27-11, 28-2, 27-7, 30+2, 29+11, 32-19, 13*13, 34-2, 35-19, 27+29, 17*17, 38-2, 39-19, 39-10, 41-7, 38+2, 20*7, 44-27, 44+11, 44+35, 20*10, 48-47, 48+30, 50-40, 51-3, 50+27, 44*2, 54-35, 55-37, 55-13, 57-48, 55+9, 59-35, 60+11, 61-44, 62-53, 61+15, 60+13, 59+19, 66-62, 67-21, 52-68, 68+5, 54-24, 71-46, 59+24, 73+19, 74-26, 61+45, 66+61, 77-41, 78-63, 77-22, 80+28, 80+50, 82-13, 83+35, 84-60, 85-64, 81-86, 85+43, 88+39, 77+64, 35*36, 91+54, 92-44, 92+37, 93*91, 95*92, 93+48, 96*97, 39*40, 99-93, 99+54, 101-44, 102*99, 103*101, 102+48, 104*105, 22*23, 106*107, 107+54, 109-44, 108*110, 111*109, 110+48, 113-1, 112*113, 32*33, 115*116, 116+54, 118-114, 118-44, 117*120, 121*118, 120+48, 122*123, 124*94, 125*119, 126*30, 127*28, 98*46, 128*100, 57*31, 131*56, 130*60, 132*58, 129*61, 133*64, 134*62, 53*41, 136*51, 137*63, 135*52, 138*24, 139*71, 141*73, 144*72, 143*67, 146*68, 65*70, 147*80, 78*59, 145*90, 140*82, 142*83, 149*84, 86*37, 154*88, 148*89, 153*25, 151*26, 156*76, 75*42, 160*49, 162*87, 152*69, 163*79, 157*18, 81-52, 167+6, 164*15, 165*5, 30-15, 171-3, 150*172, 43+31, 66+59, 175+14, 176*174, 30-25, 166*178, 35-23, 180-17, 181*20, 82-33, 183*12, 60-30, 184*185, 71-40, 187*39, 188*7, 33-18, 44*190, 186*182, 192*168, 179*182, 193*177, 194*155, 169*168, 196*161, 195*173, 197*155, 198*158, 159*177, 202*161, 203*200, 170*173, 205*158, 206*200, 191*34, 208*208, 209*189, 210*210, 211*199, 212*212, 213*201, 214*214, 215*204, 216*216, 217*207';\r\n\r\ntic\r\nSLP = SLP_calc(SLP_str);\r\ntoc\r\nSLP_exp='402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426236131412508780208000261683151027341827977704784635868170164365024153691398281264810213092761244896359928705114964975419909342221566832572080821333186116811553615836546984046708975602900950537616475847728421889679646244945160765353408198901385442487984959953319101723355556602139450399736280750137837615307127761926849034352625200015888535147331611702103968175921510907788019393178114194545257223865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302955570299024324153181617210465832036786906117260158783520751516284225540265170483304226143974286933061690897968482590125458327168226458066526769958652682272807075781391858178889652208164348344825993266043367660176999612831860788386150279465955131156552036093988180612138558600301435694527224206344631797460594682573103790084024432438465657245014402821885252470935190620929023136493273497565513958720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901641921068884387121855646124960798722908519296819372388642614839657382291123125024186649353143970137428531926649875337218940694281434118520158014123344828015051399694290153483077644569099073152433278288269864602789864321139083506217095002597389863554277196742822248757586765752344220207573630569498825087968928162753848863396909959826280956121450994871701244516461260379029309120889086942028510640182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';\r\n\r\n\r\nassert(strcmp(SLP,SLP_exp),sprintf('%s\\n',SLP));\r\n\r\n\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":0,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-06-01T21:37:49.000Z","updated_at":"2013-06-01T22:56:28.000Z","published_at":"2013-06-01T22:56:28.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe SLP Calculation Challenge is to implement SLP sequences and output the result as a string. SLP, Straight Line Program, creates a value based upon two pointers of prior values and one of the operators [ + - * ]. The first value in the sequence is 1 and is assigned pointer 0 (zero based indexing).\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_sequence (string)\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_value (string)\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:b/\u003e\u003c/w:rPr\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=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e SLP_sequence='0+0,1+1,2*2,3+1,3*4,5-3,6+0,5*1,5*7,9+8,9*10';\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eProduces:( Index 0 is 1 )\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e2, 4, 16, 18, 288, 272, 273, 576, 78624, 79200, 6227020800\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:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e '6227020800'\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 complexity to this Challenge is some solutions will exceed 2^64 and have eps\u0026gt;1.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ePrior to viewing the link: What number is 2568 digits long and has 249 trailing zeros?\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:hyperlink w:docLocation=\\\"http://www.azspcs.net/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eAl's Contests\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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":60947,"title":"Euclid primes","description":"Historical context\r\nEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\r\n\r\n                                        \r\n \r\n\r\nProblem statement\r\n\r\nFor a given integer m, m \u003e= 2, list the Euclid prime numbers less or equal to m in a vector ep. Also compute their frequency / ratio f compare to all the primes in the same range. If , your function should return ep = [] and f = 0.\r\n \r\n\r\nExamples (check the tests for more) \r\n\r\nIf m = 10 then ep = [2, 3, 7] and f = 3/4 since 5 is the only prime number over the four ones less than 10 which is not an Euclid prime;\r\n \r\nIf m = 300 then ep = [2, 3, 7, 31, 211] and f = 5/62 since 2 and 3 are Euclid primes, 7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, and there are in total  62 prime numbers in the range [2; 300] ; \r\n \r\nIf m = 1 then ep = [] and f = 0;\r\n \r\nTip \r\n here.\r\n \r\n\r\nFobidden functions \r\nregexp\r\n \r\nstr2num\r\n \r\nassignin\r\n\r\n\r\nSee also\r\nProblem 60942. Euler primes\r\nPrime numbers properties II","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 1228.27px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 408px 614.133px; transform-origin: 408px 614.133px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 58.725px 8px; transform-origin: 58.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eHistorical context\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 31.5px; text-align: left; transform-origin: 385px 31.5px; white-space-collapse: preserve; 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: 364.45px 8px; transform-origin: 364.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 57.8px; border-block-end-color: rgb(60, 60, 60); border-block-start-color: rgb(60, 60, 60); border-bottom-color: rgb(60, 60, 60); border-inline-end-color: rgb(60, 60, 60); border-inline-start-color: rgb(60, 60, 60); border-left-color: rgb(60, 60, 60); border-right-color: rgb(60, 60, 60); border-top-color: rgb(60, 60, 60); caret-color: rgb(60, 60, 60); color: rgb(60, 60, 60); column-rule-color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 20px; margin-block-end: 5px; margin-block-start: 20px; margin-bottom: 5px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 20px; outline-color: rgb(60, 60, 60); perspective-origin: 385px 28.9px; text-align: left; text-decoration-color: rgb(60, 60, 60); text-emphasis-color: rgb(60, 60, 60); transform-origin: 385px 28.9px; white-space-collapse: preserve; margin-left: 4px; margin-top: 20px; margin-bottom: 5px; 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: 111px 11px; transform-origin: 111px 11px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                        \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-28px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"174.5\" height=\"58\" style=\"width: 174.5px; height: 58px;\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 63.0083px 8px; transform-origin: 63.0083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem statement\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 21px; text-align: left; transform-origin: 385px 21px; white-space-collapse: preserve; 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: 60.2917px 8px; transform-origin: 60.2917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor a given integer \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: 6.225px 8px; transform-origin: 6.225px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 22.1833px 8px; transform-origin: 22.1833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em \u0026gt;= 2\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: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 141.2px 8px; transform-origin: 141.2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003elist the Euclid prime numbers less or equal to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 5.83333px 8px; transform-origin: 5.83333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003em\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 36.1667px 8px; transform-origin: 36.1667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a vector \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 7.78333px 8px; transform-origin: 7.78333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eep\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: 96.4583px 8px; transform-origin: 96.4583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Also compute their frequency / ratio \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: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ef \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: 146.242px 8px; transform-origin: 146.242px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecompare to all the primes in the same range. If \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAkCAYAAAAeor16AAADl0lEQVRoQ+2YO6xNQRSGz+2JR0dBQUEiofBKRKIQEiEKiVcUOhQK8QgKuVEgFIpbeCQ6BTqNhIiCSDwar4SClooQev7v3lnJnDkz++y957jn5mR28mefMzNr9sy316xZs8c65coiMJZlXYw7BWCmExSABWAmgUzz4oEFYCaBTPPigVMA50unpR3SMsf0m+7PpCPSjxTnArDTWSM496UFCUh/VL5K+hKrLwA7nY8CM0e6LT12kHbpvl+a5f4DcXYB2EvgjIqOSjul10E1y/qD55ks5ethF6PigRbDDmiCC1PxKlL+VWXnY2Bc28O6X3O/7+m+Z9QAGji8g+WWXGoReEtUxiZRBZz+vzvbR7pvHRWAMXAPNLmzUjTYN/DKsOlfV3BT90N1APJm0GZppbRIeue5r8UNdq1P0nKvU1z8qkRd9I1lTATT6QRnzzMP3KuCu3UBrlbDcclyIjOmg8XSL2mL68yv26iy95G6TG6TL/SCtNt1xFL9Xx7njxWHuCORE0aXetUmAiwGzGCBZsGUeAPgh+5Ja3U/4X6zhJis1REz8MS217DA2XiNQdT7aFQFkPwID3wpvZXmSpaVX9bvk+7NTOi+SdonkbFbnYFPZvEVVIcNjqExhs/OAXo2Dxt7CmC4+5BobnOAsMXDWMLEQK7tkgXvF/q9rt+DE/BmAjgbGvPg8ufdM+wUQFv7GLD+w0Tzt8osSw/d23YtlvPFBKhYcZi40qZpHw0eV9mUVUROGUuwuwxTAG3t0/iKdMqz4uz4yv0Pd1q80o+NYXZfZ4Ikr+ckO5vyAo9JPTtgnc5atLHn94VH3ymAZOhMgMGvkPw4ZjEOezYQH5IfG0O7pnMZBshG8FIAfQ+LJY8W49hc1gdUrC567GlK0LWfLpB14BFmujbFmAdWeZi/ucTik8U/O3jf0ANJvNvsxCFv4jJLmQ2Ka5BL2z5pHVS/qbSLuT+XNvjziQG09IUdtqux/vuH66X67x+b/PhHHccedu+e409LTzQznsMHgEGBBN4TicT8VmJs81Q+Lj0N5xMC9D0s3Dzo2zaXGFw8jdMCF2/xp1T5NXcGgDR4llFUDYm8lu+EXR4aAvQ9LNwg6NzSl1iMs9SHB3FquSQNYun244xHHpe4N/0a80Y2deAxhvDcPzmuUfkeyFwsCe/5ZtfvDeTUjxLAHA6tbQvA1uimDAvAAjCTQKZ58cACMJNApnnxwAIwk0Cm+T8Ycs0l+MXSMAAAAABJRU5ErkJggg==\" width=\"40\" height=\"18\" style=\"width: 40px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 82.8583px 8px; transform-origin: 82.8583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eyour function should 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: 24.6917px 8px; transform-origin: 24.6917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e ep = [] \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: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\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: 18.0833px 8px; transform-origin: 18.0833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003e f = 0.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 34.6167px 8px; transform-origin: 34.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExamples \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: 79.3333px 8px; transform-origin: 79.3333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e(check the tests for more)\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.8667px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4333px; transform-origin: 392px 20.4333px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 20.4333px; text-align: left; transform-origin: 364px 20.4333px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 5.825px 8px; transform-origin: 5.825px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.9833px 8px; transform-origin: 21.9833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 10\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 13.6167px 8px; transform-origin: 13.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 40.25px 8px; transform-origin: 40.25px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = [2, 3, 7]\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.975px 8px; transform-origin: 21.975px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 3/4 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 16.3417px 8px; transform-origin: 16.3417px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003esince\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 220.933px 8px; transform-origin: 220.933px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e5 is the only prime number over the four ones less than 10 which is not an Euclid prime\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e;\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 40.8667px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 20.4333px; transform-origin: 392px 20.4333px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 20.4333px; text-align: left; transform-origin: 364px 20.4333px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 5.825px 8px; transform-origin: 5.825px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.875px 8px; transform-origin: 25.875px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 300\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 13.6167px 8px; transform-origin: 13.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 66.9583px 8px; transform-origin: 66.9583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = [2, 3, 7, 31, 211]\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 11.675px 8px; transform-origin: 11.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.8667px 8px; transform-origin: 25.8667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 5/62 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 18.2833px 8px; transform-origin: 18.2833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003esince \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.89167px 8px; transform-origin: 3.89167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.89167px 8px; transform-origin: 3.89167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e3\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 59.9px 8px; transform-origin: 59.9px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are Euclid primes, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 100.45px 8px; transform-origin: 100.45px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 41.625px 8px; transform-origin: 41.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand there are\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.6167px 8px; transform-origin: 20.6167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ein total\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 9.725px 8px; transform-origin: 9.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e62 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 85.5833px 8px; transform-origin: 85.5833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eprime numbers in the range\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 31.1px 8px; transform-origin: 31.1px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e [2; 300] ; \u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 3.88333px 8px; transform-origin: 3.88333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.0333px 8px; transform-origin: 20.0333px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003em = 1 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ethen \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 20.8083px 8px; transform-origin: 20.8083px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003eep = []\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 14.2px 8px; transform-origin: 14.2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; font-weight: 700; \"\u003ef = 0\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e;\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 10.3667px 8px; transform-origin: 10.3667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTip\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 11px; text-align: left; transform-origin: 385px 11px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAoCAYAAAAFZi8EAAAEYklEQVRoQ+2aS6hNURjH750rYcSAwoCSR54lAwqljOQ5kCKPgYFCSAYGiIGBgUfMUZSUYiAZyGOAJAZMDBgRMef/q/3Vat1vn73OPnvvuzv2qn/3ZK/n91/fcxkd6VorJDDail10mxjpiGjJJeiI6IhoiQRaso1OIzoiWiKBlmyj04hiItapy2nhnnC2uPsI/XcLq4Spwh/hmXBSeJU3ftiJmKyD/0gQntfFCFiefTyRQMR+9bksfBO+CNMzMmz+bfpxy1tsGIlA+MeEA8KZBOHFcrHxM/RhvjAnkYit6ndRuBStCaF3hAkZQdOGnYiQAA6NSTgiXOlTI5iHhiYhxIeJRHxQv52CZ36OZ5eCqZZ5fYZBIzwCHuiwmJLPfZIQd08lgn6LI00I57J5uBxrho2IOgkwIaYSUcQ3Zuum8FGY63VO0YhZGsihTeX4vSSb7FHRDmr4zn6OCjsEM0FVaUBZjSg6Jg56g7BHSHbWHHSfsFEwR4XAtwtEBFuiVXGK/drhoo1739kXztfWR83rIsDWr0IjiKROCYfySGCxXhph6kS/2wJxMfE0vycJb7IbyXfXAZWRtjNmPAiogggsB3nH3mwy5MaldcPpXkRYTMw8xMW7hNAUXQ0WSYmx++VlPAkYhIh43+G50eKFwpggohcR2DIzA14icl7fCQ9p1wTMWZVtqSYjJreEikNgGvEPTbVBTRNn2CygCfgzmuuwexHxOxvMwJVCrFIhEXVohAmbwxwWQt/QFCGDEmFnQEt6mvI8Ijj8y2yWCzm3kESHjdLWC3VHUJ6pqpuQqohARqGpH3Nx84gozAQ1sWkM/mOeozF1mY8mCamSCJz390woyUQ81wBsc55Z6sluXQxE83pOsWdkUmJfVRLB8n/zLEieRtiAPCdcRFSJM5ceEmfYTFQVIVUSYRrhWhCPiHBxL1oys5VbNykt0sEGeoTklp0Tl6qSCLMirs/1iAjzgymR7TcnDgmbHAfNYqsFSsgTBeoqRFeEbzQ3hk4USmq3Qcvg4TqpRFio/UuDvQcgvj8W3gsrvIN4RFDOtdJGSASZ9vVssoP6m/faZGEtzEPGa2GRQIbZVDmEs1pNbJBoLjVXCoMb1sY03sgETlUWed0X6JeUWYeeHVv2TngrLBB+CncFt2gVsGxhLQJ4IpDmW3LYRJjrXbh+/w0CwlqbjX+hH0+Fc5FAkRuhNIU9S9zslY4nVojpWZKPNSKMhsraVwtrIQLB075mf5sMc/sV/rj2j4kIyxqxf0jZqPcAQpj5SQiJSZkrNAsp/b0+dWb8ZffkjouJ4ObyPw9yHzAKVjfhoYr4FJppWb9C+W+JCMsaZYt4ll+EZXHTstkiZa3QxNtFpbe1iclCjQjD1rLRDYlgnLDgMwBvGTOFJqunTciwkjUgwp4eiYzCRnQAOakP8PaQFGuThcNltaySg7Z9kpQ367afYSj21xHREho7IjoiWiKBlmyj04iOiJZIoCXb6DSiJUT8A+FRFziYx8AJAAAAAElFTkSuQmCC\" width=\"49\" height=\"20\" style=\"width: 49px; height: 20px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 17.8917px 8px; transform-origin: 17.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e here.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 64.9167px 8px; transform-origin: 64.9167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eFobidden functions\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 21.4px 8px; transform-origin: 21.4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eregexp\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.2833px 8px; transform-origin: 25.2833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003estr2num\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cul style=\"block-size: 20.4333px; counter-reset: list-item 0; font-family: Helvetica, Arial, sans-serif; list-style-type: square; margin-block-end: 20px; margin-block-start: 10px; margin-bottom: 20px; margin-top: 10px; perspective-origin: 392px 10.2167px; transform-origin: 392px 10.2167px; margin-top: 10px; margin-bottom: 20px; \"\u003e\u003cli style=\"counter-reset: none; display: list-item; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-start: 56px; margin-left: 56px; margin-top: 0px; perspective-origin: 364px 10.2167px; text-align: left; transform-origin: 364px 10.2167px; white-space-collapse: preserve; margin-left: 56px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-inline-start: 0px; margin-left: 0px; perspective-origin: 25.6833px 8px; transform-origin: 25.6833px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003eassignin\u003c/span\u003e\u003c/span\u003e\u003c/li\u003e\u003c/ul\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 8px; transform-origin: 0px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; 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: 28.3917px 8px; transform-origin: 28.3917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eSee also\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://fr.mathworks.com/matlabcentral/cody/problems/60942-euler-primes\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eProblem 60942. Euler primes\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 385px 10.5px; text-align: left; transform-origin: 385px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://fr.mathworks.com/matlabcentral/cody/groups/95759\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003ePrime numbers properties II\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [ep,f] = euclid_primes(n)\r\n  ep = n;\r\n  f = 1;\r\nend","test_suite":"%%\r\nm = 5;\r\nep_correct = [2,3];\r\nf_correct = 2/3;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 10;\r\nep_correct = [2,3,7];\r\nf_correct = 3/4;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 100;\r\nep_correct = [2,3,7,31];\r\nf_correct = 4/25;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%%\r\nm = 300;\r\nep_correct = [2,3,7,31,211];\r\nf_correct = 5/62;\r\n[ep,f] = euclid_primes(m);\r\nassert(isequal([ep,f],[ep_correct,f_correct]));\r\n\r\n%% Forbidden functions\r\nfiletext = fileread('euclid_primes.m');\r\nillegal = contains(filetext, 'regexp') || contains(filetext, 'str2num') || contains(filetext, 'assignin') || contains(filetext, 'echo')\r\nassert(~illegal);","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":149128,"edited_by":149128,"edited_at":"2025-07-26T06:54:43.000Z","deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":"2025-07-09T05:57:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2025-06-27T12:58:55.000Z","updated_at":"2026-03-16T20:27:53.000Z","published_at":"2025-06-27T13:49:30.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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eHistorical context\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\u003eEuclid, the greek mathematician proved at his time that the prime numbers set is an infinite. By the way he built some numbers, the Euclid numbers, an infinity of which are thought to be prime (it is still a conjecture). These numbers write themselves as e(n) = 1 + the nth primorial : (notre that 2 and 3 are the two first Euclid primes)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"heading\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                        \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ee(n) = 1 + \\\\prod_{p_n \\\\in \\\\mathbb{P}} p_n\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\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem statement\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em \u0026gt;= 2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003elist the Euclid prime numbers less or equal to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e in a vector \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Also compute their frequency / ratio \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ecompare to all the primes in the same range. If \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em \u0026lt; 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eyour function should return\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e ep = [] \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e f = 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\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\u003eExamples \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e(check the tests for more)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 10\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = [2, 3, 7]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 3/4 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003esince\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e5 is the only prime number over the four ones less than 10 which is not an Euclid prime\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 300\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = [2, 3, 7, 31, 211]\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 5/62 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003esince \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e3\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e are Euclid primes, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e7 = 2x3+1, 31 = 2x3x5+1, 211 = 2x3x5x7+1, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand there are\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ein total\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\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 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e62 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eprime numbers in the range\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e [2; 300] ; \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003em = 1 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003ethen \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eep = []\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e;\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\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\u003eTip\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:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_n \\\\leq 13\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e here.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\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\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:i/\u003e\u003c/w:rPr\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\u003eFobidden functions\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\u003eregexp\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003estr2num\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eassignin\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:i/\u003e\u003c/w:rPr\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:i/\u003e\u003c/w:rPr\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\u003eSee also\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:hyperlink w:docLocation=\\\"https://fr.mathworks.com/matlabcentral/cody/problems/60942-euler-primes\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eProblem 60942. Euler primes\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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:hyperlink w:docLocation=\\\"https://fr.mathworks.com/matlabcentral/cody/groups/95759\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePrime numbers properties II\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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":51560,"title":"Convert a number from factorial notation to base 10","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 197.083px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 98.5417px; transform-origin: 407px 98.5417px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 336.708px 7.91667px; transform-origin: 336.708px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eJust as numbers can be written in different bases, they can also be written in factorial notation. For example, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG8AAAAoCAYAAADwmKS0AAADhElEQVR4nO1af5HzIBB9HuKgBmIgCqogDuqgDmohGiqhHmKhGmqh9wd5E5oDdpdA7rv7eDPMzfSAhX3L/oAADQ0NDQ0NDQ1/DD2A208v4hfjDODyE4J7AA8AndBvAHBd2lnRP4XzMo8FHewK6pcx1+XvyTjeIvcKYMqYPxs9gCfSRIwAXgDem/aCI8GKwRuvQQenmJdhDA2Sa6ThveE8jMbwcuROOMiDdXDEpQgY4TY8wSlggFucT2afIVNL3mUjSzOm98ZsTxoJlDxNjlxC0mkRTHCbiOEEt+gQOT3WjVks7Q69Qi5wxmIlfBbWxblirjBXLjEs/feElSROcIsaEn0m4f9U0l0pk9Z8g10hD+UYeorU3nz5UgzUyt1iRsX4Ny0CUkgRB6wb0yQedGVMVGqRN3v9YpZ/xkrwWEjuFjSi4qevg17pKTAmaBY4Y3VjtcijN3kjbZh+P8lr5JJHHRcvH2gV0slK4bLMoQnMNzhlkuRa5DGL1ZCijbu55AFuz6mcIgsT3IJyQeI0J5cK9WNLLfI4r4W8UEZqlRvDXj0HwfrHihHrZnz3FCsVukXO1nUcQZ6ULGhLnT3kcT2WUkoE6xwLxmUxdIE+gU+ErfeO8Ak4gjwp1vhGWIs8eqg94ekbcsjbYsBaA4VqKpYFoWTmCPKk2tNfey3yGDKKJi0lyAM+C/V58/sLcYurRR4t/V+JeSQvlhtwblM5UYo8YL0x8Tc3L+0aab5C/N9T+I3ZpkQe12C6SitJHk/RM7AoSyuhRNZW0v60/bRyY5BKsizyeDJKgORNm99SzU8W+Js2wbDcsMTgn9ASJz4G6iZGHuc2PVPR1ZUA57JkVDWvxyx3m5p4s4c8ypHmNsU8Bnap/jhhvV0PgQmL9QK2JnmA/lVBc8mwh7wH0h5ugvyW+g2825MuZVnIvgJ9mVHercKRR57GHW7XFnrOouFqvhywyvXBuJoqWa7IDF8z9JeyfjFOa5qR/+BoIe/k9ffjlKR4fiHwhDM8/yVdY3C5cgm+XKTiGeO/GYwNUrDkEw7boBgjgYqUkhT/m5lQ0xiPP8cI3dpLyL1DJoZfJWSBtVhDWTAsSTnFLvKYcOw9SQ2feEBHSoedl9YjytV8DS4UHKrPw783/KPo8fnoLIGZ7G7PN6IRuAc97GXTAy4bLvLeV+1Ttf8ALW9oaGhoaGhoaGhoaKiNL14i1+Yd1u66AAAAAElFTkSuQmCC\" alt=\"(34101)_!\" style=\"width: 55.5px; height: 20px;\" width=\"55.5\" height=\"20\"\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: 8.94167px 7.91667px; transform-origin: 8.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 463 in base 10 because \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"3*5! + 4*4! + 1*3! + 0*2! + 1*1! = 360 + 96+6+1 = 463\" style=\"width: 388.5px; height: 18px;\" width=\"388.5\" height=\"18\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 281.2px 7.91667px; transform-origin: 281.2px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf the first place after the decimal point is the 1/2! place, then we would have, for example,  \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 34.8333px; 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 17.4167px; text-align: left; transform-origin: 384px 17.4167px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"vertical-align:-15px\"\u003e\u003cimg src=\"data:image/png;base64,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\" alt=\"(0.123)_!= 1/2! + 2/3! + 3/4! = 23/24\" style=\"width: 175.5px; height: 35px;\" width=\"175.5\" height=\"35\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 383.367px 7.91667px; transform-origin: 383.367px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to convert a number from factorial notation to decimal notation, or base 10. For digits greater than 9, use A, B, C, etc.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = fact2dec(s)\r\n  y = f(s);\r\nend","test_suite":"%%\r\ns = '34101';\r\ny_correct = 463;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '0.123';\r\ny_correct = 23/24;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '113110';\r\ny_correct = 920;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '232000';\r\ny_correct = 1848;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '0.0022';\r\ny_correct = 0.1;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '0.012';\r\ny_correct = 0.25;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '3000001006';\r\ny_correct = 10886430;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = 'A2985943012000';\r\ny_correct = 888888888888;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = 'CB3E905A875000220';\r\ny_correct = flintmax/2;\r\nassert(isequal(fact2dec(s),y_correct))\r\n\r\n%%\r\ns = '54321.012345';\r\ny_correct = 719+473/1680;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '11.003156501478';\r\ny_correct = 3.141592653584841;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)\r\n\r\n%%\r\ns = '10.111111111111';\r\ny_correct = 2.718281828446759;\r\nassert(abs(fact2dec(s)-y_correct)\u003c3*eps)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-25T04:41:57.000Z","updated_at":"2021-04-25T04:47:47.000Z","published_at":"2021-04-25T04:46:48.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eJust as numbers can be written in different bases, they can also be written in factorial notation. For example, \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=\\\"(34101)_!\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(34101)_!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 463 in base 10 because \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=\\\"3*5! + 4*4! + 1*3! + 0*2! + 1*1! = 360 + 96+6+1 = 463\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e3\\\\cdot5! + 4\\\\cdot4! + 1\\\\cdot3! + 0\\\\cdot2! + 1\\\\cdot1! = 360 + 96+6+1 = 463\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\u003eIf the first place after the decimal point is the 1/2! place, then we would have, for example,  \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"(0.123)_!= 1/2! + 2/3! + 3/4! = 23/24\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e(0.123)_! = \\\\frac{1}{2!} + \\\\frac{2}{3!} + \\\\frac{3}{4!} = \\\\frac{23}{24}\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\u003eWrite a function to convert a number from factorial notation to decimal notation, or base 10. For digits greater than 9, use A, B, C, etc.\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":51950,"title":"Find the smallest integer m such that n divides m!","description":"Write a function that takes an integer  and finds the smallest integer  whose factorial is divisible by . For example, if , then the smallest factorial that is a multiple of  is 5! = 120; therefore, . ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 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: 115.775px 7.79167px; transform-origin: 115.775px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.9083px 7.79167px; transform-origin: 94.9083px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and finds the smallest integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003em\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: 93.75px 7.79167px; transform-origin: 93.75px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e whose factorial is divisible by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 52.1083px 7.79167px; transform-origin: 52.1083px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. For example, if \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAkCAYAAAANdf2OAAAB/ElEQVRoge2Z/Y2DMAzF3w5skAW6ABMwARt0AzboCszQEdiBFZiBFXp/YCtWLqR2Sz9y558UVWpMGl6M80gBx3Ecx3Ecx05LTUsDoAMwUOteMam/QAtgAnADcFZeMwBYAYx0fQdgpuZCEwFRWG4agUeKHZPvG2yi3+AiI2ATkz+1Ancitsn099S37PT/S1roBV4obtrpb8RYl6MmWDtagWX2DoW4GTGLHegFHkVcqcbKuJNlIicaWA7eYKs7NdsUrcByQywJNyjHAygg3Wl76usQd03NyqYERA/5TLN41xxageV9agVOncYuXFdWxKxdED3gI4Vd3tgzTetdNfPQChwKcdKVXLWT4N3zShOSNkRO0JJNR2Wwqc5lsAq8GsZTCRySCXDmMvxIcHbXxiMClzK4h1FgecGSmcTVMtgXohVY7jeH1mAWcM9gH1ULP8VHXQQQV27NDCwnV3psctTmIi4irvSb2rhfP55Ldx7skbeW2lxEp4zjTFftSXI1co8F2ze2Z5Ysrs1FAC84iyi9V0t30dLgE56/4XdjEZizeM9J9DBkr1yN3OGGNNQB22L0mbhvR/voM6XzYM5w1RuttGe5Yi37a3UR/E8E38MM3abJpTP9R2OF4bigRaxze5yp3+ogvoF7tf3eIx4QD7qOcDOO4ziO4ziO4zh2fgDfYDRyWq4WoQAAAABJRU5ErkJggg==\" alt=\"n = 10\" style=\"width: 44px; height: 18px;\" width=\"44\" height=\"18\"\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: 145.458px 7.79167px; transform-origin: 145.458px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then the smallest factorial that is a multiple of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 70.2px 7.79167px; transform-origin: 70.2px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 5! = 120; therefore, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAkCAYAAAAeor16AAAB50lEQVRoge2YXbGDMBCFjwccYCAGUFAFdYADHNRCNVQCHmoBDbFw70OywyE3UJJLJ8nMfjN5aM8Ay2b/CKAoiqIoytfpSxvQAtPBmgva1QR3AD8H617OtDZY/Joj6wmgK2da/Uj0qZMyeQN4lTaiVQa46JvhmsVQ1pz2mPG3YVgAD1wwuhgAN2w7UOd/T14LEa2Fnezh0nev81rE3/GQAc77fKPRawauU7FmSGNjLGlnn3s0h51duVHTw21+LCKzgoGdaLA67+aXaDfSpoh2lilieM5K2bQ9BmwDZUFGh5adWLA6SHaCh87+g5Zi9BUReNUo0mGbUcmpbP2FL38jDmOJzjeco7lGPrE6vnUMVgc+ci+U9s7IzixwDmMk9JMeWDHyrklz4ojVge9A60iz2KZMj3+EfKVIbU5yIHeisChzjRsPtNRaVLoL7yEOPJ1RHGGxIxypcfZAyzn6qakLM/JOpzOKoyh2hCM1Lqx9rEnNbLkLw9/LInGM4QgLL+LmEg6XfaDJYF3zCcenrybJiqSzQB5f9m4Ycy4P0AYujWv+nJNDBFnhmZ800rDOH8IRFvO6tPRYjeMaZlG384Tws836/xa4d02up1yHYogWc07ntRF1p22IwbaGyqepoiiKoiiKoijf4heEDAgKEaRAeAAAAABJRU5ErkJggg==\" alt=\"m = 5\" style=\"width: 40px; height: 18px;\" width=\"40\" height=\"18\"\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: 3.88333px 7.79167px; transform-origin: 3.88333px 7.79167px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function m = Kempner(n)\r\n  m = f(n);\r\nend","test_suite":"%%\r\nn = 1;\r\nm_correct = 1;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 2;\r\nm_correct = 2;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 3;\r\nm_correct = 3;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 10;\r\nm_correct = 5;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 16;\r\nm_correct = 6;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 53;\r\nm_correct = 53;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 180;\r\nm_correct = 6;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 223;\r\nm_correct = 223;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 254;\r\nm_correct = 127;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 268;\r\nm_correct = 67;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 288;\r\nm_correct = 8;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 788;\r\nm_correct = 197;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 1024;\r\nm_correct = 12;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 3333;\r\nm_correct = 101;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 7856;\r\nm_correct = 491;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 8863;\r\nm_correct = 8863;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 10000;\r\nm_correct = 20;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 95256;\r\nm_correct = 14;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 1234342;\r\nm_correct = 811;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%%\r\nn = 169831728;\r\nm_correct = 38;\r\nassert(isequal(Kempner(n),m_correct))\r\n\r\n%% anti-lookup\r\nn = 1535238;\r\nmmm_correct = 67;\r\nassert(isequal(Kempner(Kempner(Kempner(n))),mmm_correct))\r\n\r\n%%\r\np = primes(30);\r\nr = sort(randi(10,1,2));\r\nn = prod(p(r(1):r(2)));\r\nm_correct = p(r(2));\r\nassert(isequal(Kempner(n),m_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":6,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":"2021-06-03T15:10:34.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-06-03T13:52:10.000Z","updated_at":"2026-01-14T14:14:40.000Z","published_at":"2021-06-03T13:56:53.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eWrite a function that takes an integer \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and finds the smallest integer \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=\\\"m\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e whose factorial is divisible by \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. For example, if \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n = 10\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then the smallest factorial that is a multiple of \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=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 5! = 120; therefore, \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=\\\"m = 5\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003em = 5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \u003c/w:t\u003e\u003c/w:r\u003e\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":55345,"title":"Easy Sequences 68: Factorial Rectangles","description":"I'll celebrate my comeback to Cody with this one easy problem...\r\n----------------\r\nThe rectangle below is special:\r\n                                                \r\nIts area is  which equal to . We call such rectangle a factorial rectangle, which is an integer-sided rectangle with an area equal to a factorial number. \r\nIn this problem, we want to know how many are these factorial rectangles.\r\nFor a given integer , we define the function  as the number of factorial rectangles with area  The factorial rectangles with area  are as follows: , with rotations not allowed. Hence, \r\nWrite a function that will calculate , defined as follows:\r\n                                                \r\nFor , we are given:\r\n                  ","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 556px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 278px; transform-origin: 407px 278px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 200.5px 8px; transform-origin: 200.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eI'll celebrate my comeback to Cody with this one easy problem...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 40px 8px; transform-origin: 40px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e----------------\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97px 8px; transform-origin: 97px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe rectangle below is special:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 142px; 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 71px; text-align: left; transform-origin: 384px 71px; 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: 96px 8px; transform-origin: 96px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                                \u003c/span\u003e\u003c/span\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: middle;width: 182px;height: 142px\" src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4REARXhpZgAATU0AKgAAAAgABAE7AAIAAAASAAAISodpAAQAAAABAAAIXJydAAEAAAAkAAAQ1OocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJhbW9uIFZpbGxhbWFuZ2NhAAAFkAMAAgAAABQAABCqkAQAAgAAABQAABC+kpEAAgAAAAM4MgAAkpIAAgAAAAM4MgAA6hwABwAACAwAAAieAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAyMjowODoyNCAxMTo1NzozOAAyMDIyOjA4OjI0IDExOjU3OjM4AAAAUgBhAG0AbwBuACAAVgBpAGwAbABhAG0AYQBuAGcAYwBhAAAA/+ELJGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMjItMDgtMjRUMTE6NTc6MzguODIwPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPlJhbW9uIFZpbGxhbWFuZ2NhPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg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ADCiiitjzAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAidrP/AF4T/wDotq1ayvFX/Inaz/14T/8Aotq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/AG2/9HvXZ1xnwj/5JZpH/bb/ANHvXZ1/QuH/AIMPRfkcObf8jGv/AI5f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/ALCR/wDRs1eu15F4E/5Hrxz/ANhI/wDo2avkeLv+RbL5fmj6HKv90xX+GP8A6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/wCi2rVrK8Vf8idrP/XhP/6LatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/22/wDR712dcZ8I/wDklmkf9tv/AEe9dnX9C4f+DD0X5HDm3/Ixr/45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/wBGzV67XkXgT/kevHP/AGEj/wCjZq+R4u/5Fsvl+aPocq/3TFf4Y/8ApaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//otq1ayvFX/Inaz/ANeE/wD6LatqH8aPqvzOjDfx4eq/Mf8ACP8A5JZpH/bb/wBHvXZ1xnwj/wCSWaR/22/9HvXZ1/QuH/gw9F+Rw5t/yMa/+OX/AKUwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/Rs1eu15F4E/5Hrxz/2Ej/6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP8A14T/APotq1ayvFX/ACJ2s/8AXhP/AOi2rah/Gj6r8zow38eHqvzH/CP/AJJZpH/bb/0e9dnXGfCP/klmkf8Abb/0e9dnX9C4f+DD0X5HDm3/ACMa/wDjl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/ACPXjn/sJH/0bNXrteReBP8AkevHP/YSP/o2avkeLv8AkWy+X5o+hyr/AHTFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/ACJ2s/8AXhP/AOi2rVrK8Vf8idrP/XhP/wCi2rah/Gj6r8zow38eHqvzH/CP/klmkf8Abb/0e9dnXGfCP/klmkf9tv8A0e9dnX9C4f8Agw9F+Rw5t/yMa/8Ajl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf8AsJH/ANGzV67XkXgT/kevHP8A2Ej/AOjZq+R4u/5Fsvl+aPocq/3TFf4Y/wDpaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//AKLatWsrxV/yJ2s/9eE//otq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/bb/ANHvXZ1xnwj/AOSWaR/22/8AR712df0Lh/4MPRfkcObf8jGv/jl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/AEbNXrteReBP+R68c/8AYSP/AKNmr5Hi7/kWy+X5o+hyr/dMV/hj/wClo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/+i2rVrK8Vf8idrP8A14T/APotq2ofxo+q/M6MN/Hh6r8x/wAI/wDklmkf9tv/AEe9dnXGfCP/AJJZpH/bb/0e9dnX9C4f+DD0X5HDm3/Ixr/45f8ApTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/9GzV67XkXgT/kevHP/YSP/o2avkeLv+RbL5fmj6HKv90xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/wDXhP8A+i2rVrK8Vf8AInaz/wBeE/8A6LatqH8aPqvzOjDfx4eq/Mf8I/8Aklmkf9tv/R712dcZ8I/+SWaR/wBtv/R712df0Lh/4MPRfkcObf8AIxr/AOOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8AI9eOf+wkf/Rs1eu15F4E/wCR68c/9hI/+jZq+R4u/wCRbL5fmj6HKv8AdMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8AInaz/wBeE/8A6LatWsrxV/yJ2s/9eE//AKLatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/wBtv/R712dcZ8I/+SWaR/22/wDR712df0Lh/wCDD0X5HDm3/Ixr/wCOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/wCwkf8A0bNXrteReBP+R68c/wDYSP8A6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/AOlo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/8Aotq1ayvFX/Inaz/14T/+i2rah/Gj6r8zow38eHqvzH/CP/klmkf9tv8A0e9dnXGfCP8A5JZpH/bb/wBHvXZ1/QuH/gw9F+Rw5t/yMa/+OX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/8ARs1eu15F4E/5Hrxz/wBhI/8Ao2avkeLv+RbL5fmj6HKv90xX+GP/AKWjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/6LatWsrxV/yJ2s/wDXhP8A+i2rah/Gj6r8zow38eHqvzH/AAj/AOSWaR/22/8AR712dcZ8I/8Aklmkf9tv/R712df0Lh/4MPRfkcObf8jGv/jl/wClMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAi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KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqpqeqWWjWEl7qlzHa20f3pJDgfT3PsKt1n61oen+IbAWWrwfaLcSLJ5e4qCV6ZxUy5re7ua0fZ+0Xtb8vW29vI4C2+NllqHiu00nTtJllt7q5jt1upJth+Zgu7ZtPHPqPwr0e/vrbTNPnvb6VYbe3QvI7dgP8APSvCPE9rb2Xx+0y3s4I4IY72xCRxKFVRlOgFek/F2OeT4Z6j9nDHa0TSBT/CHGfw6Vw0q1TlqOerjc+rx+W4N18HDDpwjVUb63erXfr6WRgyfGtpvPuNI8KX17p9uf3t1vKhB6nCMB+JrtPB/jLTvGelvd6cHjeJgk0En3ozjjp1B7GuL+F/irwzYfDeOz1PUbO1lhaUXEU8gDSbmJBCnlvlIHGelc/8CZNvi3V4oWPkNa7gPXEgAP5E/nUU68+eF5X5vwOjG5VhXh8U6dF03Ras22+ZXt1089O6Ot1T4vJFJcHw94d1DWLa1JE12oaOJcdedrcfXFangj4l6b40mktUgeyvo13+RIwYOvcq3GcZ6YFdHez6d4d0K4uZUhtbG1jZ2RECqB6ADuT27k14d8FNMnvfHUupxRmO1s4XLkdMvwq/lk/hVzqVadaEXK9+ljnw+Fy/F5diK0aTh7NK0uZu77Pp22XU+gaKKK9A+PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvb60062NzqF1DaQKQDLPIEUE9OTxU9UNa0PTvEOmtYaxbC5tmYMU3svI6HKkGlK9vd3NKXs+de1vy9bb28jwrxXqmn3Hx2stQt762lslvLNmuUmVowFKbiWBxgYOfSvcJde0ObRLq/OoWd1p0QK3EsUizRgY5B257Ece9YH/Co/BH/QE/8m5//i62NN8HaBpOj3OlWOmoljdMWmhd2kDnAHJYk9hXFRpVqcpN2116n0uZZhl2LpUIU+e9NKOqirpbvd69jhdStvhHp1pJqyRaddygF0toLpnLt2Xyw2Bz6jFVPgdo00a6p4iuoxDFcfuYeNoIB3OR7A7R+B9K7OL4WeC4bgTJoURYHOHlkdf++SxH6V1K28KWoto4kSAJsEaLhQuMYAHQUQw8vaKcklbsGJzil9UnhqMqk+e13N7JdErv5ngfjXxi/wAQvE0Oh6ffwWGixyf6+6lESSEdZGJI4HO1e/1PHqvhCTwjoOmW+iaDrWm3EhPIS7jaSeQ9WwDyePyFV/8AhUngj/oCf+Tc3/xdWdO+GnhLSdSgv9P0nyrm3bfG/wBplbafXBYg1NKjXjNzlZt+u3lobY7Mssr4WOFo+0hCK0Vo2cu8nzXOqooor0D5AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z\" data-image-state=\"image-loaded\" width=\"182\" height=\"142\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 32.5px 8px; transform-origin: 32.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIts area is \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAAAkCAYAAAAAa43JAAAFWElEQVRoQ+2ZTatWVRTHvZ9AzUZCcCkn4aBAIwgTFLI0cFJgWuNeHDjqBXMkpGZKgwZWszuzICdCkQo1qAalhkLQwGoQ4ajS/AL6/8FZsu4++/V5zuXc4BxYPM85Z5+91v6v970X1kzXKAgsjMJ1YrpmAn4kI5iAn4AfCYGR2E4W/z8CfoNkfVT0q+ifCrkf1piN3bjvK8bPM8RkY45WXl7O2rV5Wbd1Nzf1+0dpEbNY/GVNulX0uOh6hsFLevee6IroZ9GiiGeHRV9UKq0kv73foz9HO7n8N8d182GBF99+JHokYHZB9wcLIKKsN7t1vd99/6p+fxO9k8OnFfi3NdnJjkEO+DMa84aIhR9xC3pN/z8RsaiXBwIfZZ7t5vxGv2tF+xyQ8HouANVuj+nPu4l3PL4lwshiFvyYnn8r+lf0ggMZr/ux4/+8fr+Kzd8CPK70nZskBbyB+7vGPhkB92s9e1YUKiWz/uQrZFoSHYos0JTPx0+LwtBj6/lY70534ALaMyI81TwAj30ikMCD+7refRq891g9GMGguo6H0Q3RRRHWxBUD3satzwBrFpqao0UBKDHl0oQBlM8VA4eQCRFOwsuvIyaneX7OIwg3KO9zEWtedtVa/Gf6ap0ISzCrjwFv1g6TlJt5QOaxerNOZEtdd7sXoSyEiXOimEfaXD4MhYojvGBcMW+w773H9ay+BnjAfEu0S0R1kgPeEi/M0XYqu5vgWOSmDHDzvDIFx0IeCfUhURgiPD8fLjzwfPtlN5AwFfMYXnsj3K/7ZQZSAt4SyF59SIz0wsQs3iwMF3wgg5rF+ZKC5gHewkEywRUm92v1OcIXGLEQZtP673sKKgGPBRPXrTLJAY+SrnVcW4CfFZgcbsRUXP0VUbSqqNCo5aLQY7Bcy3O1wPdCUg54YhzhhVLMGqUc8P5dC/A54SvwWTYE5dMnGDDIwX0upKR4WIwmeX/gBnlvrQW+h0cKeEA8L9oh8k1SLfDRTO6Er3XXFuAxlC0ickbYDLUmcatqyEVhAvbAl5rIZOiNAW9MY5ZSC3yuaQHMXMXQAnZqLIkVsM3yGVcCyc9lhhGr/z3wsfc2Dzj+3d1UWbxl317tqUlqgR8r1ISK8AoOQ0ZKaZarepVI98GKhBpKoBMiktKdiGSb9YyWnwvB/ur+26bSLFVNiyW2eoO3ulL4Y27rSBnrtzpi3sCz2hjf4x2GGq/NlkUaeNat1Vp8rvNr4Z8ba2sqAQ/ojPVVXGxe33nXAt/LMSHwlqBSC0E4No24KJGs2rFdPN+t5SzZPCPX+Q0NfA6kWtCRyXfeOWX6AqJXMpfq+HDxpQbKv0/FSF/vD1lKphSFF9LMpXYZ+S7sV2Jz0bFaT2BelOu8rd6PbhYODTwCm1CpysYSXkwgFPeU6E/RJedRs1q/GUKunMRLseLU1jG8CS/bRbY9kOpqTU6fW6LGtRLAswhCCJtIYbjxu35hKeZdmAWUYrLnEzvwsO2OnzRXau/fnxv8l9Duop5zthDKawYUk9PCTLKsXgngkd8WzX9rwgAKIXH52DaBD0GGQW6jLVQUiZo9EQAELLruU6JU1+rzUQLz+49Tucgrzk66qg57WoEHHDuBKh2LYd0vdsCzpXxbxIkNISS1a4ml7BRZEs8BDyq4/AERSuCCB8eMv4hyezTEaw5Paq8lDUxtPyPDbhFdM9dV0Q8F/tUHIbUCDjXOTpZWast4KDlnnqfV4mdm1Pgh1oV3zLK51chqnOGrEXjiJvE61TmOg9TAXFcb8LY/lDvOGxiCcaZbbcCPg8IIXCfgRwAdlhPwE/AjITAS28niRwL+HkvPbjRhRki6AAAAAElFTkSuQmCC\" style=\"width: 47px; height: 18px;\" width=\"47\" height=\"18\"\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: 49px 8px; transform-origin: 49px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e which equal to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAkCAYAAABxE+FXAAACQklEQVRYR+1WuUpDURBNPkBB/QFRGystFBstFFxAsBJUtBTcWrFQLN1+wKW30MpOXMAUioVaaGXh8gUun6Dn4B0YXmbuiwkhBPLgkJd5c2c9M+9lMxW8shX0nak5r0j1q6LsHShNXSjPM34/CyhVE3TaAVc/lnkLDi4Dk8B2cNYc/t/hdxF4jwRxj2ddwDkwYul5zplpDqCT6USm8oz2aNwKgDqPymGrpec5f4UyD4wCp0bUc5DtA3uhAkmVXgiulbAT909JJcu5jto8BCNi/Bv3jUZw7PdHkFPHrJDlXEftZS46bzDcZvUTsh/l3ArQ3HA66gcYIFmS7N6AbBXYBNYc59I62ui2dLye70J5IRwgWzXphHBfkA8BHuPP8GwYOAY4MXmX55zZ8zB7xYt9GwPqgUPgCFg3KqIdUGciVp3YnCcDkCBmcGNNQDKzFQh2gHng4D+Zi64XQD8U8kYn4UDGcSpUquCyi6JET2KRAw3KgjcJoiIT4Y1r9H0upBMnXLeUkURy9eHmxiopZOLc3G484/VcMraYqichNue0z4kwZzzmnIdYYq+0wmTaiGXPWfeWkJm53nBev/QKdtkMx9RziZm2Xl2ywKisz5hzhw5/Yq/nUnZvTPQK9ghFgg4Cl4C5BdMI5+12mWFvdTK4l8AbkrIHyPv6iW04eXkwgFnVOzreAi6AJcto6HXRHxPSK5ZuHBhQzbvC/S3gzbeoclx57gQoar1GCVPqw6r4dC41SfN8LfOylDXNaK3saRUqy/NfcLR9JRD04fkAAAAASUVORK5CYII=\" style=\"width: 15.5px; height: 18px;\" width=\"15.5\" height=\"18\"\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: 83.5px 8px; transform-origin: 83.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. We call such rectangle a \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: 64px 8px; transform-origin: 64px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003efactorial rectangle\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: 115.5px 8px; transform-origin: 115.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which is an integer-sided rectangle with an area equal to a factorial number. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 230.5px 8px; transform-origin: 230.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIn this problem, we want to know how many are these factorial rectangles.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 65px; 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 32.5px; text-align: left; transform-origin: 384px 32.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 62px 8px; transform-origin: 62px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor a given integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 75px 8px; transform-origin: 75px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, we define the function \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFkAAAAoCAYAAACVdVbLAAAFd0lEQVRoQ+2ay+unUxzHv/MHMLmsNEkuCyvCsEGxQJSmkFvJCiNZINcsJGZIKWlQlJQQNmqmGWos2BiXyMLCpdnYuSzmDxjvV51PfTpzLp/n+3u+J/Q89e75/Z7LOZ/z/lzP5/luWy3HxhnYtvEZlglWC8kDjGAheSF5Fgau1yi/Cz/MMtpqda/GeWPKWP93S75NZFwp3D+FlM6zKO1B4U7hz8i4WyX5bE1yhpvoWGYxl+v/n6LCRASe8AwE7xI4z30w5sPCdZG1rUMyxN2RhD9F51+FX9IqrtX5b+GIcFq6tnPuFQbGQ8ZPhPMiJATGKz3yqC6eJXS9ZArJF2jAFwSI5HhM+Ej4zUmAZX8gXJKuvRYRYs1F1l5DuT+ned+feWw/HPN8JRA6DrTmiZKMe+wTzHJv0t+1RGKTn5MU8eIGF1oaGgu7Rzh3wLzGS9NjIiQz0HtJYELDZUIv4JOBXxdu6Gl5ZiJGWbGJbfM9oQvViqNHMrHtC0cE1unDQ40jQsv3wukBhczJsyl35Lx4+DUtz2mRbFoiRHDc19JWganJ9eQMbH+dxhiZbM3TL9TcxRDaIhkN7U5CUzGcOgMJmxwCo/hDeF54auJEeOyX7h3GOl/IS9LSsOa1VSOskWwC26BUEqMT2ESeVhbaerJCChXSRQJVECGQigiLZN0PCU+6yW/X370q5bieqVZSNZItttlcVVeYysQGnzeZr8isMp/SrPQB3bg13YTIz4SDAsn9HWF/uveNzr3wA8mHBDYnJxw1ktGcCfBfCBUsjNKNOr5HspHwnLNYeCCevylYlQBxHJFaH+VQMhbLxhrJf+kFS3gRTZYUOPraVJIhlXBBqMB6Wa/t3izOsoZIGQrJhKAinzWSTYtMYvFqNGlT55tCss85uHluhX5v0CtzkXPLJK+TracSNMfzU0j2JDJ3Xv9buKzG2UzgZuk4MlzQInwmuajFuqNJWDI9BT0ua0mWRLYnXSMvEBsvFrBCFvW04HeeRlwkJvvytGREFi6je4MtJz5icqilFzBHSzalOE8J9rbgt+3mhj5kWRWRJ+RoCYeYRmIpqft4HK2qILnq8TVLzt0pOhkCfi7UGiaWbEoCYaHvJoWavowMX6v6eJrXsM16NQ3qSSzJYWGHZBhpMplyq/V0K6gbIebauXvmhms93Kt0o7S99OT4jE17tNQPMeGxNqoAe8aTlIcGYinxtVXXGonIXzIeW7eVbngOR60BZJ5V7ev0ehf0S3mZA62/VSAEkh4RsP4awbxv3oGFEH+NNEICu7RcMUZGHlp8Uso/AdkcrUaWhaCSpbIWrnNgCCcLfAFpKY3xOIobEW70yhOs71nB9zA+1f/fCdsFEhH1IVrvWbolGxZxd1rAXTrXLM/Xsa/quR3pPZvvJf2fe4A1tfbqXqkN4L2pFCq8l6BcEnGrtWtKaW69eyQnJa0Y7FLhTOHqdPFbnX8U2I72+su8wicqCEUhR9MYj+tcIsSTgZXThLd3S+SanJxbTXv7usNzJe/hOskZ4zks4LmttTHXLUJz2x0l2S9inb9rGbsWKnxowZJuFvgIEE1GeMGHwiabWhge1n6j4Dt4J/AzimRLDvmXFaym1Ja00OK7Y7QxOSJ1MEr9WGh9JlvHWPw7GAjW3lXkKJIt2USaLSzEQovfDFjCi27zqU5eFuaq8T3B4S/VvDSKZOuFRJotPrT4KoEdo7Ufo3JbDA7/ECVg3pN/MBMVNjB39RFPTuQbYWszULLwnmzEzpOEuX6mxXqaPwHIBdo0yQj0imC1Nq7OV4fax1jfr0DW/CuH7wFHvlj0FDDk/qZJHrKIf/skC8kDNLSQvJA8gIEBUyyWvJA8gIEBUyyWPIDkfwDbBkY4Wm/IcwAAAABJRU5ErkJggg==\" style=\"width: 44.5px; height: 20px;\" width=\"44.5\" height=\"20\"\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: 150px 8px; transform-origin: 150px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e as the number of factorial rectangles with area \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAAkCAYAAAAKNyObAAACQUlEQVRYR+1WuUoEQRDd/QDBKxIjNREEDTwSEwVRNBXUzEDw+AANDAUv0Mwr20yNjBTFwMBQA40MPEIjD/wCfQ+6oGxqZmeaHZhgBh47O9NT9epVdVWXSzm+yjnmVirIhWanUC6PyjWBVCfwBHyGEMwyrXcg1AtcAWN5ItcNMg+KUDvu39ISzEq5QRC5VWR6cP+YF3Kstw9H5tulNzfKkdevIteYVjWuzyqttP0CsNbugb6syDFFrV7NtOF/C/AeU+iXeDcKnALTtSI3DkNdwDDQDzQAC8ARQFL7zin9sZ6GPOLC4wQ3U8A6sForcqJKxaWFdpmeOuAG2HSOttxvlPNlvOcaCSw1v7ia0010CZZZO6KSbhUzeE6V/GseDw6BqPdVyUaR062Akc8BO4qEOKaDZsAaTxJAUI+j4ShyrLtzFxrHD3sU1ZOLdbcIxI0mIRc0HeLIiXOueQU6vBx84T83ygqwHZMfrgvqcXHkpEdxzQRwoQjouVktZbTjBxYTy/9XVlq1c6tHSb2xjVRThbZSz1ShaJHTxe6rxu+kuR54dZhYkaQLLXLi3FJG72JpEWwjG4ZC7JcjwDVgDX3amgR+AKsVmbtVBralDMfQsYucLWQNYBD+BKDjZ4CbhhtqAPDbjd505sbyldMtxEqpTjmbMh1bczPJYVPGG2M1p4xPjo5mnTLW0ZqK7AH1QCUqHe57ji/O5zOAc9m/aEuU3zWUzfTIZPBJ9yjL81w6JsbqglyohIVyhXKhCoR+l+ua+wMSCG8lG1UpYAAAAABJRU5ErkJggg==\" style=\"width: 19.5px; height: 18px;\" width=\"19.5\" height=\"18\"\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: 43.5px 8px; transform-origin: 43.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e The factorial rectangles with area \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAAkCAYAAAC+PdWUAAAEuklEQVRoQ+1aOasUQRB+7wd4/wOPwEgDj8ADFDxQEAPBM1Pwiky8jcTroQaCJxirKBgpiqCgYqKIYmDggZGR1z/Q74MpqO3t6mN239uZtQcK3/ZUd1fVV1VdXePoSHlab4HR1mtQFBgpIA6BExQQC4hDYIEhUKFE4n8C4jzoOcnQdRvGz4O+et7PwNhc0EfQz5bbirpMMfS0VNN2e5mpv9iO06L2i0UiF/sEmmYI8Rjja413rzG+ABTiydRtwtmp/07QYdAR0PUECQ5W/K7NTmP8YsShl+L9cRD3vVs5zl78exV003KiGIgU6FxA8GV45/MyeuE7NW+WJUCCUQbF4oKxJwFEcVxLZjr0dgPILRi/VTm95hFb/sY7BkVX1guBKFGY6oFacHrUCzUwH3+/HxQamfvOBD+j7wNoOYiRwCcGojg8+e5VQHGtTSBGskQmI/KYI5N2ep+tZO03mLfQ1ScE4m4wn7HQjxiGDvCj4jE9KNO4g2DXzhgCUfTdCiFvewTV69Ae0x2eR/i9BuQFCeN0hi+WM4VA/IxJ3PAAKHq4egT/q0B0hR4EIHX2TAWRDr8CxJRoPTrV6mjTUeiLUlmPePBY6gLaAlHysxaIky+AnoBSqk1z0zrWHNCcVBCZ7l6BQlWori80iKcw72ilnxXJfM0I31zxddQYFogCgM92jM4NEYE5T1LEnYiHDgifpG1TQUxZTECk/eaoQBA7cY1Q7aCdoAPsUDqlApNBSyoPIPr6WY8fDwPSi+eEUoQ1Xd+TUgxk8XzHC98dNnXNfoJ4BZuySHKd+hfGpOhJBbHDprErhlaWKZaCyIauR7mG0dVayv1Kz3er21Sju3yxijK2bj9BlOzmXsukdsiJxA5HyAGRmzBCGP68r/A5BBozLMHD/hoolOctI/KwD91PY8aX95fwRyhbxNbpF4iyju9oSS0AtSw9gUilWe6yyGFEhroxsmmb7oguqP0CkY4/G7Qa5KZ3DaI+K11Z1mHgQTXYM4hcR/K7784jm4sB2titcXXg77qpWe7bvIL4Gh4Tnk5FOfGKEIjk5aHd1jsi5e81EuUOGCoC61SnHQ6Veya6HsouAtOE9fAwD7235g1DdUoAn4F2gELnsmQ12iK1Ou1wirogSiSyu74vACIVqdMzbXt1mgogTacbK6GULRHb1casC6J4T+yuGMA3+KrN1akUfqEIlEzDDo/+3BcKCrlPdlW4PhBlA+uiLM3Y2HdC8q0CsU3Xy4W7riP0Y17umShXMH4LtK5elItB8BwkzXKrmyM66Mq0K+X6QNQdBN4D+TFSeqUiJBffFUiV2rt4bi5Wa/TDuBO1Rg6IYhtW42cDAq7Eu0Ug9zohDXJfSpVU6r2X+0DU1RJlIQg3QPzvCWwb0XtOREAZho/CBOUySJrOTGP7Db3dJkjMyXytSL2GNEg4drKyu9m+DH3F2IjJUytpmA6/gfixMzU1MkXQ6+6DcttuMSOM93uR3d3nDwbegnR2Io/Fb8nJiLIKPhY6/BjN44jPUxCPLrNArFvYjLcRy/oZFiggZhirqawFxKYikyFXATHDWE1lLSA2FZkMuQqIGcZqKmsBsanIZMhVQMwwVlNZC4hNRSZDrn8AkCg0K6HJXQAAAABJRU5ErkJggg==\" style=\"width: 56.5px; height: 18px;\" width=\"56.5\" height=\"18\"\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: 49px 8px; transform-origin: 49px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are as follows: \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 443.5px; height: 18.5px;\" width=\"443.5\" height=\"18.5\"\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: 18px 8px; transform-origin: 18px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, with rotations not allowed. Hence, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 74.5px; height: 20px;\" width=\"74.5\" height=\"20\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 22px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 11px; text-align: left; transform-origin: 384px 11px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 106.5px 8px; transform-origin: 106.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that will calculate \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAoCAYAAABgi917AAAFZklEQVRoQ+2azatWVRTGr3+AQdmwgZQNGhlmNqnAiUlCCCklgjRKM3GQYl+EOFBTgiCkFAokEBVxIlRqkAOdlAY1kAZqOGmWBfUH1POTvWSx3V/nss97I86Bh/fc8+537b2evb72OnfR3HR1ZWBRV2mTsLmJ0M5GMBE6EVpk4EV9+5vwcyeetkrOsSGy/k8W+qoUf17YPoSAylg2aKewWbjTIncooc86ob+4SZbr/m/h15ZJRxgDmesFPntfyNwlrG0htYXQRyVot/BGWOmF8LlMnxfDPd89J1zprU2DPDb5nPB4i8IN8lJD9ujhUqFq/TVCsbxLwoPC6cgClujv88LKsIKarHnqUvwZa7gRFD01xgRBJvN8L+D+X5fmqZEAYS8IfwoPJQRhvbeEa8LTIyqUE43lvC7gLWNfuP6nQtETSoSyK7+HVZYIu6oxuP77Y2sUyZ+Vddq0Nt+7epDN/CVCiU2XHaG5oIwVHxfGdLnUXlHSHBUeFpoycIcNx0LXlDyiRKi5s61jnW5S8QNX+EGYdYbHM7hmGWrQ9aTwpJCsdVtjKAsnjq7OCeqw+0NEWDg6oB8NDTV4nq9GkPWEQNlXOxCQpH8StglJt68RagJMWWLpKwtgjTHZFo7e1heHCzvB+kmqKwSqkccEq1Yg8i3hPff7Tbqvha5/NOYzIVlC1QhlLjNzm5esThyZtYt73ix+1mpfs74dwRCQAWnfCsR+dPlS+CoIb6lWIJRanJxy39VCaIrUhbZUyqVDQo1QU3i/s0R0Jv5+LpjbQhJX1vIcc2wEZVqyVGslNEUqrvOmMKsM661hKKEQiMuzZqySg4q5rA9rucTr57baPMndEEIRaorYBNngnPCGno+GEOrraVw1ti4f0lr46EoopBC0SUxcLTGnJ5EmawihcQ4gMfn4b/pk42KkQLFcS+0I8eYbIdfo8DvOXKnCmrbXvuBmjCE23Q4LI+OS1HA7q+dIMgfDM8ozxj8lMBcKfCD40GIktcRQinFr7KTKrD/CvK3eNjgpocBeodQEMLPPEcpzSwQpK6bsOS4844gymb4JY9k87iW0lk2swwhL9SN8/MwW68EQ7ANCs/VvykL5QW23THkCfK4xYYkgNTmWd0LwpYcp7mtB7w1xjVisB4P2nrDUOix0lPTwfNpGZuvVmFA7bhJPcl1qr2Rup/wYnzmRn6pfbaFYEdnYxnhCYvcm9hEPS0dPn0RTFmibbuUSHsGVa36Yx8Rx+B7pMaG+IZI7hVhMYle9y/qdtBgXHwKwbOTGRzxTPA4PPmHEG2xzZJXTPCVP8r0KNv0Bgc58aYOQx5Us6vkiJtS7AAvFUj8R/hIeEV4TOMqVyESuJ53fsNgtQs6ifJ14JJoL6/lIiC3b2mkf6rvU8bPmSd762UiSZM5A0Mk2oHg8jQnFpK8LZHgErBJ48cU9149CqQIIw+ZuBvJ8dn9Hz1LKe8WxXhrGEJ8j0ubgs9RghjBOU1wpr+A5iZNq4jvhC6F0SGGujUKxu9VSyHoFWu5zmTPn7j48YCEbBPqcrYkC6z4jlJokLesujcGgsOKXhOJ7szEItcAdhwWsIdVqs/Dgu0D2pqClzmQDzwovC7X223yJxRiw4uqmjUGoJYKWRgMKWnjwpZolo/jFYI4QkunHQtOr3oGsNr/xRO4YhFrnpqXR4MODz9actKyl1rpGi5nN/5TQQCzhaNA/T7QutmHuu0M8EaVyxuSVCuuU5dbWQaxb3NH10af42jheUE9CmZwSCyK5cFe64blGtD+/Mz6ue30Ps6WTXiN7Jt/3JHQmC/6vTzIR2nmHJkInQjsz0FncZKEToZ0Z6CxustDOhP4Lx01NOL3/qfAAAAAASUVORK5CYII=\" style=\"width: 42px; height: 20px;\" width=\"42\" height=\"20\"\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: 62px 8px; transform-origin: 62px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, defined as follows:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 45px; 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 22.5px; text-align: left; transform-origin: 384px 22.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 96px 8px; transform-origin: 96px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                                                \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 122.5px; height: 45px;\" width=\"122.5\" height=\"45\"\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 13px 8px; transform-origin: 13px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAADGklEQVRoQ+2Yv0tWURjHX/8AxdQpoqFyEAQdqsmCgn5go0OKi0NgNbRECjVGP8EGQdMhcClraAkSnRpqU8Fo7McUTVaDf4B+v3AeeTyec+7z1nt5hXsufLnI+9xzz/M5z69rSy1fhQRaCi2yQS1DMgRBhpQhGQgYTHIkZUgGArXaMVhdgI5Cx6EP0Lx+ssqRNAwQt6GT0HPoFfQphLWKkDoB4iV0CfoOjcXgCLCqQepz6XQI9xXoJvSjKCmrBIkR9BUiIEbQEPS5CBB/rxKkZZdi9PsKtGQBVCVILNKLDsoa7qesgKyQGKZHvNBk2zwM/bLkdD0bKsl2Feuyi/EagV5D4sNWUdqF0m0QD/VC56HTEHP4OsTZgQvPQuwMvP5C54peohwn8J4GgKjncFisN9Q76csdiDORXPSDY8Az6Le/vxAkIbygFuKCrRAHrcdukSfu/hD3e0bHB2D30WibMpNDsyw1DqM5ZciuRt9+Qm3QLUgOnb+N+qBShVtCVFolc1miRjsr4WvZME9V4FrsYzbT+MFaeB/A9q5b6A3urE/+xey4ETv0GCSmxaZ7iKd2DZqCmMu89Ol0+eT/x/sSnrV0Ne0vU69b+xSDxLr03m2YkcSBi4OXXEKev10uwbFGLqkh9WPh2Gyk7c7AbvcTJQZJhx8HrxPerv/gbxb0SehpIz0qYS1G/1W3bgrSBGykFOypeTFI3/CAVH9/8NLdIvXSkL/N6G7a+T0R4m2wLkgaQqjQST1i7nbUefLN6G66dKS6YhRmKJJ0UQ6N75K7nCt0nbLwakZ3476kPKT2LCWGh8/Bc/fDNwRJIIQiRXcBaf3M+UeJgmiBV7aNHgNi3VhGnn0gQ5C23Y5D1PU3EF92HyJM6zBZNozY+vo/ACG/pAywSV3UUcQFfUg6f0OpplORwyUXDQ1nzYKRei9T/a1rSPxKeOFgENA75wvnwX0jgg+JDo+5N4XmH57IDNQOLUAyXB5EKLE90cezED+/eK1DX1K+VOn/Sf98kBmSAV2GlCEZCBhMciRlSAYCBpMcSRmSgYDBJEeSAdIOMMCcJY4/4A8AAAAASUVORK5CYII=\" style=\"width: 36.5px; height: 18px;\" width=\"36.5\" height=\"18\"\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: 46px 8px; transform-origin: 46px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, we are given:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 45px; 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 22.5px; text-align: left; transform-origin: 384px 22.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 36px 8px; transform-origin: 36px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e                  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" style=\"width: 667.5px; height: 45px;\" width=\"667.5\" height=\"45\"\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function sfr = countFRecs(n)\r\n    sfr = 31;\r\nend","test_suite":"%%\r\nn = 6;\r\ns_correct = 31;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 10;\r\ns_correct = 324;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 15;\r\ns_correct = 5094;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 20;\r\ns_correct = 55710;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 25;\r\ns_correct = 521566;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 30;\r\ns_correct = 3668686;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 35;\r\ns_correct = 26992462;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nn = 50;\r\ns_correct = 8826106702;\r\nassert(isequal(countFRecs(n),s_correct))\r\n%%\r\nns = 1:75;\r\nys = arrayfun(@countFRecs,ns);\r\nss = mod(floor([sum(ys) nnz(ys) mean(ys) mode(ys) median(ys) std(ys)]),1e10);\r\nss_correct = [1887919459 75 558505592 1 86618830 6857256509];\r\nassert(isequal(ss,ss_correct))\r\n%%\r\nfiletext = fileread('countFRecs.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java'); \r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":255988,"edited_at":"2022-08-25T10:10:02.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2022-08-24T08:52:23.000Z","updated_at":"2026-03-28T13:19:26.000Z","published_at":"2022-08-25T10:06:04.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\u003eI'll celebrate my comeback to Cody with this one easy problem...\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e----------------\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe rectangle below is special:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                                \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"142\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"182\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"middle\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIts area is \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e40,320\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e which equal to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e8!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. We call such rectangle a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003efactorial rectangle\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which is an integer-sided rectangle with an area equal to a factorial number. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIn this problem, we want to know how many are these factorial rectangles.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor a given integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, we define the function \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_{FR}(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e as the number of factorial rectangles with area \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en!.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e The factorial rectangles with area \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e5!=120\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are as follows: \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e[1,\\\\ 120],\\\\ [2,\\\\ 60],\\\\ [3,\\\\ 40],\\\\ [4,\\\\ 30],\\\\ [5,\\\\ 24],\\\\ [6,\\\\ 20],\\\\ [8,\\\\ 15],\\\\ [10,\\\\ 12]\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, with rotations not allowed. Hence, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eC_{FR}(5)=8.\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\u003eWrite a function that will calculate \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, defined as follows:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                                                \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(n) = \\\\sum_{i=1}^n C_{FR}(i)\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\u003eFor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=6\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, we are given:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e                  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eS_{FR}(6) = \\\\sum_{i=1}^5 C_{FR}(i) = C_{FR}(1)+C_{FR}(2)+C_{FR}(3)+C_{FR}(4)+C_{FR}(5)+C_{FR}(6) = 1+1+2+4+8+15 = 31.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.jpeg\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.jpeg\",\"contentType\":\"image/jpeg\",\"content\":\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4REARXhpZgAATU0AKgAAAAgABAE7AAIAAAASAAAISodpAAQAAAABAAAIXJydAAEAAAAkAAAQ1OocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJhbW9uIFZpbGxhbWFuZ2NhAAAFkAMAAgAAABQAABCqkAQAAgAAABQAABC+kpEAAgAAAAM4MgAAkpIAAgAAAAM4MgAA6hwABwAACAwAAAieAAAAABzqAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjAyMjowODoyNCAxMTo1NzozOAAyMDIyOjA4OjI0IDExOjU3OjM4AAAAUgBhAG0AbwBuACAAVgBpAGwAbABhAG0AYQBuAGcAYwBhAAAA/+ELJGh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4NCjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iPjxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+PHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9InV1aWQ6ZmFmNWJkZDUtYmEzZC0xMWRhLWFkMzEtZDMzZDc1MTgyZjFiIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iLz48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyI+PHhtcDpDcmVhdGVEYXRlPjIwMjItMDgtMjRUMTE6NTc6MzguODIwPC94bXA6Q3JlYXRlRGF0ZT48L3JkZjpEZXNjcmlwdGlvbj48cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0idXVpZDpmYWY1YmRkNS1iYTNkLTExZGEtYWQzMS1kMzNkNzUxODJmMWIiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PGRjOmNyZWF0b3I+PHJkZjpTZXEgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj48cmRmOmxpPlJhbW9uIFZpbGxhbWFuZ2NhPC9yZGY6bGk+PC9yZGY6U2VxPg0KCQkJPC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L3g6eG1wbWV0YT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg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ADCiiitjzAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAidrP/AF4T/wDotq1ayvFX/Inaz/14T/8Aotq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/AG2/9HvXZ1xnwj/5JZpH/bb/ANHvXZ1/QuH/AIMPRfkcObf8jGv/AI5f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/ALCR/wDRs1eu15F4E/5Hrxz/ANhI/wDo2avkeLv+RbL5fmj6HKv90xX+GP8A6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/wCi2rVrK8Vf8idrP/XhP/6LatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/22/wDR712dcZ8I/wDklmkf9tv/AEe9dnX9C4f+DD0X5HDm3/Ixr/45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/wBGzV67XkXgT/kevHP/AGEj/wCjZq+R4u/5Fsvl+aPocq/3TFf4Y/8ApaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//otq1ayvFX/Inaz/ANeE/wD6LatqH8aPqvzOjDfx4eq/Mf8ACP8A5JZpH/bb/wBHvXZ1xnwj/wCSWaR/22/9HvXZ1/QuH/gw9F+Rw5t/yMa/+OX/AKUwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/Rs1eu15F4E/5Hrxz/2Ej/6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP8A14T/APotq1ayvFX/ACJ2s/8AXhP/AOi2rah/Gj6r8zow38eHqvzH/CP/AJJZpH/bb/0e9dnXGfCP/klmkf8Abb/0e9dnX9C4f+DD0X5HDm3/ACMa/wDjl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/ACPXjn/sJH/0bNXrteReBP8AkevHP/YSP/o2avkeLv8AkWy+X5o+hyr/AHTFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/ACJ2s/8AXhP/AOi2rVrK8Vf8idrP/XhP/wCi2rah/Gj6r8zow38eHqvzH/CP/klmkf8Abb/0e9dnXGfCP/klmkf9tv8A0e9dnX9C4f8Agw9F+Rw5t/yMa/8Ajl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf8AsJH/ANGzV67XkXgT/kevHP8A2Ej/AOjZq+R4u/5Fsvl+aPocq/3TFf4Y/wDpaO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/9eE//AKLatWsrxV/yJ2s/9eE//otq2ofxo+q/M6MN/Hh6r8x/wj/5JZpH/bb/ANHvXZ1xnwj/AOSWaR/22/8AR712df0Lh/4MPRfkcObf8jGv/jl/6UwooorY80KKKKACiiigAooooAKKKKACvIvAn/I9eOf+wkf/AEbNXrteReBP+R68c/8AYSP/AKNmr5Hi7/kWy+X5o+hyr/dMV/hj/wClo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/+i2rVrK8Vf8idrP8A14T/APotq2ofxo+q/M6MN/Hh6r8x/wAI/wDklmkf9tv/AEe9dnXGfCP/AJJZpH/bb/0e9dnX9C4f+DD0X5HDm3/Ixr/45f8ApTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/9GzV67XkXgT/kevHP/YSP/o2avkeLv+RbL5fmj6HKv90xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/yJ2s/wDXhP8A+i2rVrK8Vf8AInaz/wBeE/8A6LatqH8aPqvzOjDfx4eq/Mf8I/8Aklmkf9tv/R712dcZ8I/+SWaR/wBtv/R712df0Lh/4MPRfkcObf8AIxr/AOOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8AI9eOf+wkf/Rs1eu15F4E/wCR68c/9hI/+jZq+R4u/wCRbL5fmj6HKv8AdMV/hj/6WjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8AInaz/wBeE/8A6LatWsrxV/yJ2s/9eE//AKLatqH8aPqvzOjDfx4eq/Mf8I/+SWaR/wBtv/R712dcZ8I/+SWaR/22/wDR712df0Lh/wCDD0X5HDm3/Ixr/wCOX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/wCwkf8A0bNXrteReBP+R68c/wDYSP8A6Nmr5Hi7/kWy+X5o+hyr/dMV/hj/AOlo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/14T/8Aotq1ayvFX/Inaz/14T/+i2rah/Gj6r8zow38eHqvzH/CP/klmkf9tv8A0e9dnXGfCP8A5JZpH/bb/wBHvXZ1/QuH/gw9F+Rw5t/yMa/+OX/pTCiiitjzQooooAKKKKACiiigAooooAK8i8Cf8j145/7CR/8ARs1eu15F4E/5Hrxz/wBhI/8Ao2avkeLv+RbL5fmj6HKv90xX+GP/AKWjvKKKK/HDmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArK8Vf8idrP/XhP/6LatWsrxV/yJ2s/wDXhP8A+i2rah/Gj6r8zow38eHqvzH/AAj/AOSWaR/22/8AR712dcZ8I/8Aklmkf9tv/R712df0Lh/4MPRfkcObf8jGv/jl/wClMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/yPXjn/sJH/0bNXrteReBP+R68c/9hI/+jZq+R4u/5Fsvl+aPocq/3TFf4Y/+lo7yiiivxw5gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKyvFX/Inaz/ANeE/wD6LatWsrxV/wAidrP/AF4T/wDotq2ofxo+q/M6MN/Hh6r8x/wj/wCSWaR/22/9HvXZ1xnwj/5JZpH/AG2/9HvXZ1/QuH/gw9F+Rw5t/wAjGv8A45f+lMKKKK2PNCiiigAooooAKKKKACiiigAryLwJ/wAj145/7CR/9GzV67XkXgT/AJHrxz/2Ej/6Nmr5Hi7/AJFsvl+aPocq/wB0xX+GP/paO8ooor8cOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsrxV/wAi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KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqpqeqWWjWEl7qlzHa20f3pJDgfT3PsKt1n61oen+IbAWWrwfaLcSLJ5e4qCV6ZxUy5re7ua0fZ+0Xtb8vW29vI4C2+NllqHiu00nTtJllt7q5jt1upJth+Zgu7ZtPHPqPwr0e/vrbTNPnvb6VYbe3QvI7dgP8APSvCPE9rb2Xx+0y3s4I4IY72xCRxKFVRlOgFek/F2OeT4Z6j9nDHa0TSBT/CHGfw6Vw0q1TlqOerjc+rx+W4N18HDDpwjVUb63erXfr6WRgyfGtpvPuNI8KX17p9uf3t1vKhB6nCMB+JrtPB/jLTvGelvd6cHjeJgk0En3ozjjp1B7GuL+F/irwzYfDeOz1PUbO1lhaUXEU8gDSbmJBCnlvlIHGelc/8CZNvi3V4oWPkNa7gPXEgAP5E/nUU68+eF5X5vwOjG5VhXh8U6dF03Ras22+ZXt1089O6Ot1T4vJFJcHw94d1DWLa1JE12oaOJcdedrcfXFangj4l6b40mktUgeyvo13+RIwYOvcq3GcZ6YFdHez6d4d0K4uZUhtbG1jZ2RECqB6ADuT27k14d8FNMnvfHUupxRmO1s4XLkdMvwq/lk/hVzqVadaEXK9+ljnw+Fy/F5diK0aTh7NK0uZu77Pp22XU+gaKKK9A+PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvb60062NzqF1DaQKQDLPIEUE9OTxU9UNa0PTvEOmtYaxbC5tmYMU3svI6HKkGlK9vd3NKXs+de1vy9bb28jwrxXqmn3Hx2stQt762lslvLNmuUmVowFKbiWBxgYOfSvcJde0ObRLq/OoWd1p0QK3EsUizRgY5B257Ece9YH/Co/BH/QE/8m5//i62NN8HaBpOj3OlWOmoljdMWmhd2kDnAHJYk9hXFRpVqcpN2116n0uZZhl2LpUIU+e9NKOqirpbvd69jhdStvhHp1pJqyRaddygF0toLpnLt2Xyw2Bz6jFVPgdo00a6p4iuoxDFcfuYeNoIB3OR7A7R+B9K7OL4WeC4bgTJoURYHOHlkdf++SxH6V1K28KWoto4kSAJsEaLhQuMYAHQUQw8vaKcklbsGJzil9UnhqMqk+e13N7JdErv5ngfjXxi/wAQvE0Oh6ffwWGixyf6+6lESSEdZGJI4HO1e/1PHqvhCTwjoOmW+iaDrWm3EhPIS7jaSeQ9WwDyePyFV/8AhUngj/oCf+Tc3/xdWdO+GnhLSdSgv9P0nyrm3bfG/wBplbafXBYg1NKjXjNzlZt+u3lobY7Mssr4WOFo+0hCK0Vo2cu8nzXOqooor0D5AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":44071,"title":"Smallest n, for n! to have m trailing zero digits","description":"For given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \"m\" trailing zeros, what is the smallest \"n\" ?\r\nExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\r\nOptional: Can you make an efficient algorithm for a very large m?","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 102px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 51px; transform-origin: 407px 51px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 378.5px 8px; transform-origin: 378.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \"m\" trailing zeros, what is the smallest \"n\" ?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376px 8px; transform-origin: 376px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 205px 8px; transform-origin: 205px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOptional: Can you make an efficient algorithm for a very large m?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = factorialForZeros(m)\r\n  n = 1000;\r\nend","test_suite":"%%\r\nfiletext = fileread('factorialForZeros.m');\r\nillegal = contains(filetext, 'str2num') || contains(filetext, 'regexp') || ...\r\n          contains(filetext, 'switch') || contains(filetext, 'elseif'); \r\nassert(~illegal)\r\n\r\n%%\r\nm = 1;\r\nn_correct = 5;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 2;\r\nn_correct = 10;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 6;\r\nn_correct = 25;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 5;\r\nn_correct = 25;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 4;\r\nn_correct = 20;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n \r\n%%\r\nm = 156;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 155;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n \r\n%%\r\nm = 154;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 153;\r\nn_correct = 625;\r\nassert(isequal(factorialForZeros(m),n_correct))\r\n\r\n%%\r\nm = 152;\r\nn_correct = 620;\r\nassert(isequal(factorialForZeros(m),n_correct))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":115733,"edited_by":223089,"edited_at":"2023-01-07T09:00:18.000Z","deleted_by":null,"deleted_at":null,"solvers_count":61,"test_suite_updated_at":"2023-01-07T09:00:18.000Z","rescore_all_solutions":false,"group_id":673,"created_at":"2017-02-14T01:10:18.000Z","updated_at":"2026-03-20T13:48:37.000Z","published_at":"2017-02-14T01:10:18.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor given positive integer n, its factorial often has many trailing zeros, in other words many factors of 10s. In order for n! to have at least \\\"m\\\" trailing zeros, what is the smallest \\\"n\\\" ?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample: factorial(10) = 3628800 factorial(9) = 362880 In order to have 2 trailing zeros on factorial, the smallest n is 10.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eOptional: Can you make an efficient algorithm for a very large m?\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":45251,"title":"Last non-zero digit","description":"Given a number n, find the last non-zero digit of the factorial of that number.\r\nYou need to take care of the large values of n.","description_html":"\u003cp\u003eGiven a number n, find the last non-zero digit of the factorial of that number.\r\nYou need to take care of the large values of n.\u003c/p\u003e","function_template":"function D = last_Factorial(n)\r\n  \r\nend","test_suite":"%%\r\nn = 66;\r\ny_correct = 6;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 52;\r\ny_correct = 4;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 9;\r\ny_correct = 8;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 109;\r\ny_correct = 2;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 425;\r\ny_correct = 4;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 14;\r\ny_correct = 2;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n%%\r\nn = 719;\r\ny_correct = 8;\r\nassert(isequal(last_Factorial(n),y_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":40,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-01-03T05:19:45.000Z","updated_at":"2026-02-05T20:53:13.000Z","published_at":"2020-01-03T05:25:46.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a number n, find the last non-zero digit of the factorial of that number. You need to take care of the large values of n.\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":56418,"title":"Easy Sequences 78: Trailing Zeros of Factorial Numbers at any Base","description":"Given an integer  and a number base , write a function that calculates the number of trailing zeros of the factorial of  when written in base-.\r\nFor example, for  and , the function should return , because:\r\n  \u003e\u003e dec2base(factorial(15),4)\r\n  \u003e\u003e   '103001313131311200000'\r\nFor  and , the function should return .\r\n  \u003e\u003e dec2base(factorial(10),12)\r\n  \u003e\u003e   '1270000'","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.45px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 12.6px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 188.2px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 94.1px; transform-origin: 407px 94.1px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 37.8px; 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 18.9px; text-align: left; transform-origin: 384px 18.9px; 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: 48.5px 7px; transform-origin: 48.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 59.5px 7px; transform-origin: 59.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and a number base \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eb\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: 224px 7px; transform-origin: 224px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, write a function that calculates the number of trailing zeros of the factorial of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19px 7px; transform-origin: 19px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e when written in base-\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eb\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: 2px 7px; transform-origin: 2px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 18.9px; 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 9.45px; text-align: left; transform-origin: 384px 9.45px; 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: 49px 7px; transform-origin: 49px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAACyUlEQVRoQ+2YPUtdQRCG9Rf41VkaOwsbTRpthBCJTQQlWkeIH2BpwBQSiAFt0iUK9ioEtEkwBGwSxK9CKxu1tDKY/IL4vjc7sOxdD3N2uBbXPfDiuefOzN15dnZ3jo0N+Uom0JjsmR0bMjxDEWR4GZ6BgMH1IVReh+NzqeBE2/aI3Uc86w2f1zO8NiT7ClqChqBvCng7sHkWsfuMZ9MPAZ5AG0WyPS5hDTxW3QV0DP32QP3B/TxUVbn1WHmE8NcB+FcC3ifYtkJjigqtmNQjPD93LTypunE4H8aqLAY0w/tPZdEtTWHEpbsG/SgCWQSvD45d0D50CnF2nrrohUG1ZX8PdtrK28BYmqHHUIs3LkKccPlXDTcGj7Mw5QWhDfeB9xD3BAbfdM+0+XMiUq6roplXBNTC80M9x4dZSE5dAhyE/EOkYn9X5c3hOx7xhLQNvYBmIDn6v7uAivFXTCQJrb3YaU7Jopgp8CTea9ysuA+T+Lsa/tBd8KTf+QCHl1Cnc+SJxKqMBivIIrXyzmIzXmIGLPD4M5JvtFhi8NgnXbsBsu954iVwjvtHTpqOvUSeNTG1wuvGqE4gLl3VGwbX/FeXCo9ubqa8CgPVJHV7UCs8joAx1PCkVEMH2QPeINhyyby4DaRcPKR+pTg6Hys8WYXcvt6G44gtW1maftXRT/bBftxzL2qCtEs3FR4nim1S6mWFxy5jHWLOVZMYwpOlycH638kM3OA52xXCsCaWCqSMnwaetCZbCPwFkpaEOR9AXIHRV7YQnizNsI/jafkTkhdnti+yF5ZJ5j5tZcz8zXAV+eNgHuwoeBHUgrt/h79HUNV/U8Q5hMf+bgCK7TXShVv3oVoD5JvQiMvD/61dfNiDwuXHCqP9sGdMW1Zh4bZU7++2NZ2oDM+AN8PL8AwEDK658jI8AwGDa668DM9AwOCaKy/DMxAwuN4CpayNIdAF+yAAAAAASUVORK5CYII=\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 14.5px 7px; transform-origin: 14.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEIAAAAgCAYAAACmaK65AAACNElEQVRoQ+1Yuy5FQRR1v0A8KoUCPQXRUJB4hEYhwRd4FEoqncYPeHQ6VCpCdGg8IgTRiFLl8QmsxWyZMzknOXvf3Nx7ZCZZIdc89l6z1t5zleri+GGgFHn4ZSAS4ZQQiYhEJItCHkV0uiV3Ba4nbYi9BXgC3tPyyCJiGpMngCm3qB8/zwtKRBPiPgK6gWYtEcy5Dzj7BxZaRw7zLg8TEVTFDnAMjBZUDWOI+8CL3USEMDmHjbYKSATrwjWw4C6UKZiI+MDCBqALKGKhZF3YBx49i6uJYKe4BT6BRoAFZwhoBR6ACyC1+taIcpYQx6CztF/r1ERwozVgAzgFaJNLYMQlys9XFGQwGMt4xaIX5UK5REm6LCKucDjbDRMeBnpd0v6mGst8KZOR6eP45VCxlsqlWhe9dWYiuNmbO5zFhh3Dt4EkpQnSqojMB1AGObv4nLWNBVKGmQhpm9wofEj5JLUbZKu4XPVUxr0KdAQrzURI29zDhtzcH0ISldKjDrWyC6gE4jk4hpdHm3PwTcTBbpJ4EqQ9saVtpkmfh1AJGlvwYLYyy+AN533aZ53hE8ELpM23Adrob4RESMXlhPBvfifxPZgnQSsRy9i83DeMyRqzOHgTCKUvm6XZJQ8R1ZxjIoJy4TdOtk25dSFnJpRTNbNTnG0ign6aBAaAG6AeuAdOnLcU59fMVNqdj0OOzC+Pef4xUzMZVTKQSIRjNxIRiUgaLSoiKiIqIrX5RGtEa0RrpFrjG+WUdSEMtkHdAAAAAElFTkSuQmCC\" style=\"width: 33px; height: 16px;\" width=\"33\" height=\"16\"\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: 79px 7px; transform-origin: 79px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e5\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: 30.5px 7px; transform-origin: 30.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, because:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 36.8px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 18.4px; transform-origin: 404px 18.4px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 105px 7.5px; tab-size: 4; transform-origin: 105px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; dec2base(factorial(15),4)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 105px 7.5px; tab-size: 4; transform-origin: 105px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 24.5px 7.5px; transform-origin: 24.5px 7.5px; \"\u003e  \u0026gt;\u0026gt;   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 80.5px 7.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 80.5px 7.5px; \"\u003e'103001313131311200000'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 18.9px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 9.45px; text-align: left; transform-origin: 384px 9.45px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.5px 7px; transform-origin: 11.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAAC1ElEQVRoQ+2Xu04cMRSGd58AEqioopCOAgpQmiRSIqFE0FCAAFGmSAApZVLQhkhQpsjlBQJ0NCAuEhRchBSKUFFwUSoqSMQTwP+vfJDX413bY5ZisKVfM+vx8drfnHN8plxKLTeBcm7LZFhK8CKcIMFL8CIIRJjeB897rPicenLi+DboDKprU2R4Ldj8W2gG6oeWHfD68PwrtADtQB/U+E+4HthsiwhPoA1hw91q0y54Ixg3B32BpjRQv3HfDr20ASwiPIbdJXQBXXnAI+wj6AHUZUASqKvoH1Nz3rAtIjw9wnzgvYPBD+gEemKEJ8Geq77nuG7rzxO8UomhyfD+Dk0Y8PjzWIWuGdJ1i+RnMOqA9pQrMxx61eTruPqeXpb13FmXj+fJmAwctcoVXF9D+1CPy/OmMWAcYg5go3cy9j9DD1U/TyT2+Ta+iDzNWS44JnXB08PyVuBxPR8hHvGEtAgNQJOQHP1MoG8CaMgmAkwqQ12npGs+Fzy+1C01iQseh7VCPIgqrVbOE1flhMOQJNJvuKdXvod+ulauPc/reYf6YgP+T4a64HVi4J8AeFW8bPB0V+YJ9FTbgCRP1j4p51neJivtJdU/iuu8upe3lEmcOTzirkxcnsd1/IOY311hm0lVNs+T0DQhST3Ez5XZwN0zDeRpPKSqaqvASXzgyX5r5XGBm0lVNngSmrrXcc2SB1ksMhc1BYRuXng1vys9IfrAk0PDTFH8C5Zn7GerOizYYcLTE6j+TPLgf9iwXCGM2I157j9qmA883THM012qDmtIm/AkNM06Tn87DGeWL5ILo3bXQGO9DDGjyPxbOodEB6sLHoZ0pE1oDbLWtCY8kn4F2XINYTXXeNZABsFTM9QG1T504w382IXq5VBCegH9hR5Bv+qNL/q3bTD5EIMEL4SWMTbBS/AiCESYJs9L8CIIRJgmz0vwIghEmCbPS/AiCESYXgNhlKEhJduqUQAAAABJRU5ErkJggg==\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 14.5px 7px; transform-origin: 14.5px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE8AAAAgCAYAAABTliUJAAAC2ElEQVRoQ+2YT0tWQRTG9ROo2dqFtmmVi6KNLgzSqE2gUtIyyD8fQBfRqhKEtv37BNrKVaIECSaCFVEUuBGXrkrxE9jzwD0wjjNzz8zk2xVm4OHlvnfOzJnfPWfO3NveVloygfZky2LYVuBlBEGBV+BlEMgw1UTelWr8Hxnz/E/T3mryPYUT3ehzueq3j9+gjQ/efRjehe5VAw3id1MxeZO6EMRDaAG6A60EnGPfp9C01ec1rl/4IIYibwBGn6rBNBHaFHACbRwOXa2cCsFj/1WoDyKsI8i0XcP1A+iPvcAQFEbfIkTjW00ho/CDaUoAXOyxAt4s+jyCrluAXhmR6My8EDwxnsIgbxVON7GLBt4uHB+FXHv6Af7vguahxzGRJ4b9noGbCMv2SQOPGbbkWQzTeSQWHivsd+gQugBxX7gJ9UC/oG0rxJsKUgMv5LvAc+6ZvrTlPsAqxQ10A2IKf66eAifj/08iALL4pLTa40LNoLnwmH1sDKBTzQfvC3qyUhHSMCSbqVmBY9JZFhELsO6IUTdeDrzbGPw9NAE509oFjyn6u/LqK35Zac0yneJQauTtRES3C2SKrzIOCwnXzz3R2Vzw5IhCA7tEm2B5LtKc2uui4yzvp8J7Dqf4gnAp5JwLnhxR3jmoC1g+kWtnuep/NHYKPK7xmbFVeV1xwZMjimu/YSgz4mL3IlatlMZF5LwWxsJTg+NibHhyRHHdMyvwTCSJVHhzmCfng0QMvBA4OaqdKBw2vEk4+way01KqrCuVIzm2tLsWnlTWi/DOfoeVjwY8sgXh8SY3Sh5RJLoEqLdktxSHfjLzWBXyndm2DvE1zNfkZeHEfTvySHkMGoK+QR3QT+iD44nol9HanvwwwDXcsKb9iOstyNxDud6XUGeNi8u4f+r9/jx9amrtI1DMVuApIPm6FHgFXgaBDNMSeQVeBoEM0xJ5BV4GgQzTEnkFXgaBDNO/OsiUIV3zEhQAAAAASUVORK5CYII=\" style=\"width: 39.5px; height: 16px;\" width=\"39.5\" height=\"16\"\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: 79px 7px; transform-origin: 79px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: normal; font-weight: 400; color: rgb(0, 0, 0);\"\u003e4\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: 2px 7px; transform-origin: 2px 7px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 36.8px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 18.4px; transform-origin: 404px 18.4px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108.5px 7.5px; tab-size: 4; transform-origin: 108.5px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; dec2base(factorial(10),12)\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18.4px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 9.2px; transform-origin: 404px 9.2px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 56px 7.5px; tab-size: 4; transform-origin: 56px 7.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 24.5px 7.5px; transform-origin: 24.5px 7.5px; \"\u003e  \u0026gt;\u0026gt;   \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 31.5px 7.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 31.5px 7.5px; \"\u003e'1270000'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function z = trZerFac(n,b)\r\ny = x;\r\nend","test_suite":"%%\r\nn = [15 10]; b = [4 12];\r\nz_correct = [5 4];\r\nassert(isequal(arrayfun(@(i) trZerFac(n(i),b(i)),1:2),z_correct))\r\n%%\r\nn = 3:3:45; b = 2:2:30;\r\nz_correct = [1 2 4 3 3 8 3 5 6 7];\r\nassert(isequal(arrayfun(@(i) trZerFac(n(i),b(i)),1:10),z_correct))\r\n%%\r\nn = randi(13)+2; b = randi(34)+2;\r\nz_correct = find(flip(dec2base(factorial(n),b))-'0',1,'first') - 1;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 30:3:450; b = 20:2:300;\r\nz = arrayfun(@(i) trZerFac(n(i),b(i)),1:numel(n));\r\ns = floor([sum(log(z)) sum(z) median(z) std(z) sum(tand(z))]);\r\ns_correct = [346 2562 12 17 91];\r\nassert(isequal(s,s_correct))\r\n%%\r\nn = 100; b = 25;\r\nz_correct = 12;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 1234; b = 30;\r\nz_correct = 305;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345; b = 35;\r\nz_correct = 2054;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 123456; b = 40;\r\nz_correct = 30860;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 1234567; b = 123;\r\nz_correct = 30862;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345678; b = 1234;\r\nz_correct = 20041;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nn = 12345678910; b = factorial(10);\r\nz_correct = 1543209860;\r\nassert(isequal(trZerFac(n,b),z_correct))\r\n%%\r\nfiletext = fileread('trZerFac.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java')...\r\n    || contains(filetext, 'for') || contains(filetext, 'while') || contains(filetext, 'if') || contains(filetext, 'switch');\r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":255988,"edited_at":"2022-11-06T10:21:12.000Z","deleted_by":null,"deleted_at":null,"solvers_count":3,"test_suite_updated_at":"2022-10-26T10:06:40.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-10-25T12:04:07.000Z","updated_at":"2022-11-06T10:21:12.000Z","published_at":"2022-10-26T09:25:42.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and a number base \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, write a function that calculates the number of trailing zeros of the factorial of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e when written in base-\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=15\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb=4\\n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, because:\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[  \u003e\u003e dec2base(factorial(15),4)\\n  \u003e\u003e   '103001313131311200000']]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eb=12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[  \u003e\u003e dec2base(factorial(10),12)\\n  \u003e\u003e   '1270000']]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2325,"title":"GJam 2014 Rd 1c: Reordering Train Cars (Large)","description":"This Challenge is derived from \u003chttp://code.google.com/codejam/contest/3004486/dashboard#s=p1 GJam 2014 Rd 1c: Reordering Train Cars (Large)\u003e.\r\n\r\nDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\r\n\r\n*Input:* s, string of N space separated string segments of letters [a..z]. 1\u003c=N\u003c=100. Total letters \u003c=100.\r\n\r\n*Output:* val, number of possible sequences, modulo 1,000,000,007\r\n\r\n*Example:*  Small Train Case examples \r\n\r\n  ab bbbc cd Val=1 as only abbbbccd can be created\r\n  aa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\r\n  abc bcd  Val=0 as c is internal and thus can not connect to c of abc\r\n\r\n*Theory:* \u003chttp://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars Train Small Spoilers\u003e\r\n\r\nLarge Case specific info. See \u003chttp://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow Usage of java math\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\r\n\r\n\r\nAdditional GJam solutions can be found at \u003chttp://go-hero.net/jam Example GJam Matlab solutions\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 408.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 204.15px; transform-origin: 407px 204.15px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 94.5333px 7.91667px; transform-origin: 94.5333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis Challenge is derived from\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.783px 7.91667px; transform-origin: 373.783px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 19.4333px 7.91667px; transform-origin: 19.4333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eInput:\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: 296.4px 7.91667px; transform-origin: 296.4px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.2667px 7.91667px; transform-origin: 25.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eOutput:\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: 183.233px 7.91667px; transform-origin: 183.233px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.1167px 7.91667px; transform-origin: 31.1167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample:\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 87.2667px 7.91667px; transform-origin: 87.2667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e Small Train Case examples\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eab \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 173.25px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 173.25px 7.91667px; \"\u003ebbbc cd Val=1 as only abbbbccd can be created\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 327.25px 7.91667px; transform-origin: 327.25px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 11.55px 7.91667px; transform-origin: 11.55px 7.91667px; \"\u003eaa \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 130.9px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 130.9px 7.91667px; \"\u003eaa bc c Val=4 aa gives 2 positions\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 184.8px 7.91667px; transform-origin: 184.8px 7.91667px; \"\u003e, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.833333px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.833333px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.833333px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.833333px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 261.8px 7.91667px; transform-origin: 261.8px 7.91667px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 15.4px 7.91667px; transform-origin: 15.4px 7.91667px; \"\u003eabc \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 11.55px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 11.55px 7.91667px; \"\u003ebcd\u003c/span\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 7.7px 7.91667px; transform-origin: 7.7px 7.91667px; \"\u003e  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(170, 4, 249); border-block-start-color: rgb(170, 4, 249); border-bottom-color: rgb(170, 4, 249); border-inline-end-color: rgb(170, 4, 249); border-inline-start-color: rgb(170, 4, 249); border-left-color: rgb(170, 4, 249); border-right-color: rgb(170, 4, 249); border-top-color: rgb(170, 4, 249); caret-color: rgb(170, 4, 249); color: rgb(170, 4, 249); column-rule-color: rgb(170, 4, 249); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(170, 4, 249); perspective-origin: 227.15px 7.91667px; text-decoration: none; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 227.15px 7.91667px; \"\u003eVal=0 as c is internal and thus can not connect to c of abc\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 25.6667px 7.91667px; transform-origin: 25.6667px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eTheory:\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTrain Small Spoilers\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 91.0333px 7.91667px; transform-origin: 91.0333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eLarge Case specific info. See\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eUsage of java math\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: 199.05px 7.91667px; transform-origin: 199.05px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 131.083px 7.91667px; transform-origin: 131.083px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAdditional GJam solutions can be found at\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: 1.95px 7.91667px; transform-origin: 1.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://go-hero.net/jam\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eExample GJam Matlab solutions\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: 139.267px 7.91667px; transform-origin: 139.267px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function val=train(s)\r\n% s is a string of strings separated by a space\r\n val=0;\r\n vstr=regexp(s,' ','split');\r\nend","test_suite":"%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggg ddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddd dddddddddddddddddddddd dddddd dddddddddddddd dddddddddddddddddddddddddddddddddddddddddddd xxxxxxxttttttttteeeeeeppppppppppppllllllliiiiiiiifffffffffffffffmmmmmmmmmmmjjjjjjjhhhhhhhhhh uuuuuuuuubbbbbbcccccccvvvvvvvvvvkkkkkkqqqqqaaayyyyyyooooooooooonnnnnnnnnnnnrrrrrzz dddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddddd ddddddddddddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ddddddddddddddddddddddddddddddd ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd';\r\nVexp=728878867;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ggi aaaaaaayy iiiaaaaaaa lllllllgggggg iiiiiooooooooo';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ssssssssssssssssssssbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccc jjjjjjjjjjjjjjjjjjddddddddddddggggggggggggggggg qqqqqqqqqqqqffffffffffffffffffuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmjjjjjjjjjjjjjjjjj cccccccccccccccccccccccccccllllllllllllllllllllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiieeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnzzz bbbbbbbbbbbbbbbbrrrrrrrrrrrrrnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh eeeeeeeeeeeeee zzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaappppppppppppppppppppssssssssssssssssssssssss';\r\nVexp=2;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='kkkkkkkkkkkkkkkkkkkkk llllaaaaaa gggggggggggghhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy aaaaaaaaa vvvvvvvvvv yyyyyyyyy xxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb gggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss iiiiiiiiiiimmmmmmmmmmmmmmmmmmmm vvvvvvvvvvvvvvvvvvvvvvvvv ssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuu vvvvvvvvvvvvvv uuuuuuuuuuuuuuuuuuuiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttteeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooo nnnnnnnjjjjjjjjjjjjjjjddddddddddd oooooooooooooooooooooooooooooooooooooooooogggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooo vvvvvvvvvvvvvvvvvvvvvvvv bwwwwwwwwoooooo sssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ffffffffffffffffffffffffffffffffffffff kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzbbbbbbbbbbbbbbbbbbbbbbbbbbb ooooooooooo kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx pppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv qqqqlllll mmmmmmmmmmmtttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ccccccccccccccccccckkkkkkk yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaannnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqq';\r\nVexp=265420800;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrjjjjjjjjnnnnnnnyyyyyyxxxxxlllltttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwww yy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwww xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalllllllllllllllllllllllllllllllllllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnttttttttttttttttkkkkkkkkkkkkkkkjjjjjjjjjjjjjooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllgggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww uuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh yyyyyyyyyyyyyyyyy wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww mmmmmmmmmmmmeeeeeeeeeeeesssssssssdddddddddddzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrffffffqqqqqqqqqqqqqqq bbbbbbbbbbbbbbbbbbbbbbpppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyy';\r\nVexp=161166448;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq vvvvvvvvvvvvvvvvvvv lllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv jjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vv tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttt zzzzzrrrraaaaaasssssssseeeeeegggggggiiiooooooooooooobbbbbbbbkkkkkkkkkkyyyyyyyyyyywwwwwwww tttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvmmmmmmmmmmmmmmmmmmmmmmmmmmmmm tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnndddddddddddddddddddddddddddxxxxxxxxxxxxxxxx tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttt ffffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhllllllllllllllllllllllllllllllllllllllllll tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt pppppppppppppppppppppppuuuuuuuuuuuuuuuuuuuuuuuuuuucccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmm mmmmfffffffff jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttttttttt';\r\nVexp=459335393;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ppppppp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz ttttttttttttttttttttttttttttaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ddddddddddddddddpppppppppppppppp hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh xxxxxxxxxxxxxxxxxxxxxxxxxxxx hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaavvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh pppppppppppppppppppppppppppjjjjjjjjjjjjjjjjjjjjjjjjjjjjj hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhh pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnooooooooouuuuuuuuuuurrrrrrrrrrrwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwwwwwwwwwwwwwwwwwwwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttt zzzzzzzzzzzzzzzzzzzzz ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccceeeeeeeeeeeeeeeeeeemmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh fffffffffffqqqqqqqqqqqq yyy vvvvvvvvvvvvvvvvvvv xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz aaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhhhhhhhhhhhh ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd kkkkkkkkkkkkkkkkkkkkkkkkkkkkkzzzzzzzzzzzzzzzzzzzzzzzzzzzzz vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ss hhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbsssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh dddddddddddddddddddddddddddddddddddddddd hhhhhhhhhhhhh tttttttttttttttttttttttttttttttttttttttttttttttt bbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhh zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh';\r\nVexp=893810165;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhsssssssssssssssssssssssssss gggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii lllllllllllllllllllllllll ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllyyyyyyyyyyyyyyyy qqqqqqqqqq wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww pppp bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmm sssssssssssssssssssssssssllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm iiiiiiiiigggggg mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii gggggggggqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq fffffffvvvvccccccccccccoooooddddddddd uuuuuuuuuuuuuuuuaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrzzzzzzzzzzzzzzztttttttttttteeeeeeeeeeeeeeeeee ppppppppppppppppppppp hhhhhh ssss ppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkpppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yyyyyyyyy xxxxxxxxxxxxxxxxxxxxjjjjjjjjjjjjjjjjjjj lllllllllllllllllllll mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg wwwwww hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk';\r\nVexp=588556762;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooooooooooooooo llllllllllllllllllllllllllllllllllllll bbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc oooooooooooooooooo cccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiii oooooooooooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjwwwwwwwwwwwwwwwwwwwwww ooooooooooooooooooooooooooooooooooooooooooooooo bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooooooooo ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa oooooooooooooooooooooooooooooooooooooooooooo iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ccccccccccccccccccccccccccccccccccccccccc bbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ooooooooooooooooooooo uuuu cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllll aaaaaaiiiiiiiiiiiiii uuuuuuuuuuuuu kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ccccccccccccccccccccccccccccccccccccccccccccccccckkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo iiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjj nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxx llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll iiiiiiiiiiiiiiiiiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllll eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa uuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ii iiiiiiiiiiiiiiuuuuuuuuuuuuuuuuuu oooooooooooooooooooooooooooooooo xxxxxxxxxxxxxxxxxxxxxx lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwww aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa llllllllllllllllllllllll eeeeeeeeeeeeeeeeeee lllllllllllllllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=125298902;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='hhhhhhhhhvvvvv kkhh ppmmmmmmmmm zzxxx sssccccccc fffffffqq yyyyyyyeeeeee xxxxxxxxi eeeeeeeeaaaaaaaa jjjppppppp ddddf cccccrrrrrrrr';\r\nVexp=720;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ppppppppppppppppppppppppppppppppppppppppppppyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqq llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll yyyyyyyyyyyyyyyyyyyyy ttttttttttttttttttttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzppppppppppppppppppppppppppppppppppppppppppp ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ffffffffffff iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ddddddddddddddddddddddddssssssssssssssssssssssssssssssss qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu zzzzzzzzzzzzzzzzzzz rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr cccccccccccccccccccccccccccccccccccccccccccc rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaa pppppppppppppppppppppppppppp yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ccccccccccccccccccccccccc cccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiivvvvvvvvvvvvvvvvvvvvdddddddddddddddddd cccccccccccccccccaaaaaaaaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwooooooooooooooooooooo yyyyy llllllllllllllbbbbbbbbbbbbbbbbbbbbbuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy fffffffffffffffffffffffffffffffffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr tttttttttttttttttttttttttttttttttttttttttttffffffffffffffffffffffffffffffffffffffff sssssssssssssssssssssssssss xxxxxxxxxxxxxxxxxxxxxx yyyyyqqqqqqq ffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxx gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ooooooooooooooooooooooooooooooooooooo rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr xxxxxxxxxxxxxxxxxxxxxxxxxxxxxeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii qqqqqqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnn jjjjjjj ssssssssssssssssssssssssssssssssssssssssssswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy jjjjjjjjjjjjjjjjjjjjjjjjjjjjjcccccccccccccccccccccccccccccccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ggggggggggggggggggggggggggllllllllllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc qqqqqqqqqqqqqqqqqqqqqqqqq rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ssssssss cccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj tttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx jjjjjjjjjjjjjjjjjjjjjj';\r\nVexp=45590719;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh mmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmm mmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll xxxxxxvvvvvvvvvvvvvoooooojjjjjjjjaaaaaaaffffffffppppppppyyyyyykkkkkkkkkqqqqqqqqqqrrrrrr mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm wwwwwwwnnnneeeeeeesssssuuuuuuuuuudddddddddiiiiiiii mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmm mmmmmmmmmmmmmmm ggggggggggggggggggggggggggggggcccccccccccccccccccccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=757993753;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggg iihhhhhhaaaaaaaaallmmmmmeeedddddbbbbbbppssssssoooovvvvvvffffftttttttttqqqqqkkkkkknnnnn uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu rrrrrrrrrrrrrrrrrrrrrrrrrr gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggg gggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=16857327;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll tttttttttttaaaaaaaaakkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq ccccccccccc uuuuuuuuuujjjjjjjssssssssssssss llll llllllllllllllllllllllllll cccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc yyyyyyyyypppppppffffffffffxxxxxxxxxxxxxxiiiiiiiiiiiiiii hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh lllllllllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhh ccccccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn kkkggggggggeeeeeeeeeeeeeeeeeoooddddddddddwwwwwmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz cccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=539156306;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnnnnn bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssssssss eeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbb sssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn aaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnn sssssss bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssss bbbbbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnneeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssss nnnn bbbbbbbbbbbbbbbbbbbnnnnnnnnnnnnnnnnn ssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnn ssssssssssssss bbbb ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssss sssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn sssssssssssssssssssssssssssssssss nnnnn aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaa';\r\nVexp=392523621;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='ccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll wwwwwwwwzzzzzzzzzzzzzeeeeeeeeeeuuuuuuuuvvvvvvvvvvvvvvrrrrrrrrrrtttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttthhhhhmmmmmmmmmqqqqqqqqqqqqqq ccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccc lllllllllllllllllllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll bbbbbbbppyyyyyyiiisssssssnnnff ccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllll xxxxxjjjjjjddddaaaaaakkkkkkkkk cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc llllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllll lllllllllllllllll lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccclllllllllllllllllllllllllllllllllllll ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccc lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccc tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cccccccccccccccccccccccccccccccccccccccccccc';\r\nVexp=981953933;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='wwwwwwwwwwhhhhhhhhhh zzzzzzzzzzzzzzzzzzzzvvvvvvvvvvvvvvvaaaaaaaaaaaaaaaaaaaaaaiiiiiiiiiiiiiiiiiii kkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuu jjjjjjjjjjjjjjjjjjjjjjjjjjjjjbbbbbbbbbbbbbbbb kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu mmmmmmmmmmmmmmmmmmmmmmmpppppppppppppppp kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee jjjjjjjjjjjjjj eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqq jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk uuuuuuuuuuuuuuuuuu qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq lllllnnnnnnnnnnnnnnnnn nnnnn wwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq wwwwwwwwwwwwwwwwwwww kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk xxxxxxxxxrrrrrrrrrgggggggggggggffffffffftttttttccccccccccccccccoooooooddddyyyyy eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjj uu bbbbbbbbbbbbbbbbbbb qqqqqqqqqqqqqqqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeelllllllllllllllllllllllllllllllllllllllllllll bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=310957976;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='aabbbbbcccddeeeeeeeefffgggggghhhhiiiiiiiijjkkkkklllmmmmmmmnnnooooppppppqqrrsssttuuuuuuuvvvvwxxyyyyya';\r\nVexp=0;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbb lllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaa hhhhhhhhhhhhhhhhhh iiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbb llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhh jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv hhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb qqqqqqsssssspppppppppmmmmmmfffffffff vvvvvvvooooooooooowwwwwwwwwwwccccccccrrrrrrrrrrddddddddddddddddddd xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ttttttttttttttttttttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnnnn hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhh hhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh llllaa gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh nnnnnneeeeeeeeettt bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb tttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz hhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnnnnn tttttttttttttttttttttttttttttttttttt uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzlllllllllllllllllllllllllllllllllllllllllll hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh kkkkkkkkkkkkkkkkkkk bbbbbbbbbbbbbbbbbbbbbbb uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh uuuuuuuuuuuuuuu aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb';\r\nVexp=236753019;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt';\r\nVexp=1;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq dddddddlllllllllllllll xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttt hhhhhhhhhhhhhhhhhhhhhkkkkkkkkkkkkkkkkkkkkk aaaaaaaaaaaaaaaaaaaaaaaaaaaccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggddddddddddddddddddddddddddddddddddddddd ttttttttttttttttttttttttttttiiiiiiiiiiiiiiiii llllllllllllllllllhhhhhhhhhhhhhhhhhhhhhh rrrrrrrrrrrrrrrrrzzzzzzzzzzzzz kkkkkkkwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx qqqqqqqqqqqqqqqqqqqqbbbbbbbbbbbbbbbbbbbbbbssssssssssssssssssssssssssssssssss sssssssssssssss oooo ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp mmmmmmmmmmmm ffffffeegggggggg iiiiiiiiiiiivvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvfffffffffffffffffffffffffffffffffffffffffffffff xxxxxxxxxxxxxxxxxxxxxxxxx oooooorr ffffffffffffffffff pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp xxxxxxxxxx ooooooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmoooooooooooooooooooooooooooooo';\r\nVexp=48;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeee dduuknnnbbyyysssssqqmmfrrrrrraaaacczzziiiiigggggxxxllllp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj vvvvvvvvvvvvvvvvvvvvvvhhhhhhhhhhhhhhhhhhhhhhhttttttttttttttttttttttttttt eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=901255609;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ccccccccccccccccccccccc yyynnttooppphhhiiiwwllllggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv cccccccccccccccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkmmmmmmm uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu fffffffffffff ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sssssssssssssssssssssssssssssssssssssssssssssssssssss kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk sssssssssssss ccccccccccccccccccccccccccccccccccccccccccccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjccccccccccccccccccccccccccccccccccccccccccc xxxxxxxxxxxxxxxddddddddddddddrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqeeeeeeeeeeeee kkkkkkkkkkkkkkkkkkkkkkkkkkkkk ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk zzzzzzzzzzzzzzzzzz kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzzzzzzzzzzzzzzzzzzzzzzzzzz';\r\nVexp=654434779;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='rrrr rrrrrrrrrrrrrrrrrrrrrrr pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp tttttttttttttttttttttttttttttttt lllllllllllllllllllllllllllllllllllllllllllllllllllllllll ttttttttttttttttttttttttttttttttttttttttttttttttttttt vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv gggggggggggggghhhhhhhhhhhhhhhhhxxxxxxxxxxxxxxxkkkkkkkkkkkkkkkkkccccccccccccc jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj lllllllllllllllllllllllllllllll vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr ttttttttttttt qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll ppppppppppppppppppppppppppppp jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww tttttttttttttttttttttttttttttttttttt ooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrr pppppppppppppp iiiiiiiiiiiiiiiiiiiiiii lllllllllllllll tttttttttttttttttttttttttttttttttttttttttt tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr lllllllllllllllllllllllllllll vvw llllllllllllllllllllllllllllllllllll pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr llllllllllllllllllllllllllllllllllllllllllllllllliiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii dddddddddddddddbbbbbbbbbbbbbbbbeeeeeeeeeeeeeeeeeeeyyyyyyyyyyyysssssssssssssssssssss mmmmmmmmmmmmmmmmmmmmmmmaaaaaaaaaaaaaaaaaaa ppppp vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr jjjjjjjjjjjjjjjjjjjjjjjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt nnnnnnnnnnnnnnnnuuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzzzzz gggggggggggg tttttttttttttttttttttttttttttttttttttttttttttt rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwpppppp iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww jjjjjjjjjjj wwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww lllllllllllllllllllllllllllllllllllllllllllllllllllllllllll cccccccccccccccccccfffffffffffffffff llllllllllllllllllllllllllllllllllllllll tttttttttttttt pppppppppppppppppppppppppppppppppppppppp wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt jjjjjjjjjjjj ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo tttttttttttttttttttttttttttt zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggggggg rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ttttttttttttttttttttttttttttttttttttttttttttttt llllllllllllllllllllllllllllllllllllllllllllllllll vvvvvvvvvv';\r\nVexp=977338612;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ccccccccccccccccccccccccccccccccccccccccccccccc ffffffffffffffffffffffffffffffffffffffffffffffffffpppppppppppppppppppppppppppppppppppppppppppppp cccccccccccccccccccccccjjjjjjjjjjj ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ccc pppppppppppppppppppppppppppppppppppsssssssssssssssssssssssssssssssssssssss ppppppppppppppppppppppppppp eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ssssssssssss iiiiiccccccccc jjjjjjffffffffffff ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ppppppppppppppppppppppppppppppppppppppppppppp ssssssssssssssssssssssssssssseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp eeeeeeeeeeeemmmmmmmmm iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii';\r\nVexp=864;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaa ooooooooooooooooooo mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm nnnn sssssssssssssssssssssssssssssssssssssssssssssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj aaaaaaaaaaaaa jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmm eeeeeeewwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo aaaaaaaaaaaaaaa wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz nnnnnnnnnnnnnnnnn lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv ppppppppppppppppppppppppppppppppppppppppppppppgggggggggggggggggggggggggggggggggggggggggggggggggggggg ttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd fffffffffffffffffffffffffffffffffffffff cceee ooooooooooooooooo jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ffffffffffffffffffffffffffffffffffffffffffffttttttttttttttttttttttttttttttttttttttttttttt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp lllllllllllllllllllllllllllllllllllllllllllll fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp ttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssss wwwwwwwwwwwwwwhhhhhhhhhhhhhhhhllllllll aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii ggggggggggggggggggggggggggggggggggggggggggggggggg aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ooooooooooooooooooooovvvvvvvvvvvvvvvvvvv aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa iiiiiiiiiiiiiiiiiiiiiiippppppppp cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv yyyyyyyyyyyyyyyyyyyyyyyyffffffffffffffffffffffffffffffffffffffffffffff aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa fffffffff mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm ggggggcccccccc mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaa kkkkkkkkkkkkkkkkkkkkkkkrrrrrrrrrrrrrrrrrrrrrrrrrr uuuuuuuuuuuuuiiiiiiiiii nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy mmmmmmmmmmmmmmm aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx iiiiiiiii';\r\nVexp=702191236;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='oooooooooooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbblllllllllllllllllzzzzzzzzzzzvvvvvvvvvvvvvvvvqqqqqqqqqqqkkkkkkkkkkkkkhhhhhhhhhhhhhhh eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee iiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee fffffffffffffffffffffffffffuuuuuuuuuuuuuuuuuuuuuuuu nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn rrrrrrrrrrrrrtttttttttttttmmmmmmmmmmmmccccccccyyyyyyyywwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii pppppppppppppppsssssssssssssssssssjjjjjjjjjjjjjjjjjddddddddddddddddxxxxxxxxxxxxxxxx nnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';\r\nVexp=880614102;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\ns='gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww vvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwww rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwgggggg nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn gggggggggggggg nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzdddddddddddddddddddddyyyyyyyyyyyyyy jjjttttxxxxhhfffllllllqqqqqiiiiiimmmmmmmmuueeeeccccsssooookkkkppppppaabbbbbb vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv nnnnnnnnnnnnnnnnnnnnnnnnnn vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww ggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg vvvvvvvvvvvvvvvvvvvvvvvnnnnnnnnnnnnnnnnnn wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww';\r\nVexp=101045724;\r\nval=train(s);\r\nassert(isequal(Vexp,val))\r\n%%\r\n%s='jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk eeeeeeeeeeeeeeeeeeexxxxxxxxxxxxxxxxxxxxxxxx bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb yyyyyyyyyyyyyyyykkkkkkkkkk mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww oooo ggggggggggggggggyyyyyyyyyyyyyyy iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb iiiiiiii ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc hhhhhhhhhhhhhhggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh wwwwwaaaaaaa rrrrrrrrrrrrrrrr hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh ooojjjjjjj rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk ddddddddddddddddddddddddddddddddddddddddd iiiiiiiiiiiiiiiiiiiiiiiiiiiii","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":3097,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":2,"test_suite_updated_at":"2020-10-01T17:08:50.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-15T21:15:21.000Z","updated_at":"2020-10-01T17:08:50.000Z","published_at":"2014-05-15T21:59:11.000Z","restored_at":null,"restored_by":null,"spam":false,"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\u003eThis Challenge is derived from\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://code.google.com/codejam/contest/3004486/dashboard#s=p1\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eGJam 2014 Rd 1c: Reordering Train Cars (Large)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\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\u003eDetermine number of sequences for set of strings under the constraint that all same characters must be contiguous. The large case could have 26! or more permutations.\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\u003eInput:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e s, string of N space separated string segments of letters [a..z]. 1\u0026lt;=N\u0026lt;=100. Total letters \u0026lt;=100.\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\u003cw:r\u003e\u003cw:t\u003e val, number of possible sequences, modulo 1,000,000,007\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e Small Train Case examples\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[ab bbbc cd Val=1 as only abbbbccd can be created\\naa aa bc c Val=4 aa gives 2 positions, aa'aa''bcc,aa''aa'bcc, bcccaa'aa'',bcccaa''aa'\\nabc bcd  Val=0 as c is internal and thus can not connect to c of abc]]\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\u003eTheory:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/2324-gjam-2014-rd-1c-train-cars\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTrain Small Spoilers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003eLarge Case specific info. See\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/problems/1833-usage-of-java-math-add-multiply-pow\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eUsage of java math\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e for unlimited precision. Note intValue gives more precision than floatValue. No java factorial exists so a function, non-recursive, is suggested. The small solution can be converted via java BigInteger factorial, mod, multiply, and intValue to solve the large case.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAdditional GJam solutions can be found at\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://go-hero.net/jam\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eExample GJam Matlab solutions\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e. Select Find Solutions, change Language to Matlab. The Test Suite, at the bottom, contains a full GJam Small Matlab solution. No Valid Matlab solutions were submitted during the contest.\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":51565,"title":"Convert a number from base 10 to factorial notation ","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 114px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 57px; transform-origin: 407px 57px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/51560-convert-a-number-from-factorial-notation-to-base-10\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eCody Problem 51560\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: 318.25px 7.91667px; transform-origin: 318.25px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e asks you to convert a number from factorial notation to base 10. This problem is the companion: Write a function to convert a number from base 10 to factorial notation with a tolerance \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: 3.85px 7.91667px; transform-origin: 3.85px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003ep\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 49.775px 7.91667px; transform-origin: 49.775px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e that defaults to \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAAnCAYAAABT7SsqAAABpElEQVRoge2YXbGDMBBGj4c6wEANoKAKcFAHdYAFNCABD7VQDVjofUh22GEuzZIu0HubM5OH0mXZL9lsfqBQKBQ+jxtwPjqIvbgBT+BydCB7UBHEfo3gAbjzJYKvQI9jSjfAA3sxqICO0OtDfLdf8f4aTtF/hYNgESpzwxJwE22HGIzQxedtbjAL9PGb8IbgMyGwFhixC66j3UjocY2MxJOQgh5cCPNWyBasgxUnFsEiqFv4/8rUIXr0m/gdS5POkg7UMbnMYavgRtk1CzZnZXNTz1um+Z5qnXpH+9Cx7iK4N9qJzf2FjQWpE7pJht3j7zrHsVWw2IwJf4OyPSVsU3HNm/iWJWpeR8yOU4L1LmeN4KwReMFuKV2TJ9irWguHCB4S/lq2E1zzRioLawX3K/x5C3bhL6W0CxbBJz6jaLlgXZZkC2oVPCb8HUbOxuNV0ZCOeXgF6E3O1nJpWdDrtfepyY2tDg9vLR1bskawrta/bRu9j4eboKuqZQcjqT0/HGx1AeBCRQhM33ZI60iPUE0oYg+myzV9M1EoFAqFQqFQ+Ff8APH62h1KkXcWAAAAAElFTkSuQmCC\" alt=\"10^{-4}\" style=\"width: 30px; height: 19.5px;\" width=\"30\" height=\"19.5\"\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: 50.5583px 7.91667px; transform-origin: 50.5583px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e if not specified. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 31.5px; text-align: left; transform-origin: 384px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 361.758px 7.91667px; transform-origin: 361.758px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven 463, your function should return the character string ‘34101’, and given 23/24 (and the default tolerance), your function should return ‘0.123’. As in the previous problem, use A, B, C, etc. for digits greater than 9, and take the first place after the decimal point to be the 1/2! place.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = dec2fact(x,p)\r\n%  x = base-10 number to be converted\r\n%  p = tolerance (default value = 1e-4 if not specified)\r\n  s = num2str(x,p);\r\nend","test_suite":"%%\r\nx = 463;\r\ns_correct = '34101';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 23/24;\r\ns_correct = '0.123';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 4;\r\ns_correct = '20';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 21;\r\ns_correct = '311';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 53;\r\ns_correct = '2021';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 719;\r\ns_correct = '54321';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 8675309;\r\ns_correct = '2381201021';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 888888888888;\r\ns_correct = 'A2985943012000';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 99887766554433;\r\ns_correct = '4C5B031684321111';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 0.2;\r\ns_correct = '0.0104';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 1/3;\r\ns_correct = '0.02';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = 29.99;\r\ns_correct = '1021.1233454';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = pi;\r\np = 1e-8;\r\ns_correct = '11.00315650147';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = exp(1);\r\ns_correct = '10.111111';\r\nassert(strcmp(dec2fact(x),s_correct))\r\n\r\n%%\r\nx = exp(1);\r\np = 1e-8;\r\ns_correct = '10.1111111111';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = sinh(1);\r\np = 1e-8;\r\ns_correct = '1.0101010101';\r\nassert(strcmp(dec2fact(x,p),s_correct))\r\n\r\n%%\r\nx = cosh(1);\r\np = 1e-8;\r\ns_correct = '1.101010101';\r\nassert(strcmp(dec2fact(x,p),s_correct))","published":true,"deleted":false,"likes_count":4,"comments_count":3,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":6,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-25T14:00:16.000Z","updated_at":"2021-04-25T14:01:53.000Z","published_at":"2021-04-25T14:01:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/51560-convert-a-number-from-factorial-notation-to-base-10\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eCody Problem 51560\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e asks you to convert a number from factorial notation to base 10. This problem is the companion: Write a function to convert a number from base 10 to factorial notation with a tolerance \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\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e that defaults to \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=\\\"10^{-4}\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e10^{-4}\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e if not specified. \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven 463, your function should return the character string ‘34101’, and given 23/24 (and the default tolerance), your function should return ‘0.123’. As in the previous problem, use A, B, C, etc. for digits greater than 9, and take the first place after the decimal point to be the 1/2! 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":52609,"title":"Easy Sequences 11: Factorial Digits without Trailing Zeros","description":"Here is an easy one...\r\nIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\r\n  \u003e\u003e length(num2str(factorial(10)))\r\n  \u003e\u003e ans =\r\n     7\r\nBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\r\nWrite a function that outputs the number of digits of factorials excluding trailing zeros.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 183.3px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 91.65px; transform-origin: 407px 91.65px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 69px 8px; transform-origin: 69px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eHere is an easy one...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 354.5px 8px; transform-origin: 354.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404px 30.65px; transform-origin: 404px 30.65px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 140px 8.5px; tab-size: 4; transform-origin: 140px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; length(num2str(factorial(10)))\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 40px 8.5px; tab-size: 4; transform-origin: 40px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e  \u0026gt;\u0026gt; ans =\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 24px 8.5px; tab-size: 4; transform-origin: 24px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 368.5px 8px; transform-origin: 368.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 303px 8px; transform-origin: 303px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eWrite a function that outputs the number of digits of factorials excluding trailing zeros.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function n = numFacDigits(x)\r\n    n = length_of(num2string(x!)) - '0';\r\nend\r\n","test_suite":"%%\r\nx = randi(3);\r\nn_correct = 1;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 10;\r\nn_correct = 5;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 100;\r\nn_correct = 134;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 5000;\r\nn_correct = 15077;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = intmax;\r\nn_correct = 18570655587;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = double(intmax)*10;\r\nn_correct = 207181392197;\r\nassert(isequal(numFacDigits(x),n_correct))\r\n%%\r\nx = 3:12;\r\nn_correct = uint64([2319 33161 431575 5315711 63157061 731570558 8315705525 93157055190 1031570551819 11315705518107]);\r\nassert(isequal(numFacDigits(10.^x),n_correct))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":223089,"edited_at":"2023-06-03T06:48:10.000Z","deleted_by":null,"deleted_at":null,"solvers_count":20,"test_suite_updated_at":"2023-06-03T06:48:10.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-08-24T11:46:25.000Z","updated_at":"2025-11-30T19:40:35.000Z","published_at":"2021-08-24T12:11:43.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\u003eHere is an easy one...\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\u003eIt is not difficult to count the number of digits of the factorial of a given number. For example for 'n = 10', we have:\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[  \u003e\u003e length(num2str(factorial(10)))\\n  \u003e\u003e ans =\\n     7]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eBut 2 of those digits are just trailing zeros. So, for 10!, if we remove the trailing zeros, there would only be 5 digits left.\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\u003eWrite a function that outputs the number of digits of factorials excluding trailing zeros.\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":53009,"title":"Easy Sequences 48: Prime Big Omega of Factorial Sequence","description":"For an integer , the prime big omega function, , is defined as the total number of prime factors of . So, if  , since , therefore .\r\nGiven an integer , write a function that evaluates the following summation:\r\n             \r\nFor example for :\r\n            \r\nIn this case therefore, the function should return .","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.440000534057617px; 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: normal; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 272px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eFor an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e, the \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Prime_omega_function\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eprime big omega\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; \"\u003e\u003cspan style=\"\"\u003e function, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAmCAYAAACf8yaaAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQ6ADAAQAAAABAAAAJgAAAAADuZvZAAAFIklEQVRoBe2YechVRRiHr9tXoqXZYqWmloZtlFlU0upSYCRBImUFBSqSRWFBf1hUhBVRf7TQXh+UCGJRmkGiGSEuYQRWJphrqWRmZRpqLvX8uPN+DNOcOefe+90yOC88zsz7/ma575kzZz4rldLKDJQZKDNQZuB/nYEJrH4DHNNOv+JLxnmg1rE619DhOLSjYQj0BvXdDBthNXwF9dhUOr0Ak2B3PQNE+kzDtwBOgfsj8bpdSsKbcBD+cuyl/Mlry78cboZOUNQuQfgnzCjaoQbdbWgPg9bULjaeUX4ES8LL1IdDC8j6gLb4djDNQuq9IM+U5E3wPnSAZtjjDKrddlajg09mAPuBB6hPSQyopKzw9N9S757QK/QBaNwz1GiSHc2426DIejKXMIjIHrBkKMN5NhCBtrz1eTvRQbtJutcTmvYK3ePmeqzeAZe6AbTgXaAtXcReQmTJUJm1PT9xugGUzbajmGAHbIKaX0dtef8HvUi7qF2K0O/7TKRjP3yH4JtIrFmu2QysdY1ITdAxEtQJ71sti/7O70h9WNBW81bQvNodeabP97lwOzwNesoyPeHr4UmYDsdCyha74J0pUSz2BE7/6Y6KiRI+vVbWXxep0D7DofjYMOC1z6O+EvaBjWWJ1t1hkedXfD6k7EyC0m1NiWI7I9R3CR05bV+v73xopzmHTvgs20jgPtDFyWwuleNByTwRHgTdfWQXV4vMf5VIvZong3Zb1GLJWB8oBwbtVFOTdfUE4ZPoQOxUF9/p6cLqHhxLYbkXWEh9HqwDnU16baSTKXkp0674FfR7bf5/6GPJ0GS+Xes3cupXBfGvg7aeaAvoKf0WxGJNm1uJuxG6wXjYC/2gJ8hWVYvkv5b8vklVENQhtRmUTXEAekMRW4TI+qm8LOh0vov/HPhjTf3w/U6/hVI3Sb37ZrdQsbnGmTNR2qVQB29Ndgdqm0jlWwV6j0SjM8L6xQ413TYVt+1NNdPGELGxVE4KlFqT/AehyD1Iu0f666Am64R6JviLmZwYQefKDk+vA0uvRGi6HtuY2oEpe46gaVdGhD+4uH+uRGRtLu0ujXdOmyenMpj4RE/zEHVl3halP6r6evEu1B+B38HX2Lus12QE+GZ/7WYeZE68htLGDF833Wwt9qjT5xX2me6RJ7T4DVS2g059M30KZ4D8WsDdYNafinza9q9AmPXF+FrBN/3Hi/pc5DuDug5HacTnQUzNe8HiwyPx0KXXSHqdO5kW+5qchPoNGAUXwgnwHjwMMv+2163qqrxK+Rpo66uPPn1PwRUQmp64LBarRioV+4qoPcucXqm1yXaBkjUM5kCWXekCOjcKm3aGZTyr1I8002UnS2f+VhO70g7GDwO/35xNw/r38QOurs+y4nOhP2yDuyDLnicg/ZQsQcxfJBn6y9Tsaiq26Kyy1cSu1OGsxeupdnY+v9Bu3Qka7ws/4OrajTbXBupbIJzDSduK1dT2Q682T6QSvibqkGctnkA/LM/CMQ/R4R3Q6zYh0nkIPlv0vEj8D3x2jugr9jFMjOjMdTmVs+Ej+MWcR1I5gMVoZ6yD2O7AnbSuRK+B05OqavBTCn1JhhbQ/meSm5hZ2z31VBtd3Eg3x9RGB/o3+j/LJPrcXdCEyXSP+R7ebcLYTRlSr8gS2Ar+Za7RybozgO4z66HwJavRSdujv+4xy2AVFDmQi8w5H9FaGFREfKRp9IUaB+HXrd516jzyL4f1jlP2KzNQZqDMQJmBIhn4G6cDR4LpNKGRAAAAAElFTkSuQmCC\" width=\"33.5\" height=\"19\" style=\"width: 33.5px; height: 19px;\"\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; \"\u003e\u003cspan style=\"\"\u003e, is defined as the total number of prime factors of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e. So, if  \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAkCAYAAACUjSQ7AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAZ6ADAAQAAAABAAAAJAAAAAAk0t2MAAAFAElEQVRoBe2ZW6iUVRTHz9EyitSskJQuUmQXoxKKMohulHEIQgKDelGIMIiSHgIriG4UgSQFPQg9RNmd6KWbRZzUCqRAswuZ1OlGNzLtJllWv//MXjNrtvvMN+ds6sxMe8H/22uvtdf69l77tr6ZgYFCJQIlAiUCJQIlAiUCJQIlAt0bgcHu7dq/0rND8DoE5oFp4G3wFvgQVJFitRAsALPBFvAS2AqqKMe2yndf6Jcyih/A3wmsQtZuoc5EvynYfUf5DNge6m9SHgRGoxzb0Xz2lfwKRqNJ+QU8CbTidwA/UbdST9EMhJuB2r4K9gWi/cB6IPlGMB3ElGMb++rL+ixG9RtYCw51I5wCvxzYBL3rdJ59PbSRj2O8An4u2AXk41kQU45t7Ksv67czKq1srfQUvY/QJmhq1OA0p1sT6az6WGizh3KOCSlzbGtuJjln/cpqUpaA30cZ4LdBrvtIx56npa6yzvGeNbliucwpcmydm/8vq4n7FWjnaAd40t1il770x3ul40+Et52nZEGUY1v3UPHU+XwhuBEscm2Pgr8W3AcucPJeZC+j0wrsN+CwaABHB530OrIGI71VJZfeJkjpeo6t+U2WK5F+CexlKq8MLbVVtfW97vSg67ViiA7rktdxdkSi82cjs3H+mNB7kc/85qPIsfV+9+KPQ7IY7Abq3B9AKeF14E+gHfMisI5fA98pKaNRMHKRs2O1Q+4GNj6NQ/fGkcDT5VRsjJ96RYIfcW0vhc+xbbjfp8E1mY9gPwG6QHV2rgfngnuAVptS0uvBxUBU1fF6q/pzKsXBXjBOXv0aD9lxHI9bK/0NcAKwpMAfczsrXvaz08+EP8DVx2rbMI07aYoFMAeGivL/h8HVQBMjOrle1J6bHV/FaoKfrmrUgf6dDtqkmjyEULte98J54BZg4zwcfgW4GYh21YvaU/dKO/JxnEzDHNt276np7uRpW/oz+NWRhXaX9O9F8l6rzqHD+uq3sW51A9DxZPIRJ0+x0lvbRfA5tin/LbKN7mXqsN+mOputIytbrHqzoqN2dxiT7tQpYRhnBpnGqgu/HfmEQHY5tu3eU9vye2hhE3B+1Poqp1sY6Xq1OuzGpCNPpGPOYvAX/CQJEyS59NZWizfHNvGKpshnGi83xQ1OPxyqIzpX929IO2O6IVtL9fQOhBrT9ki5JcilOyXSWVX3r03MNhNS5tjW3PiLzPxeZAzlKseL1SqxNFZZnL/4pK+iic7WRuuf7RYF1JOSl5OC4BzKVPKjxMJojTGUObY1N+0m53tavOJeJnY+sIGsDTplQI+A4VBvV0x0tpbqm9JyW5DxYlSAbwtGmoT7A+8Lf+w/6hQ5ts5Nk1Web1t0dVPc4JY7vSbqLvAxmA66lXRMPweUJqeO4ZuQa8zDIEUPIJRe9/AZUYOzglx6LdKYcmxjXy3/b1yyl3Zg4F5kNnk61nYC/82TMJlw0Rf0wPr8OfwSMAtocT0IpHsN6MhN0WSELwC1+wAcC0RzgX1SPA+fOoVybPWOFnqKmjqhX2pTq2wIuWUmX8Fr5XQ73UAHbXJ8+RPyDWAxGATtSBP3BLAsdgRevlR/HPhPDaotNG7bqk61vCVU5lFOA5vAWBOC4OI/L/R74algBtBO0sezdpECPBZSmqysbTb4GigG8tMJ5dh24r+0KREoESgRKBEoESgRKBEoESgRKBEoEej6CPwDgNumfOA2zXYAAAAASUVORK5CYII=\" width=\"51.5\" height=\"18\" style=\"width: 51.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e, since \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"103.5\" height=\"19\" style=\"width: 103.5px; height: 19px;\"\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; \"\u003e\u003cspan style=\"\"\u003e, therefore \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"149.5\" height=\"19\" style=\"width: 149.5px; height: 19px;\"\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; \"\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; text-align: left; 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; \"\u003e\u003cspan style=\"font-weight: bold; \"\u003eGiven an integer \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: STIXGeneral, STIXGeneral-webfont, serif; font-style: italic; font-weight: normal; color: rgb(0, 0, 0);\"\u003en\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"font-weight: bold; \"\u003e, write a function that evaluates the following summation:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 46px; 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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003e            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-17px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"59\" height=\"46\" style=\"width: 59px; height: 46px;\"\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; \"\u003e\u003cspan style=\"font-weight: bold; \"\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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eFor example for \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASaADAAQAAAABAAAAJAAAAABLVRfgAAADF0lEQVRoBe2XW4hNURjHZ1ySy4xcSjwQkUSk4YGUck9ePPDiSUkpGQ9SXnihJOLBkxqSlCiaPCiMppnyILcRD0guMR7wMBhk3H7/sVfWWdY5e+1j4thnffU76/J939rr+/be39qnpiZKzEDMQMxAzEDMQN4yUJu3gALimYONL+465ncmtAWsk1uT5UT2vQSd6AbmNvrAwFpKJEjJ2+Vbx/fY+ezyMNdAENehFdrBlddMNEG3q6im8SmC/QpTqinoLLFOwvgL6Emqz+JYTbaHCdYUbD1Nd2A/zIQ/ktF4L4XtsNpaaQL9zXAQFlvzldodxcZUZ0yS3LYZ3Zismz+Aw3Nn0XXJIutp3zu6uYmuUhvd1PPwGL6BmySNn8E4CJapWK6Fz6AFemAEbAG913qCLoC52Cb6oXIWwzd9QLlP8FCurZt6DPTamRjU3oT+ECz6oHoHcr4Cet0+wDKQNIK5wIrembCfS5af8S+nzXLNYjubjeKqsx/zxhT4DCgY/RrMozssGarIHYeNcDGZswteRzIX0uzF6EyIYYrNjRR9iPoWRkq2TjzzWaBychKCZDdW5g4/pX/E8bqf6O868//jcAabVhlRvA+zBHAtcZLjAxhiOY+3dCryeZB7BKFYu0KD0ZFpF7VFjuMGxuYp0x/GPMgJglBMemt+E19NWoJVv8RSNUiF2xZ9O0k+QVtvL/xHp9vCcPOiljp9W4pqsysUi+Tlz6bw15ckc4LJ8lCheW/yzPHbju6jo08b1mEwMs0oQK/Tty9lVrJYs2/RUkl6hYOObFt0bOp1lJiTrom+HtdWSJNKOt3MXhfQ0bdTDyiWVJmGhak37okm562WXgnbAzoRhkMlyiA2dRk64RxMBlt0wztAMTfailJ9OwmrPIb7mDNJ1OvWBfY3k8fln05pb2a/alUedoD+VawBndya3wbBchpLOXXDYI/XSubM/58X9Od7bCpt6qi1ZzthikMHSUPahmvTDDz66czVw23IWrg9y/2VqYlcRR+NY+EtPIFHoLobJWYgZiBmIGYgZiBmIGYgZqDMDPwABjze7p/ZcSIAAAAASUVORK5CYII=\" width=\"36.5\" height=\"18\" style=\"width: 36.5px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 76px; 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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003e            \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-32px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABBsAAACYCAYAAAClKeGhAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEG6ADAAQAAAABAAAAmAAAAAAL4Um9AABAAElEQVR4Ae2dB7gWxfnFlSKKioodUK49do0dhagYNbZoLLGLFf9qNNEUS4w9do0lRmNDxcTeTVRskYjEiokdC2JBsYsVRP/nwA4Ow2z7dme//e497/McdnZmduad387Ozs7u/ZhpJpkIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIiEBTCcwcsPZFUPYuTvkrYf8K6G4nXrsiIAIiIAIiIAIiIAIiIAIiIAIiIAIikErgz8jxnaOx2O+ceqQyiIAIiIAIiIAIiIAIiIAIiIAIiIAItCyBUF82zAciY6BDoU8gY6MQeNHsaCsCIiACIiACIiACIiACIiACIiACIiACWQkci4zDoU5ZD1A+ERABERABERABERABERABERABERABEYgj0B0J70P8E4pPoVuhLSGZCIiACIiACIiACIiACIiACIiACIiACDREYE0cNRqaDNm/2cAfhtSXDoAgEwEREAEREAEREAEREAEREAEREAERaIzAbDhsIDQSMosORzRWlI4SAREQAREQAREQAREQAREQAREQAREQge8J8Ecoz4e44PABFOpHKVG0TAREQAREQAREQAREQAREQAREQAREoKMQ6IqG8k8ruOCwYEdptNopAiIgAiIgAiIgAiIgAiIgAiIgAh2RQFW/oTAJcB+OAHfuiKDVZhEQAREQAREQAREQAREQAREQARHoKASqWmwgz4nQF9B47shEQAREQAREQAREQAREQAREQAREQAREoAiBbjh4DHRJkUJ0rAiIgAiIgAiIgAiIgAiIgAiIgAiIQMckwD+XeB0aDPHHIPn1xEUQf7OhFyQTAREQAREQAREQAREQAREQAREQAREQgVwEbkVu819dvoDwq9AQSAsNgCATAREQAREQAREQAREQAREQAREQgfZOINR/Q7kMwPWGPoS42PApJBMBERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERCBJhLw/RnFgvBnANSliX65VQ9DxPtupPZFQAREQAREQAREQAREQAREQAREQARag8DRcNP8wGNdtie1Bjp5KQIiIAIiIAIiIAIiIAIiIAIiIAIi4PuyYSNguQdy055D3MUFkPG/wJw10mzY9oT6RGrDtjsUZ+8hYVHoq7gMihcBERABERABERABERABERABERABEag3gdPgnvtVw0TErRXIbf7JBsv+DXQ79CXk1r8n4mQiIAIiIAIiIAIiIAIiIAIiIAIiIAI1J+B+vWDc7YrAw9AaJiLavobtKlDo/8qSvxvxS+j/oLkg2iho1Skh/dOKBNaH0wvXyPF34MsDNfJHroiACIiATWB97GjMtIkoLAIiIAIiIAIi0G4ILIGWfAK5XxhcU2ELudBwk+VD/wrrVlXlEphsnUe3TzVj/zP4M3e5TVRpIiACIlAaAY2ZpaFUQSIgAiIgAiIgAs0gEPdlg/FlZwSuNjvWdh+EL7X2Qwbp4wnQUdCN0HaQrPUIPASXfYtFJyL+gwLNmQXH8rdA+Dsg/N2PXhB/C2QRqDeUZL9G4plJGZQmAiIgAk0ioDGzSeBVrQiIgAiIgAiIQHUELkNV7pvnzxG3bHUuTKnpdPz7DcSHSFnrEeB546KC25duDdiUhVD2DtD50IuQW/eriOMPl8pEQAREoG4ENGbW7YzIHxEQAREQAREQgdIJzI4SX4DcB7WnEcc3ylUZ31q/Ap1SVYWqp3QCW6NEtx9x/xel1zRjgfxCZnOIbwttH346Y1bFiIAIiEAtCGjMrMVpkBMiIAIiIAIiIAIhCayCwvnfTtoPaQz/OWSlnrL5A5Hbe+IV1ToE+JWB24/Yt1ausAlboK6PIz/uq7BeVSUCIiACeQlozMxLTPlFQAREQAREQARajgDfPrsPidzfpuVaIoebSYBfw/CrGLcv8esZfkVTlfHPgF6G6McKVVWqekRABEQgJwGNmTmBKbsIiIAIiIAIiEBrErgNbrsPiR8ijn9bKhOBrAT4oM/f/XD7En8fpErjj0nyC4e/Vlmp6hIBERCBnAQ0ZuYEpuwiIAIiIAIiIAKtR2BeuPwm5D4kDkdc59ZrjjxuIoG9Ubfbj7jP/wGlShuMyr6AelZZacG6Lsfx/MFLV/w6hNeoTATaG4Gl0SC3v5v9jvI7PhozG+/VP0zoP8c0XqyOFIHaELgYnpgx0d2m/c9ctWmEHBEBEWh/BPL+Ej//N4FdoW8dFOthvyPfsPmAd3tABk+ibP43je3JLkVjrvU06ELELeGJDxXFrxp+Bc0RqoIC5XLhhf9jxpxOGX2wvxD0kqPR2NeiHyDI2iUBt79zvy/E68E1jZkukfL2/4qiWm3MnA0+c8HqU8jtR/y6TSYCrU7gWTTA7dtfI479nv3ftl2wMwJazI5UWAREQARCEOAv9Ddix+GgPzgHcgFiIPSgE1+X3XngyI+hH0ALQl2g16HXIA7S/4UaMZb7CDQJ4qLLJ1Be49/kHgixjL9EW2ym2foI3Q3xh8IOg9qLzYWGPAW5N7zHELcuRB51Nl4/q0IDoF4QF524IMc+RT0MTYAaMfaH86B9IS7M2DYMO/ND/OHWvNaGAw6G/gi9D6UZ3wjuAfEBg9dJ2caFpX7QShCvg/9AvJ5egdIstG88n5tBy0M9oMch+vY8lGahffPVvzci+0NnQM/4MkRxVfi2Ouri9eEaF85476D4P8O4lte3cSjgPmhXp6D1sa8x04FSk91Q9+KkMZP3k39D20C35OTAlzI7QxyfLsl5bJ7sXZF5A4hjIR8QeQ/hePMoxK/vqrK5URHnSmtA9GNJiH69B5VhZbdzPjh1GvQqdGIZDiaUkbcvFG3rwvBlO4jnYDJ0L/QglLU/DEZevsBZCnoZMtYFgVshnuN1oCz3W2STiYAIiEB1BPj2dDj0naM3sc+Bv07Gic2l0DeQ8fdLhMdb+4znTX1HiG3LYxyw34YWTTmID458ED3Ok+8ExBnfDvOkM2pX6FuIPrYnWxuN4aKCab/Znl7zRm4B/15z/H4H+xOtuE8QPhtaDMpjayEzyzkp5iAuNoyKSYuLXgQJF0HGP05e0oxvQ0z+jxHO+yVUUvmchB1jlW/Ou9kOQVrStRjSN1Q9054Qr1fjj739E+JnhuIstG++ejlpNNfRxr4MUVwVvm2CumxebpjjJc+/a434Ng6FDHULivY1ZsaAaVJ0yHtx2pjJxQb2w61ztJ3jHe+3XFzksXH9DEmFjf8bE8d091rhPschti+0rYYK/gFxHOFcYyR0OLQMVJaFaOctcI6cRpTlpKecRvpC0bb+An58DfFcPAixfWznV9DuUBYbjEw8xne/nwPxT0JPQVxIk4mACIhA7Qjw4eVDiAOZrdtr5OkO8IUPgMa/vyDcD5oFovWGdobehUyeYQj3hLLYr5CJixi8SScZV6d5w2AdvJGb+hGcYnfjX1P/jVGcb8NFiQnQsr7EFo77HXw37Tdb8tq0hm1aAD5dY/k7FuGdoD4QrRvEB7+rINMWvoX4OZTFOCEfA90MxT3Qso9yYprF2MfPhzhpMf5w65t8IHo6Wwd79jErTpdabOdip2y7HhMmA/daMbWG9I1jAn34DLoWugv6GDJ+cXsMFGchffPVOTsiX4KMfxv7MkVxVfh2n+WL8cnexrFrxLdxqCvpIVBjZkJnqDAp5L04y5i5btQnt87QZo6720L/i44xfTepn2UoNjYL3zrzHmHq8W15398wtoRiCRxjOR6bOcoYhAdAZVuIdu4LJw2vEWU7jPIa7QtF27o36ub5oAZCxjZHgO2dDHExNc2SFht4bC+Ic+RLuSMTAREQgToS2AZOmYHe3h5SA2f3s3ybhPD+CT71RtpIK/9zCHPVN8nWROJE6LKkTFEaHwa+hsjoDagzZJs9Ob/XTnDCs2L/bSiLf86htd7lDf0eyO5DDHMRaCGoLsbzOBoyfj6GcJJ/vNFzMcrk5wQizfiWhv11iYSMw5CWdbGBi1cnQLtBLNf4kmWxob+Vn8etB5VhP0YhLO8ZaCDEfj0XtDH0X8j4yC2/IPFZKN8WRmWc+LM/2l9pzYL9X0LGN/oZZ6F8i6vvr0gwfnFLjnEW2rfVUDF9eAA63qODEcfryGeN+Ja22KAx00e62rj9UJ3pnxyD9k+ovjfSRlr5s9zrsoyZ60Zlbp1Qt0nin06xTD7M3QYZ30MsNvDe9xA0GToZ4vjTGeL4z33OMUz9jyNcts2NAu+HTB1XIdyj7EpQXoh28oGeC8LG9xEB/G6kLxRt60ZoB/sD23WRp02XRmmcW6zqSbejOAdhOUn3e47JzLMXJBMBERCBWhL4M7wyg73Z8sE6bRAM2RgOrPZN6IQMlS2GPPaN/cqEY3gzeTHK35aQz05aHzt/hJazI6PwNdgadtd50u0oflrHvMfZke0gzId2+wsTw2MY4sm7DnYhnDB+fYLwPBmcutg6hg+xyyccs3OUl8ckGZmMSsoQk8aHe+N/0uTDHP4DKz+P8/VdkzfP9m5kfhNa0HPQbIh7GTJ+nu3Jw6hQvvEB+VGoGyvx2LOIM77N6UlnVCjffNX9FJH054Voy3DSYkNo365B/Zwo80EgrzXi2zhUMjSlIo2ZKYACJoe+F2cdM9dFG3ltZFlssHFsFx3HY9P6mX1c1vA6Ufm/jzlg3yid9fO6ynLPiSnKG30nYlk2dTsU6l5bdju7wNf/QK9BX0H0P8RiA4qdZln7QtG23oEazTnxjaNLW+lceEiyLIsNs6KAt6DPoLSXbEl1KU0EREAEghHgQOW+jeRA+SLUrIHrYdRtBuusD4U4ZKYLrON4/LKM9Fh/xDH9ck9aI1FnROWxTIaTjA9B70FjoFATAxTdFNsUtfKzQXKwdXhTvJm+Uj7A2T5lWcBiCYtAZjLE469lZIzdh3jmaYtJN9GNLjaMRAGmDXwISDM+TJv83JZxPbOMr6GdoDjbDQmm3idjMoXwjVWdCiUtqpi3gO8jX9z1F8o3+mfbQtjhWHA3dCBkmCUtNoT0bXH4wLdtj0ONvB1txLcsiw0aM3FCmmSh78VZx8xGFxt4TzLXVYjFhpNQ/vNQp5jzwzFmNGR82ComXyPRu1jljkW4ZyOFZDym7Hby/jsZ6g+Nh8gn9GJD1r5QpK0Lox0cQ9met6E4ewcJzMMXGEnnbXCUL+1+f1iUby9sZSIgAiJQKoG4G1yeSvggtSPEQc+2pbHDrx6qtt6osJ9VKT8L/MjaTwpe6STu7eybXT4M0fhWoAx70yqEN/0k44MaH3j6QhskZWzBtLvg85kevzmxWNsTX2XU9k5l5zj7cbtvIOFBK5Fv1nyTg0UQvz70LDQGqoPx74S5WEfjNcQ3H0VtcRTwEHRdQkFPWWlcfPJZCN9YD38/5DlfhYjjQ+taUdo92HKy57NQvrl1XYaITtCeUJwv7jEhfTsUlXWGVoPYX/4LnQGtBGWxUL5pzMxCv/w8oe/FdRwz81LknzEcC8WNc7yun4aMxeUz6Vm38yOjfQ/jQ+mHWQ9uIF+Z7VwX9R8BnQYNb8CX0IcUaSsXgDiG0nifjDOTNhsy7BSXKUf8P6K8g3Ico6wiIAIikIkAJ6plGCfnh3gK2h1xVT8Qm4cB484zJpBhO9rJw0mza7MiYgeIk4AH3ETPfnfEsZy9oNMhvqlwLc9iA4+9PyqADxntzY5Eg/hm1LYu2Pk7NJcdWXHY7lfvom6+2c5qdr+aBQet6DmQkwxej/d50poZZfrm2JKc4APoj6HJCeVxAdPYqybg2Zbtm6eK6aK2wB6vZ55/PlgnWWjfDkLlP4H4kJD0BsznYwjf5kVF9njEvsx+fhjEh6VboQWhNAvhG+vUmJlGvvx0e8xk6WXfi+s6ZuYhyS+Srk05IOt4mFLMdMl/wh6vWRrfkt8NcW6zTKRu2JZpZbWTXz9dBfE+8ocyHSyxrCJttRdmn0/wiS8ljP3ABApsWRf7QX9oyQLl6FAREAERmIEAJ4Rl2SUoyH1b+QHiXiqrgozlrO7ke9nZT9qlv59aGfpaYRNcBwE+9I6CmD/O1kTCeOhziA/Pl0KbQ1ykcM1MsBmf5aHOLHJs6BbUDvYnoQ07QhOctrRh/2Inrqrd2VDRclZlefoUD3MfmH39ig+OtPa+2DC1lcn/tlnJt1hhN2iumyzXjHts3v3NcAAnuXz7twbEiVmShfSNffE06ErohiQnYtJC+DYH6uID/RjIN8ZthfjHoF5QkoXwjfVpzEyiHiYt9L24rmNm2TTbogI5l+KLnaLGB/btrUJeQXgY9AX0QqTx2F4BtUFVWVtUUVI7z0eehaFdIc4VWtXaIsfdtva2GvSxFXaDn1gRi1rhIkEzRm5QpBAdKwIiIAIugU5uRMH9/XD8Z1EZE7HdBnor2m/WpmvOiu3833qONQN72k3/URzLh8qzrDLuscJ20EywGZflwWk08k2GFoK6QHmMb5u4SFJUcW3J40tcXk5+/s+TyAnSvp740FF8eLKvFbuPZKmbXzPYVqRf2eVUETZ9M0u/LMufLaOC3sX2poRCq/CN19jJEBc9ZoN6QldDZhxA0GuhfGNfYv18GPiFt+b0yBC+vY5qed4Wg+aEuNg6BLL7+iLYvwMynwkjOIOF8I2VaMycAXXlEXnHTTu/3Y+M4+YaTLsXm/ytuF0ATpsvRP5SUgM2Qjk223Wxz3HtMohfOPBBtge0O/QItDIU2rK0k/d/+vQ7qJXPeVJbe1mgkxYb7DRzHViHNhTkQhON47RMBERABEojYD9AlVEoV5v5hou2DzR8Sqjaf/igahsnv1mNDxZ8oDD2lglY2z5R+AMrLi74JRJmthLjHtDHIc9k6AvofSt/XJAPvx9BPH/2zSkuvx3fBTucWBQVJyMh7WoUPsRTwTmIW84THzLqKxRu94U8fYp+ufntspjOPmLOY5Z+xWOqsjeiil6vqMLuqGenqK6DsSX7OAvt20GomHUcDnW1nOiP8MOQGeuspGnBUL6diBpWgnaDPp1WW75AKN+MF58jwK8Y9oT4dpsPLMZWRWBHs+PZhvJNY6YHduCokPfiOo+ZZWLdA4Xxnv1f6M8lFbyiU84h2Od1yTnbphA/y38Coi0EcREitKW1k/Oui6Bh0HmhnQlcflJbydsYF33izP7yk4sXZZiZe5g5bhllqgwREAERyP1WPAnZT5DIB0HaCdBVU0LV//OyU+XG2L/AiYvb/ZGT8D9nn7u9o7gsiwLMulGUfyK2D0Zhd8OFBi44mK9C3HTfPm8M80G8MeR56/ws8g+GilqeOhutiw97/aClrQK4GMQ3PO65srIECXLibG7C8yO8CjQqY00DrHzfIvyctc8gy+Mba/YD+40Fdptub0YeVHG+WdUxEHlcFwmbWAvt26Wo+Z/QvNAG0O8hs8DAvnAEdBTksxC+0YfDoNOh4b5KM8aF8C2u6qeQwAeYx6GlokxchLg6CrubkL5pzHRph91/2Sm+zHtxncdMp9kN7y6MIzm+fAXxmpkElWELWoX8B+FzrX0G+Sdi20KvQnyh8UNoE+huKISltXNmVHoF9B00KNpi05KW1la+oJo7ahnbHWddrITOVrhIUIsNRejpWBEQgeAEVkQNfMvGm8HfoKRBEslBrRtKfx2iLxRv0PbNFbuxdi9SzHHcruPJeXOUhw/CacYbiynv/pTMjyD97pQ8dvJI7LBs/g5Eeza+ceFky3Dk9pQmNHh/xwd3ghbn0nrOcb5zvHKU5/24Qpz4YdjPutBhH2r6DBkuaSckhDnJZH7ftZBwWENJfAvO6/VRyP7CKK6wKn2jD22QPUa8xMgYK9s3TkC54MOHdy5MuXYAIsw1woe6JCvbt6S6TNoKCHwD0cfRJtKzzevbOJQx1FOOL8r0f42ZPjrlx3VDkaHuxXnHzHXhC/ve1jmbuWl0HI/N2s9yVuHNzjnUTRAXp7f35mg8ku0wY8X5CcX8w8p3bEK+IklZ2skFVvobx2F8lD6iiCMZji3aF7K0leO7OTeDEnximsn3dEK+wVG+LPd70z5+lSYTAREQgdIIcNW6qPGzrzugOSEO9ntCHASbZV+j4mOsyrsgfLK1HxcciIQNrcQ7EX7E2jfBz6LArCYiYbuRleZ7yLSSZ3oTO3yYyGrmYYwT+PZsvPnyTa4x9rUjzU6FW77lftmqby+El7P2fUG+cTjeSuC5OtbaN8E8fcocU9WW/ZKWp29OPSLfv32Q/daonq2w5RueNKvKN+PHGAS2gbggQlsc8j34M61s385BmYtAV0IbQJs4WhX7xlZDwKQvbCKtbdm+WUXHBp9ByotRatJnvyF905gZe3qCJIS8F9d5zCwD5nEohGPN76DryyjQKmOcFeYXl3HGr5GMcawLYWnt/AEq/SPEsYMvtMy4Zm8596RxQdbE958SU69/0tpKb9+1XGZ74sxOs89nXP4s8R1lfMzCQnlEQARqRKA7fHkU4uICP7njp411MD7kDYXMyi+3+yU4thjS3rPy881bXFtOjvJxm2Z8MDA+2A8DvuPORuTRvoSYOE7KWfbyMentJXoeNIQTDbaVCw9zQM0y/kkHvz4w55R/DmHf9F2/zrDy8phfuRmifS5cmTK7xeSxo4dhZ5QdkTE8EvlMPUtmPGYu5OOEtFPG/I1k64GDeG7fgngtZrUqfPP58iAiDcd5fRkQV7ZvPN+mzjzb3Tz+le2bpwpv1FVRG173pk6NzOsbJ9oc67OYxswslMrNE+penHfMbKUvG3bHKeA1nmWO0cjZOjAqn3UkXTsHWPluaaSilGOytHNry4c8494rKXU3kryp5UsSN1/ZWdrK4y6x6jiWETF2LOINj8ti8jB6cJRvyYQ8JmmfKG/Zi1umfG1FQAREIDeBmXHEjRAHvI+gZaFmG/8mmAOmsd8jwLfJZlC+GWG+QTXWFYFjIPMnIMzHPHNDtHWgDaeEvv/H3ID/+n1UbIgTYZY5HiKvJOMngpskZXDSzJ8WcHKex9ZC5g9K0D15Km0wL8/PAxAZ8kHUPnfYrcz2Qk3LRLXxps1FBvpkzi3TbeOb5eGQycOFrO2iDF2wZR8yb2Oi6Cl9hPl7mYiEbZWLDXTj0gRfiibxbcq/IC7iLNdAYSF9i3PnBCTwXH0YlyGKL9O3J1Hm5AR9izTT37g1eXdF2Gdl+uYr3xd3MSLpGxe9kiyPbxxjhyYVZqVpzLRgBA5WcS/mfZX9KcuY2SqLDT9FeyZBf4FCmf3QfG9CJfaixFkJ+RpJytpO5jNjWdzWN+691IhTKcfY3LKOOSwya1uZd1vItOdmRsTYTYg3+XaLycPowVE+zlvS7HBkYJlnp2VUugiIgAhUReBUVMSBiTfGgVVVmlLPlkh/F7If7BfF/klRPP09CDLWFwHG8ZPMC6HlIdvux87ldgTCW0E85g4n3t3lgxPzUVe7iQX3+baf5U5ooBwz6TK+NbpNe2BowLUZDrkcMfTvc+iHM6RWF/EEquLEyxjf1vGNCxdc+JDHB2XbjN98QNwTmtVKHIAw29TXimOQeRm/OndSbBjSR6Xk8SXznLEOKsvkw1dGmXFdUdidEBf71kgoeBDS1kxIrzrpAlRIhlwkqYtxAcuc243r4pTjx6ORj0c48UV2sy42aMwsQjn/sVXci/OMmea+x3E7jzX6gJmnDpOX8yguiHG+EPclGfvxiVAR4/3oI4jjBec+3SGfHYVIM6bs78vQYFzZ7Rwf+TmiQX+yHtZIX8jbVi6+85yQO+cV9lwWu1OMcR9AzMO50RxQnOVZbDgHhbDMw+IKU7wIiIAINEKgSyMH4Zh9oN9Gx/4ftvdF4TpsFoATl0B/hz6MHLoR29ehi6AeURw3s0dhxvMG3w3iQ+0sECcl/SEeZ9sL0U4/bDkh4MOmz3isMT6UMi/rOR56A3KtDRF8+BrtJnj2+cBKe3rqJte/zyI3b0BFbWzRAlKOPxLpgyDy3RnixLKZxhvwZOgxiDdktp9vAi6HloVsY7/ihIHXCW25qZspD/jmuomipm2eR2hViP3m8Wmx5QZ8E5e0GjhGcAGEixucCJdlvB6GQhtCP4HI1Wfs6xdCK3sSQ/nmqWpaFK9R8zD/p2mxMwaa4duMXvhjmuHbenCFC0qToEv9bk2JDeWbxswE6IGSQt+L6zpmNoJzbRx0K8S5wh4Q73uucewZAn3hJuTc5zj+N+gAiPeqzaHrIdc47tMmQndPCRX/p8p2Fvd2+hLy3j8baeuXqPJOaAdoXmglyJ3nrYK4nhDtFohzjTKsyBhZRv0qQwREQASmEeBKLW8+fOA6bVpsPQJ8m0K/knSK5Sonv0l5mXa5ld8EH42OW81EeLZcWDBlL4IwP03jcZxMu7YPIvggy/ycAKTZucjAvGW+bUirs8p03mg52WIb67DK/kTkizmfvu2syGOMkwVfHjuur8kcbTeLjrndifftDkMkH/7z2hgcYHxYIcPBnNy+HB3zGracmJZhnLRxQZC+vA0N8ehKxD0F8bp4CHItlG8/R0WcwB0B8S2Ta0cign4/6CZY+6F8s6qYIchxw5xbsxgyQyZEhPCNi7T3QjyXN0NLQrZx0swJM/07xE5wwo34Ng5lDHXK8e1qzPRRCRdXxb04z5i5LprK/rd1ziYPio7jsTfkPDZrdj5QfgixjmuhIR7dhrgPIObhAm1RWwYFfAyxPI6z7tvxhRBn5nm8dsqwUO0cD+fYjhFlOJlQxiCksR4qrS8UaetSKN+c6zsQdu2fiKAPPH9p93G+WGJed0xG1HQ2H/Y453oL6jRdinZEQAREoGICfIP7EcTB6yYo70ovDilkZ+LopEE+ywTnAsuD9RFmW5J0uZXfBM3E/rcmwrMlH1Mub4IfQryJ+IwTdZOXDzpp9iwyfA31TMvYgul8G8DVffLggk0d7Ak4Yc5P3HYBy9EHM+Tva+VnsDPEh7VPoC5QkuVdbGDZv4Rs33ktdU2qBGnrOceskpI/a/JZTrm2X77wbp6CQ/n2huXbWIQHQQtDq0IcO+jf/dCcUJyF8i2uPsabMYn+bZyQMYRvK6E++7zx+uViDR9otodegpj+ayjJGvEt62KDxswk8uWnVXEvzjNmNrLYsDiwmEUy9t/3IPbpMm1pFPYOZF8/SeGXkbeseRfvtROiuv+B7WIQjfeyxyD68SA0D1TUQrazisWGPH2hjLb+CMA5x+M5+A3ULdLhUdxX2K4PpdlgZGAZaYsNHKeZ73RIJgIiIAJNIzA/an4F4oDEG1F3qErjAM6V9t0TKt0YafQvSZdYxw9MyctyLrTymyBvvhzsOYnmhMdnnFgbP95EeC1fpijuqCgvV5Z5c0gyMyHnYkZ7szY06F2I3O6B0h66kaUSG4FazLmM2/axPBmeIf9CVn4TPDU6LqmPM2+exQZ+yfNZVK7r+yeIfwaKMy5mmfMxBuFZ4jLmiDeTfteXuH0ubs7mKT+Eb6zmUMjny6eI/ze0A5Q22Q/lG6qOtb2QYvweEJtr6gJl2eeU1V0GcfwyPpgt4zhWrQalWSPcxqHQoSkFa8xMARQguap7cdYx04w7W2doa2/keQOK68+vIS3tPp2hmilZOJabayXL9vCsBWfMNwD5Rls+8M02vyb7HOKDZ1n34JDtHAs/ye5+qGxrpC+U1dZt0JjXIbaN90Hzoo9xW0FZLOtiw70ojPVw4VgmAiIgAk0hwE/EH4Y4GHFg55u+Ko2T0MchTvirXuSIa+e5SCCPQXEZEL82NBCaPSGPSVoVAfNmwcT5tg8gkgsdzN+ebC40hg++ZPosxP2OZm1oMBcAXoaSJnmczIyCqjBee3xYS/sKogpf3DpC+bYMKvo5tD+0OdQXSltgQJbpLJRv01XS4E4o3zh+8Y32ftCOEMc/LlLnsby+ZVls0JiZ5wy0Vt42uJtlzFwX+XhvybLYgGwdyji2rQHtBHHRkl+wJd1/kCyriADvu+y7e0TivTjPucmy2PAjlMlr4zpIJgIiIAJNIcAb0d8hDkafQlWvfC6IOp+O6r8E27pYNzjCLzz4tUcZb3yztIsLFzwPB2bJ3EJ5ePO8G2Lb+Na1Deqoti0aTg77JACocrEhwQ0liUDTCaQtNmjMbPopCu5AljFTiw3BT4MqqCGBLIsND8FvvuDoUUP/5ZIIiEAHIXA82smHn2+gzSpscx/UdQbEBQ7WT3HCUCdrgzMfQFdV4FQv1MGvSpJ+s6ICN4JUcSFK5fnl33rzbWiV1huVjYeyfOZdlV9noqIJEN8w+UyLDT4qiuuIBJIWGzRmhukRrThmcu7Ae4y+bAjTJ1RqPQmkLTYcDbf52xB1mv/Uk6S8EgERCEZgN5RsHvQPClbL9AWvgN0roImQqZvbl6A6Ghdg+LedxwV0bg6U/STEryja258XHIY28fySIT9dr9rY17iqP3PVFSfUxy89hkP8+1kuurmmxQaXiPY7KoG4xQaNmeF6RCuOmVpsCNcfVHJ9CSQtNuwCtzn3qmpuX19K8kwERCAogaS//eIPB10S1X4etueX4Akf6LpDnAjydwy4XQJaPtIK2FI+G+KLrEEcf8WZf+d4EcTfHLgeKtuuQYFktQnEv09tL8a3TKdFjeEK+7UVN2wP1McFtWMg3nTrYt/AkW2g26A7oR9CkyHb+Nb2DDsiCp+ELX9ISiYC7YnA3GjMkVAnp1ELOftmV2OmIVHutpXHTJIYBK3HgGWPIVz1vceqXkERKIUA//TyB05JnMf7jItvl0LHQmXM7VGMTAREQATyEVgK2d+H+ABGfQV9XlBf4Hi+vTZl5tnyQcv3hhfRtTEukqwayJttUW57+3s6frbHPsV+MASq2g5AheyP7FuLVl15xvr4WyDbQe4D1h2Ii7t+6n6dZGy6sonAdATWxF5cn+ebdtc0ZrpEiu+38pi5Opof138uLo5GJYhA0wncDA/i+vhijnfLYL+fE6ddERABEaiMAN8gvQjFDVrNiL+rstaroioI8IGYfyLAvvQgVNUPbPKhnV8MjIBMPx6GsEwEREAE6kxAY2adz458EwEREAEREAERyExgEHLyba95GKvDdsfM3itj3Qnwz0FGQexX/B2OnlBomxUV7Af5FtH4d4syERABEagrAY2ZdT0z8ksEREAEREAERCCRAH9DQSYCVRHojIpuhTaHPoTWhkZDRa0rCuCEfPZoOx+2y0HLQ+bPW+ZB2LVPELEwxP8FQyYCIiACdSOgMbNuZ0T+iIAIiIAIiIAIZCaQ9AORmQtRRhHISOAs5ONCA41fNPALh6LGhQaqEeOPgmmhoRFyOkYERKAKAhozq6CsOkRABERABERABERABFqaAH9crA5/kmP7wC8rZCIgAiJQRwIaM+t4VuSTCIiACIiACIiACIhA7Qi8Ao/sB/1mh5+vHSE5JAIiIALfE9CY+T0LhURABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABESgBgTmhg/9S/RjWZR1BeT7HwNKrEZFiYAIiIAIiIAIiIAIiIAIiIAIiIAI1JXAjXCMf3Pfr6CDS+H4odBkiOUtBMlEQAREQAREQAREQAREQAREQAREQARamECnBn0fi+MmQF80eLw5bCACl0FfmwhtRUAEREAEREAEREAEREAEREAEREAEOi6BLiU2fTTK0pcNJQJVUSIgAiIgAiIgAiIgAiIgAiIgAiLQLAKNftlAf2dultOqVwREQAREQAREQAREQAREQAREQAREoL4E8i42HIum3AW9CZ0HyURABERABERABERABERABERABERABERgOgJ5FxtOwdGToN7QvVFJl2PL32/Iqh2i47QRAREQAREQAREQAREQAREQAREQARFohwTy/u7CV2CwBMT/PeK+iMdD2E6Mwlk2Y7JkUh4REAEREAEREAEREAEREAEREAEREIGOQaAPmskfchxZcnP1A5ElA1VxIiACIiACIiACIiACIiACIiACItAsAnn/jOLHkaP3NMth1SsCIiACIiACIiACIiACIiACIiACIlBvAmUsNuT9zYaf1huJvBMBERABERABERABERABERABERABEShCIO9vNvwIlX0KPQptC90I5f3NhnE4RiYCIiACIiACIiACIiACIiACIiACIiACMy0ABvy9hn9B50AHQmXY/CjkG4hlr1lGgSpDBERABERABERABERABERABERABESgNQjMATf5v1FwYeDMklw+CuWMhbjQQL0InQXJREAEREAEREAEREAEREAEREAEREAEOgiBhdHO+TpIW9VMERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABERABEaghgZlr6JNcan8EFkSTBkBdatS0YfDl/Rr5I1dEQAREQAREQAREQAREQAREQAREQARyEDgaeb+rmU7K4b+yioAIiIAIiIAIiIAIiIAIiIAI5CCgLxtywFLWhglshCPvgdz+9hziLm641Jlm6oRjZ400G7Y9oT6R2rDtDsXZe0hYFPoqLoPiRUAEREAEREAEREAEREAEREAEREAE6k3gNLjnft0wEXFrBXKbf7LBsn8D3Q59Cbn174k4mQiIgAiIgAiIgAiIgAiIgAiIgAiIQIsS6Aq/H4XcB/5XEdejgjbxdyNOhj6GjA9PVVCvqhABERABERABERABERABERABERABEQhIYAmU/QlkHvbN9pqAdbpFz4WImywf+rsZtC8CIiACIiACIiACIiACIiACIiACItBaBHaGu2aR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\" width=\"525.5\" height=\"76\" style=\"width: 525.5px; height: 76px;\"\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; text-align: left; 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; \"\u003e\u003cspan style=\"\"\u003eIn this case therefore, the function should return \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAJKADAAQAAAABAAAAJAAAAAAqDuP8AAACAUlEQVRYCe2WyytHQRTHvfuRWFhQKKGsWGGjpDxWWCoL5U/wF7CwYYGNDTa2lEfJwlYpFEo2ymNDHhuRt8Ln5M5t+nXvzP397mWhe+rTnDvznTOnM3Pn3oyM2OIKxBX43QpkpxC+Cu0w7MEz2KwGQTcMQC+UwBPcQSirZPYMvMMX1ILJchkcAaWXOTrzPKdSCOQ/Vk4zDW+gB7QlNJek1+cqfwVNHqRkS6hHQUr+ASqYKaFOR3dE2w4JKIYuOAQVQ1rZzrRNFlDBTAltoLuAUo+V8uk7ARVnykMTuGtbC+SXUCEa2d5+Q1Sptkpo30uX5dWZZl818zZh0TD/QBv71HzXzXG98I6cETlDJnvVBs8033WjrJAb1OBUaWOrmu+6f51Qj7PyDe2ym0UaTpBDbQtbgOAW5FD32cS28SgSGneSWbAtFmQ8bEKNLCKX6y7IfRTawiRUweqXcApltkx++1AXkcCak0QH7bUtoSjvoeS1ZGskGflbaIVziMxS3TL5BVmHB2gyZDHIWLNh3HdohxH1DfL7lqnJcgzkTXqBNvAzqZrc3HW6IOiW6V/vhB4gyc/keRbknrmCQQca1yThemiALTiGwCZ/dkOgqiPtBMiWeNkknbrW5svXP7CNoXwEr6D39Ms/km4tPHhp/fru0EdyJ+lJxH5cgbgCcQX+XQW+AUYljhBCz4RVAAAAAElFTkSuQmCC\" width=\"18\" height=\"18\" style=\"width: 18px; height: 18px;\"\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function s = FPBos(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 5;\r\ns_correct = 12;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 10;\r\ns_correct = 66;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 500;\r\ns_correct = 330834;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 1000;\r\ns_correct = 1392600;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 50000;\r\ns_correct = 4148573165;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 100000;\r\ns_correct = 16940051386;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nn = 5000000;\r\ns_correct = 46325477660928;\r\nassert(isequal(FPBos(n),s_correct))\r\n%%\r\nns = 1000000:1000000:50000000;\r\nss = arrayfun(@(n) FPBos(n),ns);\r\nst = num2str(floor(ss)); st(st==' ') = [];\r\nsss = uint64([ss(end) ss(10) str2num(st(50:50:end)) sum(st) length(st) floor(std(ss))])\r\nsss_correct = [4817780104972976 187651182473596 964919801175052 40269 769 1477452839351441];\r\nassert(isequal(sss,sss_correct))\r\n%%\r\nfiletext = fileread('FPBos.m');\r\nnot_allowed = contains(filetext, 'persistent') || contains(filetext, 'global') || contains(filetext, 'BigInteger') || contains(filetext, 'java'); \r\nassert(~not_allowed)","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":255988,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":"2021-11-09T18:16:52.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2021-11-06T17:27:09.000Z","updated_at":"2026-03-24T17:42:56.000Z","published_at":"2021-11-07T09:44:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, the \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Prime_omega_function\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eprime big omega\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e function, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Omega(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, is defined as the total number of prime factors of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. So, if  \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en=300\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, since \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e300 = 2^2\\\\cdot3^1\\\\cdot5^2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, therefore \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\Omega(300) = 2 + 1 + 2 =5\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\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\u003eGiven an integer \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e, write a function that evaluates the following summation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\sum_{i=1}^{n}\\\\Omega (i!)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example for \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en =5 \u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e            \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"true\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e\\\\sum_{i=1}^{5}\\\\Omega (i!) \\n= \\\\sum\\\\Omega ([1!\\\\  2!\\\\ 3!\\\\ 4!\\\\ 5!]) = \\\\sum\\\\Omega ([1\\\\ 2\\\\ 6\\\\ 24\\\\ 120])\\\\\\\\\\n\\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ \\\\ =\\\\sum\\\\Omega([1,\\\\ 2^1,\\\\ (2^1\\\\cdot3^1),\\\\ (2^3\\\\cdot3^1),\\\\ (2^3\\\\cdot3^1\\\\cdot5^1)])\\n=0+1+2+4+5=12.\\n\\n\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\u003eIn this case therefore, the function should return \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e12\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\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\"}]}"}],"term":"tag:\"factorial\"","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:\"factorial\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"factorial\"","","\"","factorial","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f73620d0ca0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f73620d0c00\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f73620d0200\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73620d1060\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73620d0fc0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f73620d0f20\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f73620d0d40\u003e":"tag:\"factorial\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f73620d0d40\u003e":"tag:\"factorial\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"factorial\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"factorial\"","","\"","factorial","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f73620d0ca0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f73620d0c00\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f73620d0200\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f73620d1060\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f73620d0fc0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f73620d0f20\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f73620d0d40\u003e":"tag:\"factorial\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f73620d0d40\u003e":"tag:\"factorial\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":46648,"difficulty_rating":"easy"},{"id":45770,"difficulty_rating":"easy"},{"id":2492,"difficulty_rating":"easy"},{"id":45184,"difficulty_rating":"easy"},{"id":42267,"difficulty_rating":"easy"},{"id":2047,"difficulty_rating":"easy"},{"id":45189,"difficulty_rating":"easy"},{"id":44067,"difficulty_rating":"easy"},{"id":45543,"difficulty_rating":"easy"},{"id":2114,"difficulty_rating":"easy"},{"id":1854,"difficulty_rating":"easy-medium"},{"id":43968,"difficulty_rating":"easy-medium"},{"id":44068,"difficulty_rating":"easy-medium"},{"id":1532,"difficulty_rating":"easy-medium"},{"id":60947,"difficulty_rating":"easy-medium"},{"id":51560,"difficulty_rating":"easy-medium"},{"id":51950,"difficulty_rating":"easy-medium"},{"id":55345,"difficulty_rating":"medium"},{"id":44071,"difficulty_rating":"medium"},{"id":45251,"difficulty_rating":"medium"},{"id":56418,"difficulty_rating":"medium"},{"id":2325,"difficulty_rating":"medium"},{"id":51565,"difficulty_rating":"medium"},{"id":52609,"difficulty_rating":"medium"},{"id":53009,"difficulty_rating":"medium-hard"}]}}