{"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":2494,"title":"What is the nth step in Conway's Life?","description":"Based on \u003cProblem 52. What is the next step in Conway's Life?\u003e\r\n\r\nGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\r\n\r\nNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).","description_html":"\u003cdiv style = \"text-align: start; line-height: 20px; 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=\"display: block; min-width: 0px; padding-top: 0px; transform-origin: 332px 40.5px; vertical-align: baseline; perspective-origin: 332px 40.5px; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eBased on\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/52\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e52. What is the next step in Conway's Life?\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function M = life(L,n)\r\n\r\n function L = conway(L)\r\n end\r\n\r\n while t\u003cn\r\n end\r\n\r\nend","test_suite":"%%\r\nL = [\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 6;\r\nM_correct = [\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 \r\n0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 \r\n0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 \r\n0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 \r\n0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 0 \r\n1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 \r\n1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 13;\r\nM_correct = [\r\n 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1\r\n 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1\r\n 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1\r\n 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0\r\n 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0\r\n 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0\r\n 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0\r\n 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0\r\n 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 9;\r\nM_correct = [\r\n 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0\r\n 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0\r\n 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0\r\n 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0\r\n 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0\r\n 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0\r\n 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0\r\n 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n];\r\nn = 1;\r\nM_correct = [\r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n];\r\nassert(isequal(life(L,n),M_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":379,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-08-09T05:29:47.000Z","updated_at":"2026-02-13T15:13:39.000Z","published_at":"2014-08-09T05:31:45.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\u003eBased on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/52\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e52. What is the next step in Conway's Life?\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\u003eGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).\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":2700,"title":"Simulate one complete step in the Biham–Middleton–Levine traffic model","description":"The \u003chttp://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model Biham–Middleton–Levine traffic model\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\r\n\r\nAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far left.\r\n\r\nHere is a 4-by-4 version with three red cars and two blue cars.\r\n\r\n     0     0     0     2\r\n     1     1     0     0\r\n     0     0     2     0\r\n     0     0     0     1\r\n\r\nRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\r\n\r\nAfter we move the red cars (1s) we will have this matrix.\r\n\r\n     0     0     0     2\r\n     0     1     1     0\r\n     0     0     2     0\r\n     1     0     0     0\r\n\r\nWe're only halfway through the process. After we move the blue cars (2s) we end up here.\r\n\r\n     0     0     0     0\r\n     0     1     1     2\r\n     0     0     0     0\r\n     1     0     2     0\r\n\r\nThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\r\n\r\nFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003chttp://www.jasondavies.com/bml/#0.61/769/512 simulation site\u003e.","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: 859px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 332px 429.5px; transform-origin: 332px 429.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 309px 31.5px; text-align: left; transform-origin: 309px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eBiham–Middleton–Levine traffic model\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\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: 309px 31.5px; text-align: left; transform-origin: 309px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far 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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere is a 4-by-4 version with three red cars and two blue cars.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     1     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 309px 21px; text-align: left; transform-origin: 309px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAfter we move the red cars (1s) we will have this matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     1     1     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     0     0     0\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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eWe're only halfway through the process. After we move the blue cars (2s) we end up here.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     1     1     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 309px 21px; text-align: left; transform-origin: 309px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 220px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 309px 110px; text-align: left; transform-origin: 309px 110px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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\" 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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.jasondavies.com/bml/#0.61/769/512\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003esimulation site\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function a_out = traffic_step(a_in)\r\n  a_out = a_in;\r\nend","test_suite":"%%\r\na_in = ...\r\n  [0 0 0 2\r\n   1 1 0 0\r\n   0 0 2 0\r\n   0 0 0 1];\r\na_out_correct = ...\r\n  [0 0 0 0\r\n   0 1 1 2\r\n   0 0 0 0\r\n   1 0 2 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [0 0 2\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 0 0\r\n   0 0 2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [1 0 2\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 1 0\r\n   0 0 2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [0 0 2\r\n   1 1 1\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 0 2\r\n   1 1 1\r\n   0 0 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n    [0     2     2     2     0     0\r\n     1     1     0     2     0     0\r\n     0     0     0     0     2     0\r\n     1     1     0     1     1     2\r\n     0     0     1     2     0     0\r\n     0     0     0     2     0     1];\r\na_out_correct = ...\r\n    [0     2     2     2     0     0\r\n     0     1     1     2     0     0\r\n     0     0     0     2     2     0\r\n     0     1     1     1     1     0\r\n     0     0     1     0     0     2\r\n     1     0     0     2     0     0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in =  ...\r\n    [0 1 1 1\r\n     0 0 0 0];\r\na_out_correct = ...\r\n    [1 0 1 1\r\n     0 0 0 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in =  ...\r\n    [0\r\n     2\r\n     2];\r\na_out_correct = ...\r\n    [2\r\n     0\r\n     2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n","published":true,"deleted":false,"likes_count":7,"comments_count":0,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":36,"test_suite_updated_at":"2014-12-04T15:56:53.000Z","rescore_all_solutions":false,"group_id":24,"created_at":"2014-12-01T23:45:31.000Z","updated_at":"2026-03-29T06:52:52.000Z","published_at":"2014-12-02T19:28:14.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\u003eThe\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://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eBiham–Middleton–Levine traffic model\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far 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:t\u003eHere is a 4-by-4 version with three red cars and two blue cars.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     2\\n     1     1     0     0\\n     0     0     2     0\\n     0     0     0     1]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAfter we move the red cars (1s) we will have this matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     2\\n     0     1     1     0\\n     0     0     2     0\\n     1     0     0     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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe're only halfway through the process. After we move the blue cars (2s) we end up here.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     0\\n     0     1     1     2\\n     0     0     0     0\\n     1     0     2     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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.jasondavies.com/bml/#0.61/769/512\\\"\u003e\u003cw:r\u003e\u003cw:t\u003esimulation site\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":52,"title":"What is the next step in Conway's Life?","description":"Given a matrix A that represents the state of Conway's game of Life at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+1).\r\nAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\r\nExamples:\r\n Input  A = [ 1   1   0   0\r\n              0   1   0   0\r\n              1   1   0   0\r\n              0   0   0   0 ]\r\n\r\n Output B = [ 1   1   0   0\r\n              0   0   1   0\r\n              1   1   0   0\r\n              0   0   0   0 ]\r\n\r\n Input  A = [ 0   1   1   0\r\n              1   1   1   0\r\n              0   0   1   0\r\n              0   0   0   0 ]\r\n\r\n Output B = [ 1   0   1   1\r\n              1   0   0   0\r\n              0   0   1   1\r\n              0   1   1   0 ]","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 500.233px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.117px; transform-origin: 407px 250.117px; 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: 139px 8px; transform-origin: 139px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven a matrix A that represents the state of\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://conwaylife.com/wiki/Conway%27s_Game_of_Life\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eConway's game of Life\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: 155px 8px; transform-origin: 155px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+1).\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: 294px 8px; transform-origin: 294px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\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: 32px 8px; transform-origin: 32px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExamples:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 388.233px; 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 194.117px; transform-origin: 404px 194.117px; 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: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Input  \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eA = [ 1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Output \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eB = [ 1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Input  \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eA = [ 0   1   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Output \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eB = [ 1   0   1   1\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: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   0   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   1\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: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   1   1   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function B = gameOfLife(A)\r\n  B = A;\r\nend","test_suite":"%%\r\nA = [ ...\r\n 1     1     0     0\r\n 0     1     0     0\r\n 1     1     0     0\r\n 0     0     0     0];\r\n\r\nB = [ ...\r\n 1     1     0     0\r\n 0     0     1     0\r\n 1     1     0     0\r\n 0     0     0     0];\r\n\r\nassert(isequal(gameOfLife(A),B))\r\n\r\n%%\r\nA = [ ...\r\n 0     1     1     0\r\n 1     1     1     0\r\n 0     0     1     0\r\n 0     0     0     0];\r\n\r\nB = [ ...\r\n 1     0     1     1\r\n 1     0     0     0\r\n 0     0     1     1\r\n 0     1     1     0];\r\n\r\nassert(isequal(gameOfLife(A),B))\r\n\r\n%%\r\nA = zeros(4);\r\nassert(isequal(gameOfLife(A),A))\r\n\r\n%%\r\nA = ones(4);\r\nassert(isequal(gameOfLife(A),1-A))\r\n","published":true,"deleted":false,"likes_count":29,"comments_count":13,"created_by":1,"edited_by":223089,"edited_at":"2023-08-22T14:45:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":680,"test_suite_updated_at":"2022-10-16T10:41:00.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:24.000Z","updated_at":"2026-04-03T16:12:20.000Z","published_at":"2012-01-18T01:00: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\u003eGiven a matrix A that represents the state of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://conwaylife.com/wiki/Conway%27s_Game_of_Life\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eConway's game of Life\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  A = [ 1   1   0   0\\n              0   1   0   0\\n              1   1   0   0\\n              0   0   0   0 ]\\n\\n Output B = [ 1   1   0   0\\n              0   0   1   0\\n              1   1   0   0\\n              0   0   0   0 ]\\n\\n Input  A = [ 0   1   1   0\\n              1   1   1   0\\n              0   0   1   0\\n              0   0   0   0 ]\\n\\n Output B = [ 1   0   1   1\\n              1   0   0   0\\n              0   0   1   1\\n              0   1   1   0 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":2494,"title":"What is the nth step in Conway's Life?","description":"Based on \u003cProblem 52. What is the next step in Conway's Life?\u003e\r\n\r\nGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\r\n\r\nNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).","description_html":"\u003cdiv style = \"text-align: start; line-height: 20px; 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=\"display: block; min-width: 0px; padding-top: 0px; transform-origin: 332px 40.5px; vertical-align: baseline; perspective-origin: 332px 40.5px; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eBased on\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/52\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003e52. What is the next step in Conway's Life?\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-bottom: 9px; margin-left: 4px; margin-right: 10px; margin-top: 2px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; perspective-origin: 309px 10.5px; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; transform-origin: 0px 0px; perspective-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function M = life(L,n)\r\n\r\n function L = conway(L)\r\n end\r\n\r\n while t\u003cn\r\n end\r\n\r\nend","test_suite":"%%\r\nL = [\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 6;\r\nM_correct = [\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 \r\n0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 \r\n0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 \r\n0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 \r\n0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 \r\n0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 0 \r\n1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 \r\n1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 13;\r\nM_correct = [\r\n 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1\r\n 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1\r\n 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1\r\n 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0\r\n 0 1 1 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0\r\n 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 0\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0\r\n 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0\r\n 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0\r\n 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0\r\n 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0\r\n];\r\nn = 9;\r\nM_correct = [\r\n 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0\r\n 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0\r\n 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1\r\n 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0\r\n 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0\r\n 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0\r\n 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0\r\n 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0\r\n 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0\r\n 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0\r\n 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0\r\n 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0\r\n 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0\r\n];\r\nassert(isequal(life(L,n),M_correct))\r\n%%\r\nL = [\r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n];\r\nn = 1;\r\nM_correct = [\r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \r\n];\r\nassert(isequal(life(L,n),M_correct))","published":true,"deleted":false,"likes_count":2,"comments_count":2,"created_by":379,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":29,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2014-08-09T05:29:47.000Z","updated_at":"2026-02-13T15:13:39.000Z","published_at":"2014-08-09T05:31:45.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\u003eBased on\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/52\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e52. What is the next step in Conway's Life?\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\u003eGeneralize your solution to Problem 52 - Give the state of the game at nth step for any size board.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eNote: This problem uses the MATLAB convention for indexing (t=1 is the initial state).\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":2700,"title":"Simulate one complete step in the Biham–Middleton–Levine traffic model","description":"The \u003chttp://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model Biham–Middleton–Levine traffic model\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\r\n\r\nAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far left.\r\n\r\nHere is a 4-by-4 version with three red cars and two blue cars.\r\n\r\n     0     0     0     2\r\n     1     1     0     0\r\n     0     0     2     0\r\n     0     0     0     1\r\n\r\nRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\r\n\r\nAfter we move the red cars (1s) we will have this matrix.\r\n\r\n     0     0     0     2\r\n     0     1     1     0\r\n     0     0     2     0\r\n     1     0     0     0\r\n\r\nWe're only halfway through the process. After we move the blue cars (2s) we end up here.\r\n\r\n     0     0     0     0\r\n     0     1     1     2\r\n     0     0     0     0\r\n     1     0     2     0\r\n\r\nThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\r\n\r\nFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003chttp://www.jasondavies.com/bml/#0.61/769/512 simulation site\u003e.","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: 859px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 332px 429.5px; transform-origin: 332px 429.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 309px 31.5px; text-align: left; transform-origin: 309px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThe\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eBiham–Middleton–Levine traffic model\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\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: 309px 31.5px; text-align: left; transform-origin: 309px 31.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far 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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eHere is a 4-by-4 version with three red cars and two blue cars.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     1     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 309px 21px; text-align: left; transform-origin: 309px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eAfter we move the red cars (1s) we will have this matrix.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     1     1     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     0     0     0\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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eWe're only halfway through the process. After we move the blue cars (2s) we end up here.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 80px; border-bottom-left-radius: 4px; border-bottom-right-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: 329px 40px; transform-origin: 329px 40px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     1     1     2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     0     0     0     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-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-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: 329px 10px; transform-origin: 329px 10px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e     1     0     2     0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 309px 21px; text-align: left; transform-origin: 309px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 220px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 309px 110px; text-align: left; transform-origin: 309px 110px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdEAAADWCAYAAACOsbiXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH5AkBDysfBIlBgQAAAAd0RVh0QXV0aG9yAKmuzEgAAAAMdEVYdERlc2NyaXB0aW9uABMJISMAAAAKdEVYdENvcHlyaWdodACsD8w6AAAADnRFWHRDcmVhdGlvbiB0aW1lADX3DwkAAAAJdEVYdFNvZnR3YXJlAF1w/zoAAAALdEVYdERpc2NsYWltZXIAt8C0jwAAAAh0RVh0V2FybmluZwDAG+aHAAAAB3RFWHRTb3VyY2UA9f+D6wAAAAh0RVh0Q29tbWVudAD2zJa/AAAABnRFWHRUaXRsZQCo7tInAAAgAElEQVR4nOzdeZwU9Z34/1dVdXX1OT0nzAEzDAww3AMioFEkChK8UIMHbrLumqhZs2u+bpLdx2OTb3bz2P0+dh+PmE2yyS+JGl0TRRAV44X3hSIqRkC55BzO4Zh7+u6uqt8fPdXOwCA4DHO+n49HO9jT01Uz9e73u+pzlWLbto0QQgghvjS1r3dACCGEGKikiAohhBDdJEVUCCGE6CYpokIIIUQ3SREVQgghukmKqBBCCNFNUkSFEEKIbpIiKoQQQnSTFFEhhBCim6SICiGEEN0kRVQIIYToJte5fHPbtlEUBYB4PM7u3bvZsGED9fX1RCIREokEHo+HQCDAsGHDOO+88ygvL8cwjJN+XogvIxaLsXPnTjZu3EhjY2M23rxeL36/n+LiYs477zxGjhyJ2+0GJN7E2XPy3Mcff0xDQ8Mp81xFRYXE3SBxTouooig0NTXx+uuv8+abb1JbW0skEsE0TSzLwrIsVFVFVVU0TSMnJ4fRo0czf/585s2bRyAQOJe7Jwah+vp6Xn31Vd5++232799PNBrFNE1M08S27Wy8uVwucnJyqKqqYsGCBcydOxefz9fXuy8GqMbGxmye27dv32nz3JgxY5g/fz6XXHKJ5LkBTunpu7h0PKt64403WLlyJVu3bsW2bVwuF6qqoihKpzMv27axbRvLskin02iaxrRp01i6dClz5sw56X2FcHSMi5deeoknn3ySzz77DEVRsvEGnDLeUqkUuq4zY8YMli5dysyZM096XyFO1DE+XnvtNVauXMn27du/dJ6rqalh6dKlzJ49+6T3FQNDjxZRJwCSySTLly9n2bJlRCIRvF7vlwoMy7KIxWLk5eVx2223sXjxYlwulwSY6MSJh3g8zh//+EdWrlxJPB7vVrxFo1GKioq4/fbbufLKK1FVVeJNdMmJi0QiwbJly1i+fDnRaLTbeS4/P59vfetbXHPNNWiaJnE3wGj/9m//9m898UYdA+t3v/sdjz32GJZl4fF4vnRAKIqC2+0mFovx0UcfYVkWNTU1kthElhMH0WiUX/3qVzz11FMoioJhGN2Ot2g0yocffoiu60ydOhVFUSTeRCcdT9x++9vfsmLFCmzbPus8t379egBqamok7gaYHiuikAmw5cuX89hjj6FpGrqun9HPnCpYNE3DNE22bNlCbm4u48ePl+ASWaZp8sc//pGnnnoKXddxuU7dxe80uHxR7GiaRiqVYvPmzRQVFVFVVSXxJk5i2zbLli1jxYoVuFyuHok70zTZunUreXl5jBs3TuJuADnrKS5OG7+iKLzzzjssW7YM4AsDy5FKpYhGo6TT6VMGjK7rpFIpHnroITZs2ICqqliWdba7LQaojvH2+uuvs3LlyuyAja5em0wmiUajnR7xeBzTNLt8f7fbTTwe54EHHmDLli3Z1g8xtHWMu7fffpvly5ejKEqXcQeZ3BaLxTrFXTKZPGUs6bpOIpHgwQcf5JNPPpE8N4Cc9ehc54ypoaGBp556inA4fEajHKPRKDNnzuTmm2/m2Wef5d1338Xj8XT5WsMwaGhoYNWqVYwdOxa/358d8SaGFmeE7ZEjR1i1ahWxWOyU8RaLxaipqWHRokWUlpaiaRqRSIQPPviAV155hWg0mp1m0JFhGNn3r6ysxOPxZLcrhibn+NfX1582z0WjUcaPH89VV13F6NGjATh48CAvvvgimzZtOmXTr2EYHD9+nFWrVjFmzBh8Pp/kuQHgrJpznbMqy7J49dVXef7559F1/bTNEMlkErfbzT333MOcOXPYsmULn3zySZcJzaGqKnV1dVRWVjJq1Kjsc2LocOLNNE1eeOEFXnrppVP2gUajURYuXMhPfvITJk+eTF5eHn6/n3HjxnHBBRdQXl7Oxo0bicfjXcaRoigcOXKEqqoqRowYAUi8DVUd4+7ll1/mhRdeOGWei8fjTJs2jZ/+9KfMmjWLvLw88vPzmTRpEnPnzuXIkSPs2rXrlC11zgliZWUlFRUV2edE/3VWR8dp4ojH46xdu5ZUKnXaAx6LxVBVlbvvvptZs2YBmaJ6usKraRrRaJR169aRTqez86/E0OHEWzgc5r333jtlv1EikaC6upq7776bQCDAgw8+yHe+8x3uuusufvSjH1FbW8vcuXO5+uqriUajXW5L0zRaW1t5//33s7Em8TY0OXEXjUZZu3Yt6XS6yzxnmiahUIh/+Id/oKSkhBUrVnDHHXdw55138pvf/IZgMMjdd9/NyJEjSaVSXW5L0zTC4TDr1q3rNM9U9F9nXURt22b37t3U1taetoBalkV5eTk/+clPWLx48SkT2Cl3VlXZsWMH+/bt67R9Mfg5x9q2bXbs2MH+/ftPGW+JRILzzz+f3Nxc1q1bxwMPPMCOHTs4dOgQq1evZtmyZViWxZw5cygsLCSdTp/0Hs4cv+3bt3Pw4MFz/euJfuzEPHeqftBYLMb5559PdXU1O3fu5P7772fHjh3s3r2blStX8u6771JQUMDs2bNPWUQhE3uS5waObveJOmdItm3z2Wef0dTU9IWDiVKpFHl5efzqV78iNzeXn//851RXV3PllVee+c66XBw7doxdu3YxatQo6S8YQpyrAcuy2LZtG62tradMZh6Ph02bNvHwww+zadMmdF3P9rebpkldXR2WZREMBvH5fITD4S7fR9d1Dh8+zJ49eygrK8sOLJFRk0PHiXmupaXllHFnGAa1tbU88MAD7Nmzh1QqRTAYJJVKEYlEOHLkCEC2j/1UdF3n6NGj7N69m4qKCimg/dxZDSxyVt5oamoilUp9YZ8mZIJn165dPPnkk7z88sv867/+65fanjMPtaWlJbvihwwFHzpM08zGm2maX5jMtm7dykcffYTH48Hr9XZaLWbcuHG4XC4OHDhAfX39Kd/HibfW1tbssoGneq0YvJxlI0+X59xuN3v37mXLli243W68Xi8tLS3ous6cOXO4/PLLSaVS2RO7U3HmoXbMc84KSKL/6VYRdRKSaZrZs6xTTRlw6LpOfX09P/7xj0mlUng8njOaBtORsxqSsz1nUrIY3E5cpu908WbbNm63u9MC35BpbqusrGTJkiUArF27llgsdsq1S50iGolESKfT6LouJ21DSHfiTtd1QqFQdjTvlVdeyYwZM5g3bx4ADzzwAJs3b/7CCw5FUTptT+Ktf+tWEXUOqnMl6sx/OtODbRgG8Xi8W9u1bZtUKpXt3JcAG/yc4+5ciSaTyezzZyoWi1FUVMT3vvc9SktLefPNN3njjTe+cDqWoijZBOpcEYih42zynGmaeL1e7rnnHoLBIJAZQJlKpdA0DcuyvrAFpGOek7jr37rdnOucpTkH+UybVs+mD7Pj4s7OwuFyJTr4dRxU5Bz3M40j27aJRqOMHTuWe+65h5qaGtasWcMvfvELotFo9rZ7p/pZZypDOp3G7XZLvA0xZ5PnTNPkvvvuIxKJMHbsWK666iq+973v4fV6efTRR095ESB5bmA5qz5R5+rA7Xb3ytmSk9R0Xc929ouhoePVqNvtPqN1lJ0Fvi+++GLuvvtuysrKWLNmDT/72c9obm4+5eIeDieZ6bqe7RMVQ8+Z5jmnGTaRSOB2u0mlUjzzzDPYts0LL7zA4cOH+f73v8/111/PmjVr2L9//ylP4iTPDRxnvWKRZVmEQiHcbvc5b7+3bRufz0cwGJS5U0NIx75v27az8eaMlu2KM3/5iiuu4B//8R/x+Xw8/fTTPPDAA4TD4dMWUOc9cnJyCAQCksiGqI79oqfLc+l0mqKiIkpLS6mrq+PYsWPZOFMUhc2bN9PW1kZ+fj75+fns3bu3y22apkkgEJA8N0Cc1fwQp8+ovLyc/Pz80w4uOlumaWaD1NmWJLfBr+Mi3pZlUVlZSSgU+sIEk0gkuOyyy/jnf/5nFEXhl7/8Jb/85S9pampCVVWSyWSX80M7Mk2T4uJiiouLz3lsi/7JmdJkWRYVFRXk5uaeMhYikQjz5s3jl7/8Jbfeemt2vdx0Ok0ikSAUCmEYBtFoNLvoTFecPFdSUiJxNwB0q4h2TGqqqpKTk0NZWVmP7lhX21QUhZEjR+L3+7N3ipeBRUODk8xUVSUUClFSUnLKIhqPxxkzZgzf/e530XWdZcuW8fLLL5OXl8eIESMoLCxk+PDhhEKhU27Pmc4ycuRIfD6fxNsQ5OQ559ifLs+5XC5qa2uxLItLL72U+fPnYxgGbrebqqoqbrrpJgzD4J133mHHjh1dNuU6cVdeXt4pz4n+q9vNuU5Cc255NmHCBLZu3UoikTjj/lHndWcSJE7TWnV1dXa7ktCGjo7xZhgGEydO5LPPPsM0zU7x4zTxLl68mOHDh2PbNgsWLGDBggWd4tLlcrF9+3Z+8Ytf0NraetJ0K9M0s7elcu7WIfE29HSMO7fbzcSJE9m+fXuXec7n8/Hee+/x8MMPc9ttt/Hv//7vbNmyhWg0yrhx48jLy2PXrl3Ze5B2FU9Os/H48eOz25WTt/6t21NcnODSdR23201FRQXjxo1jw4YNZ1REFUUhEonQ0tJCPB4/bZCYpsmkSZMoLS3F7XbjcrkksQ0RTrw5J2y6rjN69GiqqqrYvHlzpzN60zTJz89nxIgRtLS0oCgKRUVFXcZJfn5+lyMfnX6wyZMnU1xcnL1XqSSzoaVjnnMGmI0aNYqqqio2bdrUZZ4zDINHHnmExsZGrr/++uxJWGNjIytXrmTVqlUcPnz4lFehpmkyceJESktLO8Wd6L/O6krUSWput5tAIEBNTQ2HDh2ivr7+tDfkDgaDPProo6xYsYJkMonX6z3la5PJJGVlZUydOhWv15ttIpGkNnR0jDfDMAgGg0yfPp3Dhw/T3NycjTdd14lGo/zHf/zHaWPDsiwSicRJsZpKpaioqGDy5Ml4PJ5svMl8vaHHiTu3241hGAQCgWzcNTQ0nBQ7zqjxZ599ljfffDPbwmFZVnbRjlONyE2lUowcOZIpU6bg8XjweDyS5waAbt8KreNBNU2TZDKZbWo7ePAg8Xj8tMPBk8kkiUTiC9fAddbcnTdvHhUVFYRCIXJzc/F6vdk5fBJgg59zjJ2z9WQyicvlwu12c/DgQZLJZKcYSiQSp32c+DOQibeCggLmzZvHyJEjT4o3uSoYWrqKOyfPHTp0qMs85zTDOvmtY6yd6uKiqzwXCoUkzw0AZ3U/UYezSHMymcyetR8/fpxEIvGFB/+LBms4E5xzc3O54IILqKqqIjc3l/z8fILBIIZhZPsLxNDixFsikcDr9aJpGseOHcveUs9pgjuTh8OJt4KCAi688EJGjx7dKd7kikA4U12cPKfr+inzXFcx+EV5Li8vjwsvvJAxY8ZInhtgzrqIOsHTcUUZv99PMBikubmZSCTS6bWn4wSqbdsUFxd3CqyCgoJOZ2fSvDY0OfHmLMcWCAQIBAI0NTV1ur3el4230tJSLrzwQiorKyXeRCcd85yzFKQTd2eb50pKSjqduEncDSxnVUSdYHECzPl/Z93IgoKC7M20k8nkSVMSTpxE70xiDgaDVFdXM2PGDEpKSsjNzaWwsJC8vDwCgUD27EyuCoaWruLNsixM08Tn81FQUICqqmcUb87PKYpCTk4OEyZMYPr06RQXF3eKN7/fn+0PlXgbmk6MO/g8X/l8PvLz8884z50Yd9XV1UyfPp3S0lJCoRCFhYXk5+fj9/slzw0QZ71ikdNsYRgGfr8/uzya04QRCAQYMWIEhw8fpr6+ntbWVpLJZPb2Qk5ThdvtziavsrIyCgsLycnJyZ6ZOQXUaVYTQ5Mz0MMZ5OFMRnfiLRgMMmLECOrq6rLxlkqlOsWbpml4vd4vjLfc3NxOBVQMbR3zXCAQyBZK53kn7pw819LSclLcqaqajbuCggLKysooKioiGAx2eeImeW5g6JEi6iSZjiNsOw4L93g8DB8+nHA4TEtLC4lEAtM0swOKNE3D4/EQCoWyhTIYDBIKhcjLyyM3N5dgMJi9fZr0TQ1dHePN6UI4cRqCx+OhpKSE1tbWTidtTry5XK5svPl8PjweD4FAgNzc3C7jTQZ1iC/Kc860qy+b55yCnJubm31Inht4zrqIOjqOPFMUJTty0uv10tbWRjgcxufzkZeXRzqd7jIBOsktEAiQk5NDTk4OwWAQv98vCU104rRedJxDahhGNt4ikUi2S+FU8eYkvq7izTAMiTdxkjPNc/n5+aRSqS/Mc8FgkGAwKHlugOuxItpx8YWOc6ucBeMjkQixWCx7Tz2n2ffE+X9erxe/34/P58sGldOkJmdmwnFivHVMZl3FmzOIo2O8eTyebLw5MddxTqjEmzhRT+c5J+4kzw1cit3DK7ifeDf4ZDJ50nypdDqd7cvqGJROYnMSmfOcE1QSWOJETqx1vHFyMpkkHo+TSCRIpVLZIgqd482ZQO88TlyZSOJNnErH0bWS54a2Hi+iDqeYOh3r6XQ6G1ROP4HD6S9wztScf8ui3+JMfVG8Oc25DifenKY1iTfRXd3JcxJ3g8s5K6KOjkO7nTM359GRE0QdvwrxZUm8ib4gcTd0nfMiKoQQQgxWZzWwyLIsfv3rX7Nv377TLjjf0amWvxJdi8Wgra33tpdKpZg6tZwf/OAfUNX+M0cykUjwq1/9iiNHjki8nUPRKITDvbe9VCrF+eeP4XvfuwvoX02aW7du5aGHHurWVaPEXf/kjNe59tprmTdv3lm/31kV0ebmZj777DN+/OMfS3v+OfT738Ovf92bW7TZuPH/cc89zahqQW9u+AsdP36c2tpaibdz7Gc/g4cf7s0tpti58z/53veigL83N3xa69evZ8SIEdx4440Sc4OEbdu8//77rF27tu+LqG3b+P1+SktLz3pHxKkNG9b72zQMP9C/zppt2yYnJ0fi7RwrKur9bRqGj/4Wb5C5mhw+fLjE3CBTVlbGjh07euS9pFd7ADhhKc5e0V9PuqU57Nzr/XhL99t4UxQlO01FDB7pdLrHWhakiAohhBDdJEVUCCGE6CYpokIIIUQ3SREVQgghukmKqBBCCNFNUkSFEEKIbpIiKoQQQnSTFFEhhBCim6SICiGEEN0kRVQIIYToJimiQgghRDdJERVCCCG6SYqoEEII0U1SRIUQQohukiIqhBBCdJMUUSGEEKKbpIgKIYQQ3SRFVAghhOgmKaJCCCFEN0kRFUKcBbv9q9XFc0IMflJEhRDdZAMKweBOzjvvh4wf/xtUNQooSCEVQ4UUUSFEN2UKZVnZC4wYsZrKymUEAntO+r4Qg5mrr3dACDEQ2YAJQCrloalpAqbpxrZNMk27NnKOLoYCKaJCiC/J5vMiGmH37sXs3r2ITDOuB4gCBlJExVAgRVQI0Q1OIU0DGpni6fSFmkhTrhgqzq6I2jboeg/tijiVeLz3t5lKgaL0/nZF34ud8XFXAAPD2ERhYS2m6eLIkZlAsP17Zy6d/nL7KMTZyMnpufc6uyLq98Onn8Jf/3UP7U4/d911mUcvu/pqKC7u3W2++ipEIhAK9e52+6V0Gn74Q2ho6Os96RU3VV7D+D8tOeX3bRtAwTQVVNXPunWvs3PnE7hcXv7hH35FWVkltm2jqmd2Imaa8NZbmZNFj6enfosBbtMm+PnP+3oves2P+Q/2U95r2zt+HC67rGfe6+yKqNsNBw/C88/3zN70d8XFfVJEq6szj960fTskk727zX7LsuDBB6Gtra/3pFdM+ZdCpnzz1EX0RIcP27z1loXfb3H11TZTpnz5bW7blmn9kCLabu9eeOSRvt6LXvMo32NfLxZRgAULeuZ9pDn3y/D5+noPeo00554gL2/IFFGUL45z2wbLskkmLVKpMNOmzeL224O43W40LY9oNIHL5cLlUlHV0wdROp15SLx14Hb39R70qlxc7OvrnegmGVgkhOgW27aJx+NMmzaNqVOnorRXwUQigaZpfbx3QvQOKaJCiLNiWRapVApVVXG5XCiKki2oQgx2UkSFEN2iqio5OTksX76cd999F8MwuP322ykqKpJCKoYMmQ0thOgWRVEwDIN9+/axbt06PvjgA2KxGPpQGichhjy5Eu1ltm3LGboYFGzbxjRNfD4f+fn5eL1eVFXFNM3s9yXWxWAnRbSXOAmlpaWFBx98kHnz5jFjxoxskpGEIwYay7JoaWnhqquu4qKLLkLTNIqLi4nFYnhkrooYIqSInsBZrOzEcmYD2PbJz3dR/OzMbPROzzv/TqVSvPLKK7z44ovMmzePRYsWSTEVA1Y6nSYUChEIBFBVFUVRME0z+xkQYrCTIgqkFIVDPh8uy6IsFgOgVdc5ZhgAFCUS5LRPnDx07Bix1lZ0XaesrAxVVYnH49TV1WFZFqFQiIKCAgDq6+tpaWlBURSKi4vxer0kEgk8Hg+NjY2sXr2adevWMWvWLBYvXsyUKVNkaoAYUHRdp66ujoaGBjRNo7y8nGAwKCeCYsgY8kU0pSj8oaqKZaNHM6m5md9/8AEK8OawYfzHtGkA/GjTJq49dAhbVfl/v/0t6194gbKyMh566CHy8/PZuXMn3/3ud4nFYixdupTvf//7ADz88MM8/vjj+Hw+/ud//oepU6cSjUaxbRuXy4XH4yESifDqq6+ybt06LrjgAhYuXMj06dMx2gu4EP2VMzp39erV/PnPf8br9fKf//mflJeXS4uKGDKGbBG1yDTZxhSFj/Pzqfd6iYXDJGi/mZOqEtF1bCCmZgYxJ9JpotEo4XCYSCRCvH1l+FgsRjgcJhaLEY1Gs9twXmvbNrFYjFgsRiQS6dTUpes6qqrS1tbG66+/jmEYjB8/HsMwJBGJfkvTtGyria7rWJaFbdv4fD5crkxasSxL4lcMekO2iNpAClAsi1t27qQwGmV4LEa4/fmiSISF+/ZhA4WRCG1AIh5nek0Nuek0eXl5pFIpWltbMQyD+fPnk0wmGT16NC0tLQBUVVWxcOFCDMNA13Xa2tqItTcXK4qCbduk02k8Hg9Tpkzh8ssvZ/r06ei6TiqVQtM0SUKi31EUhbq6OjZu3IimaRw8eBCPx4PL5eL999/n6NGj+P1+Zs2ahXuILV8nhp4hW0Qhc9fDOFDd2MiExkYAImRuKTy2sZHvNzZm75rYBNiJBNdfdx1ccknm502T5uZm8vLyuPvuu4HMwKDm5mYA5s6dy8UXX4yiKCSTScLhMMlkknQ6TSqVwuv1Mnr0aKZNm8a0adMYPnw4lmWRTqezV6hC9CdOK0okEuG+++5j37595Obm4vP5sG2bRx99lLa2Nm688UZmz57d5SA7IQaTIV1EHUkyV58qmdsLK+3PRckUUANwpo/H4nHSbW2oqprttzRNk1gslu3rdJpi4/E4qVQKRVGyy6HZto1hGAwfPpxx48ZRUlJCXl4epmkSj8fxDaFF7sXA45zkjRgxgoULF7J8+XI0TcsWS5fLRWVlJQsXLgQyo3ed5l0hBqMhHd0ameJokCmgThFVyRRSF5ki6nb+7XKheL2Y7ZPK3W53dr1QJ5FompZdscX5nvNvy7Lw+/0sXryYQCCQfb3H48Hv9+Pz+TAMA03TUFVVrkRFv2LbdrYLIhaLMX36dN544w2OHz+ejXnTNKmpqWHYsGGEw+HsFapciYrBasgWUYVMsXQKqNnhOcgUV4tMEXW1P2/rOm6vF6t9CH/Hq8t0Og1kiqUz4MI0zezqLQDJZJJQKMS0adNoamrCsiwMwyAQCJCTk0MgEMDr9WaLsxD9kWVZ2VaTqVOn8tprrwGZeA+FQkyePDnbbWFZVh/vrRDn1pAuos6MTI2TF1mwT3hOAXC5sBQFAoHM8+2LbDtn6A6nADoJxLZtLMtC07TsRHSnAHs8Hnw+Hx6PB8Mw2u/JqGUnrgvR33RcGGTcuHF8/PHHNDc3Y9s2VVVVFBUVZbsxJIbFYDeki2i2OHL6IgqgaBoWZG9EfqZFFDJn6c7r3W43lmWhqiq6ruN2u9F1XZpxRb/mxK/TZaGqKsOGDWPcuHG89957BAIBJk2adFI8SyEVg9mQLaIO5YSvHXVVyjSALlYV6qrwdVx9SFGUbFOv2+3O9hM58+2c4inLpYn+zIlZt9uNz+fD6/UyZcoUNm/eTGVlJRUVFXg8Hrxeb7bQShEVg9mQL6Kn0uXH/hTJ4EyShJN8nL5Uh1N8nfeQhCP6M+dkzymifr+fsrIyLrnkEoqKirLr6Ho8HpmmJYYEKaK9xCmOJyYVKZpioHG6ITweD8FgkHQ6zUUXXYSqqgQCAQKBQHaUucS3GOykiPYySSpioHNaVQzDwO/3A+Dz+VBVFa/Xi8/ny44wl3gXg50UUSHEl+L07+u6js/nQ9M0UqlUtplXrkLFUCJFVAjxpXUcYOSs3nXiQDkhhgIpokKIbnGKZsdR5c40GLkKFUOFFFEhRLd0NU9aCqgYaqSICiHOihROMZSdXceFokAq1UO7MhBET/8SMTi13ypvaIj09Q6IZLKv96BXNZHu613otrO7Eo3FoLoavvGNHtqd/u2V8AW88oPe3+5FF8G11/b+dkU7TYP//m9obe3VzT73HLz9dq9uEoDLmMOi3t+s6GjaNLj33r7ei17zH5RzrBe3V1sLHe4NclbOrojG41BZCd//fs/sTT/3+k/h5z/v/e02NkoR7VOaBrff3uubXd0Mv++DImqCFNG+NoTyKsA3e3l7W7bA88/3zHtJc+6X0Fe3y26/aYwYYvyxPtpu32xWiF7T3Nxz7yWTuYQQQohukiIqhBBCdJMUUSGEEKKbpIgKIYQQ3SRFVAghhOgmKaJCCCFEN0kRFUIIIbpJiqgQQgjRTVJEhRBCiG6SIiqEEEJ0kxRRIYQQopukiAohhBDdJEVUCCGE6CYpokIIIUQ3SREVQgghukmKqBBCCNFNUkSFGDTs7FdFMU94TghxLrj6egeEED1FweVqY9y4+/B66/jss7sIh8eQKaRKX++cEHY5KscAACAASURBVIOSFFEhBjy7/aGSk7OVysrluFxRmpur24uoRabRSQqpED1NiqgQg4KV+a8Fzc3jUNU0qZQHMPm8iAohepoUUSEGBQuI0dxcydq1P2v/fx1oA7xIk64Q54YUUSEGPGfwkNn+b3cXzwkhzgUpokIMGm4Mo46Cgo9QFJPW1nG0tU1FrkCFOHekiAox4CntDy/B4AHOO+/nqGqK7dtv47PPLgBSfbx/QgxeMtpAiEFEUUBRbBTFGbEL0pwrxLkjV6JfQjLZN9tNWH2wUU0Du58lX9sG19AJ2UTiTF9pkxlIFOX48WLWrbsTRUnT1DQZCJMZYOQU1dM37fZVnPdLtg1eb1/vhejHhk5G6gEjR8K0ab2/3dHeeth0qHc32tLS/wqWywWNjbBpU+9uV1FgwgTQ9V7dbGXlmcWbbWcelpUgnS4gmVwMWIRCKm53HFV1obTXTuUMukfLy89qtwcXlwt27Oj9mMvJyQRAL7Jt2L69b06ixo0buOcq/SxL9m/f+U7m0et+swxq/k/vbnPGDAgEenebp5OTA2+/Db//fe9uV1Vh795ery7/+I+Zx5kwTYhEIBq1SaVSWJaFrrvxejOHsZfr/+ARCsGPfpR59KaFC+Gll3p1k6aZ2eyBA726WQA2bICamt7fbk+QIjoQ2DK6sk+p/X/ogG0r+HwBtm7dzkMPPUQ6nWbhwsv5+te/3t4q7ww+EgPCmTQZnAN9Fep99Ov2CCmiA0IfRFh/jeq+2K9+XkQtK/Nwu920tob54IP1pFIpJk2agstlkEgksKx+/2uIjvroYEmMfHlSRIUYJEzTRNd1CgsLSafTeL1e0uk0ALZtY9s2Sn89ORJigJIiKsQgYNs24XCYyspK/uu//gvLssjNzaW1tRWfz9fXuyfEoCVFVIhBIp1Oo+s6JSUlWJaFpmmk02ns/jZVSYhBRIqoEIOErus0NTVRW1uLZVkMHz6c8vJyacIV4hySbmQhBgFFUQgEAtTW1vJ//+//5V/+5V946623CIVCKIqSfQghepZciQoxCDhF0rIsIpEIqVSKVCqFqqpSPIU4h6SICjEI2LZNIpEgLy+PRYsWkU6nqaqqIhaLoaqqjM4V4hyRIirOmpOgVZlk1mfcbjeJRIKqqip++MMfYlkWLpcLy7LwDtT11IQYAKSIim5zrmzS6TS/+c1vmDx5MhdffDEej6evd21ISSQSfPrpp7S2thKPx4nH40CmsHq9XjweDxMnTqSgoKCP91SIwUeKqMjqeI8PDXC1L7jaVTNgx2kTuq6zfv16nnjiCS666CIWLVrEV77yFdxud+/s+BDV8Rg8/fTTvPzyy/j9/k6vicVijB49mnvvvZeCggJp0hWih0kRHaKcG2Md9PlIaBoV4TC6bZNQVQ74/TQrCnUHDpA7ciQAx44do7GxEVVVKSsry66Gs2/fPiKRCIqioGka7777Lh9//DHTpk3jmmuuYdasWdKceA6l02kMw+DKK69k48aNxONxXO1337EsC1VVWbhwIaWlpaRSKTRNA5BCKkQPkU6sIci54ny+rIw7LriA786eTYPbjQLU+nx864ILWK9pPPXHPwKZhPv4449zyy23cOutt7Jt2zZUVaWtrY1/+qd/4u///u85evQoHo8Hv9+PZVl8+OGH/PSnP+VHP/oRL7/8Mm1tbX35Kw9Ktm1jmiatra1UVFQwZcqU7DJ/kFkGsKysjPPOO4+2tjZSqVQf7q0Qg5MU0SHGuX0zwPZQiDqfj5jLRbz9yiSmKER1HUtViUWj2SbDaDSafcRiscxrYzFisRiJE+4erWladqDL+vXrWbNmDa2trdi2jWX1xR3GBy9nVG46nWb69On4/X5M08x+r6amBq/XSzwex7Is+fsL0cOkOXeIsQETSACLamtR0mmiLhd2Ok0roKdSfK22lvVeL6PHj89eQY4ZM4arr74al8uFz+ejpaWFZDLJhRdeSH19Pbt37yYej2cHGrndbqZNm8Zll13G7NmzycnJIZVKZZsaRc9RFIV4PE5JSQmVlZVs3boVy7IoKipi7NixpFIp6QsV4hyRjDYEWUAcKIxG+eaOHShAEmgGgvE4d23Zwr9OnMjMuXNpa2vDNE1mzZrFnDlzsleTzc3NWJbFkiVLOHr0KL/5zW9obm7G5/NRXl7O1KlTmTZtGqWlpZimSSqVQtd1Wce1BymKgqqquFwuXC4XhmEwadIkdu3aRSKRYPz48eTn56MoCi6XC1VVZfEFIXqYFNEhLE3milQhMxpXa38uTvvVajwO7SNsE4kEqVQKRVEwDANN07Btm0gkQjgcRlVVRo4cSXV1NSNGjMhOp4jFYjKw6BzSNA1d1/F4PBiGwejRoykvL+fo0aNMnjwZj8eDx+PB7XajaZoUUCF6mBTRIUglc+ANOk9pcR4uwKVp2cRsmmb2ikdRFHRdzyZkj8eDz+fj0ksvxev1YhgGLpcrO8jI5/Ph8XjQdV2ugs4BVVWzRdTn85Gfn8/MmTNpbm6mpKQEn8+Hz+eTIirEOSJFdIhRyBRRd/u/9favzsOZ+uJWVXztRdDp43QGpTjJ2FkRxzRNpk6dSjgcBsDj8RAIBAgGgwQCAXw+X6fCK3qG87d0TloCgQDJZJKpU6diWRaBQIBAIIDX682eAAkhepYU0SHGabrtWEyd5zu+Rtc0vO1Xkel0utOoTicZ67qeXfjc7Xbj9/tRVRXDMPD5fNnVcnRdz/bJSSLvWU6/qK7r2elFhmFg2zaGYRAIBLLN7/K3F6LnSREdgpwCqpK56uz4vPNVUxRc7U2wuq5jWdZJSdiZuK9pGl6vt1Ozr2EY2atPp3hKEj83nFYBwzAAskXUaeaVExghzh0pokOUcsLXrmjtC8o7qxGd9B7tV6DOvFBnEXpVVbPFUxal7x2qquJ2u7PHxLZtNE3LFlAhxLkhRVR06UyvWTr2j2Z/tr2JUfSOjjfddu4pCnRqAZCrUCHODSmiotucxHxiwZSE3Xe6uvqX4yHEuSNFVJw1SdL9gxwHIXqftLkNBJIc+54cg3Omvxf//r13PacvD0Nvb7snY+6srkRt25Y7Q/SGPvgbpxIJ+tsCfTaQar/hdK9KJkGWKzyn+mseMU2TPlmyP5nsi63SFx8vgN6+L4Jpmp3ueHQ2zqqIhkIhvF4vd999t9yA+Vw6fBhmz+61zSWTSfyzZxPqYkRuXyrQdZS5c7k7FOrdeFMU+NnPoH0KiehZiUSCvLy8frk85PiSEh74ylfYmEh0OUL9nHG54Ac/6L3tkTlPHDsWyst7dbMA3HcfnHA/+XPGsixaW1tZtGhRj7yfYp/liuCpVIrW1tZ+3yQzoLnd0IsJxrZtcjQNvR8e06Rl0dbFnNVzyrYhHO790+UhJCcnp9/e4SdsmiRtu3fbHNNpiER6b3vtgkHoi4H14TC038GvV2iaRigU6pH3OusiKoQQQgxVMrBICCGE6CYpokIIIUQ3SREVQgghukmKqBBCCNFNUkSFEEKIbpIiKoQQQnSTFFEhhBCim6SICiGEEN0kRfQcsjExbVnlRgghBqseL6JmPMbBAwfYs3cPe/bsoa7uSDfexea1p1fx6Ion+mbx5x7y4vNPc/+Df+R0yxy/9PyfefKpV7pc8N1Kp2luauq3C3T3tXBbG/v37WPPnj3sra0lHIm2f8fm6Sce54VX3+jT/et9Nq+ueopHH3+y391AYDCJhDNxV1/fcPI3U0kO7N9PfUNj7+9YL9m+dRP33fcALYnEF74uGg7T2trWS3vVN3p8scrw7p38zx8exh0MoNgWkUiMr156DZdffgnGGa8ZrtDS0MCxWC8upngOjB4znvzhidOeqTQ1NtIaT3Z5y6WWXTt4+IVX+Mbf3EpRQd652M0B7S8fruPpZ18gNy+PaCxKYVEJt976XYYXuWloqMfDULsxQuazczwhJfRc+mTjxzz8p0cprxzH//nBPfj1z1PpxrVr+O0jy7ngkku59Zt/hdr/lqA+a7FohCNHjpL+olVjLZPXn15FOreI667umcXe+6MeL6JmOk1ufj7X37yUwrwQH6//gFffeIFx4ysYP3YUAKl4jOONTXi8XvLzPi8MqWSCpuYWfD4fLsONO33y1Vc6nSISiRIMBmltbcWybfLz8rDMNA0NjXh8PoKBwOf7Y6ZpamrGsixy8/Jw6zrRaIR4PEVeXm52Tel4OEzCShPKyQWgsaGBeDJJQX4hhqFnXmSZHKtvwAby8vJx653/fOG2NlweHWyw0hbjxk/CNK1sEU0m4jS3tOL3+1EUBcuyCQT8uFwuDEMnmUzS0tKM1+cn4PeTSCQ4tH8fx47Xc/ToUbyGm0Cgl251MECkUglGlk9j6TevxWVFeeIPD/P6m69zy42L0F06LlfmzhutLS24PV48hhssi7ZwGN1t4PFk7sySTsQ51tCIx+MlP//kkxXTTBMORwgGg7S1tWGaFvn5ediWSX19Ax6vl2AwmH29ZZo0NTVhWhah3FwMt5tYLEo0liAvNy+7yHciEiGeThEKZeKuqbGRWDxOfn4hHk/7CYBlcbyhHsuyM3Hn1k/+O5zw2dGtz09Au/oMxONxorEEoVAITQUrkSCcTJLT/ju0tbag6S5URcM0TTyGQWNTEx6Pl2AwcNL2hyLD4+Fo3SE2b97C7OnTADCjEdZt+hTD70c9YSX3psZGkqkUwZwcfF4vqVSS5pY28nILcNbeN+NxWmNRcvPyUYBwayut4TA5ObkEAr5T7ktbawvRWBzD8BIK5aAoZN6/uQUUhby8PFyaBti0trbh8XiwLJO2tnDmey4XTY2NWEB+fmbbyWSCWCxBTjBAc3MzFlCQnw+Aqqrout7pxP/48eOYpklh4XBcLoWW40c5eOAALkulvr6B3Pw8XKpKIhqhvrkFv99Pbg8tAt+XeryIWraN2+2mrLSMoN9D5aiRaKobm0yyat5fyxPPPU8klSYRSzDnovlccvF5NNYf57HHlnHg0BFGlI+gubGR4aUVJ73/0boD/OEPf6Ri9GiaGuo5fOQ4CxcuIBFpY83adRheH7f+7W2MqRiJ3dbKn1asYOfeWgCGF5dy09KbSTYd4Y+PPM11t3ybyRNKSITD/On3v6do4gVc97UL+PjN13hjwyeoqoKh53DDN28gFHDz3GNPsmVvLYah89VLlzB71tgOe2bz3KpVhLU04eZmRpZXEQrq7NxxmL+789vUH61j2aPLOHq8gdKRmd9v1JjxfPOWG9FdBi3HD/D0U0+xYeNGvIEg37nrLiINx1i55l0i8TCPPfoIX12wkAVfndvTh2xAs20Ljy+X0mH5kNBRdZ2c0OfFTNM0TEweuv8+Znx1PnNnzoBwG4888Acmzf4Kl1w0h9ZDB3jimedoTSVJROPMmnMp8746q1MLQsPxOu77/YOUjaqgrbmZAwfrWHD5fOxUnLfeeQ+X7uav//Y2xo0eBeE2Hn1iJdt27kJBobBoODffshSiTfzv/z7OFTfcxvQpI0jGYiy7/34CldO5cfElfLrmTV5e/zGaquDS/Cz5qxspyvfx/IpVbNy5C4+hc/Hca/nKhRM6/Q3qjx9j+WPLOHj4aPazU1w2CgUyn4HHV7BzTy0Aw4pLWbr0ZuxwM39a9hSLl97O+DH5vPXcn3l7yy7u+ecfkGunWPHgnzhv/tXEm/ay7sOPKS8fySebNmGpLr55661UV40+58e2PzNNk2HDizF0nS2fbGVWzTQUBbbt2EprJEFF+Qhsy8qcpKdSPP/cM6z96C+oqobX6+PGpUspyfPzyO/uZ8pF17Dgq1OxbJvnVyyjzgzxnW8tYf+mj1n12pugqaRTcMXiJUwcN/KEPbHZ9M47PPHiS6SsNKNGzeBv/+ZmtNgx7ntkOYePHsO2LCpHV3HDkq+Tl5fD4489QlssRV5uDlu2bmXixClMmjCGN15fw5Hjx7ni6sUsvGweuz7bwhNPPceEidXU7q3l6LHjzP/alSxaMO/zEwRVg0Sct156kY927QHLpKCgnMVLruTV115j29FjuBsbeaS5mdu+dRup+iOsfOY5ktgkYknmzb+S2TMn9fbh61E93ifqcrkIt7XxwgvP8ednnuH5F19j8tSpVFaUEI81s/zxlfiGlbBkyRKmTB7PKy+vprEpwasvP0tTq8Wd37mTSy+ZSyqRwLKtLpo4bSLhMKalcO3111MzcRx/XvU0BPK48847KdJV3nhrDdg2zz+7iiP1Mf7mb7/FHXfcjqGZrHr6ecrHTCAv5Gbzto8AOHpkH7uO1jPz/Bo++/QvrH7nfS772tdY8vUltLYcZs1bG6nbtof3P93CDTcv5e/+7u8YW1Vywn4pmKTZvmEHE8bVcMGsWVjxFOm0BbbF88+sIp42uPM7dzL3K3OIhdtItl9pKyrU1R1n1NgJ3HHHtwlaaV5+7Q1GVIxi8VcuJOjP4YYbb2LWzOk9fbgGPLfh5eD+jTxw//387N5fkvQFuXTuhQDYHXoF0+k0VodbmWVuyKtgWzFWPL4SV14hS77+dWbUTObVV1dz+OiJfT020WiEZMrmmsXXcn7NZJ778zMkdB933HEHIwJeXn/jLbBtXlr9DAcONXPr33yLO+64gxyfxhNPPUNp+VgKC/xs3voBAA3H9rP98BFmzp7Orm2beOaNd7hk/uUsWXIDsWg9b7yxnqM79rF2wyau//oS7rrrLqrHn5BEbYsXn/8zLWG7/bNzEalEHMsGbJvVzz3NkWPR7GfA67J48s/PU1xcht9lsXffJ4DNjiNHibS10lAf53BdHc3RBCNHjCKdTNDQ0ERZxWhu+/a3qQz5eemVV0/bzz/Y2ZaFbnj52pxZ1B88wN6DdQAc+mw7o6svpLhoOKaVyV8fr3uLDz/azJIbbuXOO+5g4rgKVjy2EndOHmPHV7Dp03cBSIYbWL9jFzXn1VB/7CCPrXqWyefPYsmSGwgFdV5Y/RKJZOdRIjs3b2Tl869wyfwbuOvv7uLqqy9FV+OsXLGCtO3n9m9/m29/+9uEm46x+pU3sW2VdCpFU1MLF3zlYpZcdy2ffvwRH2zcxk1Ll3L1Beez5s03CcfjaJpKa0sLmtvLjTfdzOJrFvDGSy+y70ALmqaDomDoKuvffYv3tuzgyquu4rprF7N39ybWrd/J/AWLGF9SzPhJ01h68w0oyRaWPbaC4WPGcsOSJYypLGP16hdobh3Y3XY9fiWqKArpdIrjR44QaToO3nKuve7rGG5o2XmEfcfrKTE8vPjiiyQScYYVDyO6fy9Nh45z4cWXMLqyEoAZY//CgZiJDZ0KqW3bGIaXORd8jcpRwwjUNLJj9z5qJk2mbHgBVZPHsedYDNqa2bGrlvPmLmDc2DEAnDdjOs+/9AENYY1pE8by/rY6kvEUB7duY/jIMYwsMHjtzZ00xWL85f33sSwL3eNFV9J4dDd5uspbb7/NooWXU1lx8p1rU6kEZSMmsvDyy1CAzTYouguruYnmow1cfPlVjBo1ChjFtg8/orU9qaeSCcpGTGDWzBoUYMzEKo60RnAbHkYNK0J3uSmvqCDUoblQZNiWja7r5OUXEsgJsn/vHl555UWuuebKTvccVVUVVTvx/zWsY43UHj1OoeripRdfIplMMGxYAfFIE1D8+XZsG5duMGf2Qiory8iPtbHts13UTJpMRVkxY6dUs7m2HsKt7Nixl5pZF1E9rgqA82fO5Mk/v8nRZpVpE8bx1oYDxKMpDm3dTmHJKCqLfLzz/k4aYlE2fvQhtmWh6QaGZqNrLgo8Om+tWcMVVyyiatQJrTPNTTQeOsqFcxdkPzvTqz7mcNqGthY+21XLeRdd1ukz8OzqddTHvQwbVcqxYy0c338Ef06AcZOqOLB7MwGvTaAwRGEepNImw4ZXMOv8mbhUqJ4xiTfe+5S4ZRHoixtP9iNmKkVJdTXBjRvYufsgxTleth84xjU3LeC9N3djKy5IJtnx6TbKq6s5b3o1ALryFT7++EH27jOZUD2Rj7e8zJFjMRIHdmB485g4ehhHN2/gSFuY3du2smf7NiKxJLnBXBKJBIbbubewzc6Nn5JbWsqCSz8/wTYP1bLrwFGuvOEWKttjYsqUiXy0qY62MKiKyYRJc6geNxbKS/n47TWUj65i9OhK/HqSd7fuIp5MYmPj84eYM2chZcUGRYW5vPX6uxyqi5LrVUBV0aIxdu+upS0W4b1338FMmwRDeagkKSgoIM/rRcvNp3j4cI58upH9DY1o+/bywuFDJBJRCvNDxKJt5LZ3ow1EPV5E0+k0odx8br3t2xjpOL/99a9Z/cob3HjtArAsNFXjonmXUT2mAtsGzWVgtLSQTqVxuT+/c7ymqEDXZyiKopCdOWJbBAKBbP+kqSiZO9DbNioKmqZ2+DkV3aWgqTDzvBpeW/cwG3Zv4sM9+5g5ewGoLlLxBMOLS7jh5qUotoWmqqiaF69H5e++cycvvL2G+3/3W+YvXMRlX72kw17ZKKgMKwmddPVsWxYKCq4Ofaid+ksUBb/fk/257O8AJNtH5cptX7uWSsUZXjyRJUuuB+DVl57mrXc289VLr0T7PJwwzTTJSPtfuMNxsNNpNEXlKxfPY3J1FbZtoao6uttz0rYURcE5DLZl4ff7ceuZ/sm0QjbutBPiDhR0l4qmwnkzanhxzXo27N7AX3bvZcbMi1BcOql4gqKi4Sy58SY0hfa48+D1aHznzjtZvWYND/3ud1wyfwGXz7/s8/tDWyYKCvqJnx2FDvvyeUQqioKuK+gumDFmNM+v3cbajzZSVDqS3BwPtbv343JZjCyf2v4WFqqqkU6By4A0nNTXN1RZloXuDTL7gvNYs/YTEnV7yCkcwYjiQsx0GlyZPm3VJvt5hkymcLlUbMukavx4vK7VbNqxjuP791E1bgI5OTnsj8YIBIJcufg6cgNeFEVBVQwMT4f+cNsmFYng858wTsK00JQTjjsqukvF5QJbAcXJNuk0httNsH2sRaI95zknoIqioqrt+27aaC4XHkNx3hQsCzuVpmLUGG5eegNmOo3L5UJ1+SAVI22aOL+5nU5j6G4uu3wRI0uGAaCpOrphnP3B6EPn5NNgWSbRaAwjN49FV3yNj9a+xNbP9uKvHIHLpbB3Tx2q6gLL4sDB/aghH5rb4NNPP6WxsZG9u3axac8eXJra5YhV27azRcW2bSzL+rzI2BZ22oRgiJxheWz6y6ccPV5PQ0MDW7dtI6+omGAAPMXlVI0awcvPvUjCVKiuKgMgWF5Kw5HjHDsWwWsYNByvpzVcTzLSilY4jFtuuYVJpcVs/GQnlmWfsF8KmtF5j23LQvMHUDSNTZ9+QmNjIzu3b2Pbvn3tHf3O79Ch8bHj76MoxOMxjh49SqQP7nTf3ymKSjzeyrHjLTQ2NHDo8BH8fi9uPXOVatt2e8Kw2LPjIE1NjWzcspm6xiY0RcFVUohuaOzZfRhFyXwcDh46AK6TT1q+OO5sbNOEQA7BkgI++XgzdUfraWxsYOu2LYTyhxPKBVdhGdVVo3j1hZcJx9NMaO/jCpaX0nysgSNHI3g9HhobGmhqrScVbYPcfG6++WamV45gw6admGaHk0t/AE3X+ST72dnJJ3v3oNlAMERwWB4bO3wGtm3bRl5h5jNQWlVFPHqMTzdvoHLUhZw3cjRH9tWydfs+qqrLO/+en/8R5ISuXSYeYMKkGmKNe3hx7XvUTJ+Jrrsw0ya2aYGuk1s5gt3bPmPP3qM0NTezZctGXEYuw0s1MALUTJ3Ch2vWUrv/CJOnjgfAX1FGPNzGgf2NuN0GkXCYI/V1dDp/UVRKq8dwZPcetmzbT3NzE03NbdjDhuMLeVn/4Sc0NDZy/PgxduzcTfGIMnxeMNP257mrqzhu/7eqqkQiTWzc+C7Nzc1s/Wg9reE4ZRV+IJNn7YCfnLJh1B2oo6U1gcfj4UhdHZFEG2gqpmVl9qupGVdpEdgme/cexeXSMVNJDtUdQu1wsjsQ9fiVqG1ZmKaJ3X6pWD1tOtUffsCzz6zm7ru/zfVfv47HH1/Ftk/fR3dpVE+ayriqMSy45goefXQ5P7v3XipHjcKEbGE5sTk3079ln7C9zP+bpoWZToGqsfCqxax8/An+++f34tZ1ckL53PJXf0XmBM1FzeSJvPn791lw5dUMLyoAYOqM2ezZe4jf/38/o6R4GBYqS5cupeHADu5/djX5BXlEojGuvHoJ6glj100zjZnuOCrSJJ1KgsfL5VcvYtmKJ7j359sZPWoUitud/b2s9t8h+3OWhfO/OaPHkJvj5Q/338cVi69jwbyLe+hIDQ4ul5v9tRv43W/3k0gkcBtevn7jTXg9kEyaqOk0Kirzvjqf5StX8j+HNzJq1Cg0Xc/0i2p+rlm8mCeeXMWO7R9h6C6qqicyZuzYTts5fdyZmKkUtqoy/2tXs3LlSn75i0zcBYIhlt5yJ7oCoDJ9yiRee3stcxcspKx4OAATp85k2t4DPPD7eykpHo5lww033UTLsSP89qlnyCvIJ9zWyteuuCU74hgAj48F11zBssce52f33svoUZWkUbAtE1SVy6+8hpWPr8x8Blw6odx8lv5VZtqFHiwk4PdRe7iBwmEedG8RKTONaSmUFeW0/16dY9OyTNLmwO7D6gmWZZFOmyRTSXJz8pgyYTzJ3ccZP34MYJE2TUwlha0ozLpwHgfrGvjd736O1+NF01S+fsO3yPdlWjtm1Ezh+VdeoWLsRCZOGAfAiIpxXHrpxTz5+B9Y88YwLNvkq/Mvp7K8czfS+XPmcujwcf73of/BY7ipqJzON755A9defz3LH3+Ke+/9BFWBktJRXPG1RYBJOm1iZUdv25immR0vYNsW6XS6/aRJwe12s2PbRv7y4bs0NzWz4GtXMDw3hyN7kpipNAnT5oKLvkrtwSP84uf/xfBhhbjcBjd/4xsQDFI5aRJPrV5NpKWZv77tVhZfew1PPf00fQ4n6gAAFX9JREFUG9a/iaYq1MycRdWYgT1ITbF7+LQyHYlwtKmZYcP///bOLDiO67r7v559wTaYwezYCYA7RYoUqYWUZDqyaJGWK4oSR6kkfktSlaSS9+/BL5+fv0pKKctKLImUZJuWSa1cJZGWRAskQRIUN2wEsRIYzL729DbzPQw4AERSphjKZdr9e8LgTKPvxT3dp+/tc8/fh3l+2SyXyxKNxgiFwlgsZuYis8QTSSxWK6FQCNv8dD4WnSOeSOL3+ymXSoiSjN/vWxJEZanIbGQOjyeAw2FGyeeYS6Ur5zOZSCZiSEoJv6+yXJDP57h+/Tog4A8Eq8sWAEVJZHYmgsvVSH193UIfFIWJyQkkScbV6Mbv86KIIuPT08iyjMfrxevx3NT3ucgsBpMFj7uSBp5KJub74EcAMukUiVQaX1MT+97Yg+Zw8Xd/85fEY1HUkgGftxLI4/EoqgY+bxNQSY2PxeK4vV4aG+7/lPB7SSaTJhaNVW/sHk9TdYvKl8djanISUZIIBoPkMllsdnt13KNzEeLxBGaLlWAoiN22dDlXkSVmZiO43X6cTgtqIU8kkaLJ58ViNpNKxhGLKv5AxV8LhTzT09cB8PkD1C3aFiLJRWavz1Lf4KJh0XhqmsrE+ARFSaLB1UjA70MtFhmfnkKSZNyepqpPfJmFaydAqaRRlGQC8wH6q66B6NwcsqISDAUQEIhEZtG0Mn6/H4NBqPhwUcHn82EwQDqdJJstEAiHuM8nEP8rMukUmWwOn8+P2Wwim8siFWU8nso1PBeZpSwY8Hkr9yFFUZicnEBRVDxNXtyLtlFpJZXrU9ex2Z00zT/M32ByYoJcPk9NbS3BQGDJsnD1eE1jenqKQkGkrt5FMFAZ93Q6RSQSwWg0EQyF5n26zOzMDEazgyZPA2gqkdkItro66mtrkaQCc3MJAsEAVy6eZd/+w7zwt/+AUEphtdlpbg4DlWITyVQGXzCA2WCgKBaYmppG1TQ8Td7qNaeqCtNT0yAYCLe0YBRg5vo0qXQGm91OKBjEYrm/93Lf8yCqc2smxsdQtBIWs5nhwSt89NFxnnvhb9iw5v5O79bR0fnj5PzZXvb+6iD/9K//h3Dg5r3JOhXu+XKuzq0ZHRrk096TqKpGuSzw1K5nWa8HUB0dnT9QTGYzzhonlQRPPYjeDn0m+ntCU1UKokipVMJisWK335z9qaOjo/OHgqaqSLKCzWa7Kf9DZwE9iOro6Ojo6Nwl+oYvHR0dHR2du0QPojo6Ojo6OnfJNxZEC5kM+cKdVdg82/cJL/7kp+Q0DcplRFGs6meOXR1m96tvEIvfH3qaF7/o5T9e/C9Sv0Nn77aUSmSSSVR9K97XIpfOULhD6bzeEx/yk/9+heJ8fVlRFOdr6cLwwGX27PkFqfT9oWR75vQnvPjSy5Vr527QNDKJJNr90V0dnT84vpEgmolO8/r/vMr07J1V2Kmta6SluRmz0Ug5FuH1V17l6tgkUJECunp1FEn+Jlp676mpbaC1pQXT3ZZG0xQ+fu89Dn3Ud28b9kdMYvoab7yym2j8zh5c6hrctISDmARQrk+z+2evMDlfQDyTTjF6dQxFvT8SKerqXbSGwxiFu2yvInNw334+/vTCvW2Yjs6fCPc8iJYpc+TYx9SHu+lqq5nPSL1hLCNLcrXKi6IoSJJIV/dqdj2zA7OmkZiZYWJ8gkw6TbFYxGA0YrPZMBpBLBQQxeItz1uUJYrSwmy1rKrV2SzlMsWiiKoqyLJMiRJaSUNRKrMPRZZJp9MUCoXq8ZqmIs3PJkVRpFAQb28TF2xt7ct5dtdOauYr4txoQz6fR7rFk0Dl9xKlUqnyN81WHn36SQYuHOfq2PjX+df/SVIqaxz8+GO87atoCdlu8jdJkrlR8FaRZSSpyMpV6/nu099B0DTiM9NMTEySzmQpShJGoxGb3YrBAIVCgWLxNv4mSUiL/K2kKFV/Ki/2N0mmRBlVU6uzXVmSSKVTiIv8RlMX+VShcLNNlm9p6+pew85ndmA3GFBVZYm/yfLNqzf5XA5JltE0rXI+m53Hnt7G+b4jTMwXh9DR0blzjD/60Y9+dC//YD4ywYfHz/LMszuxmcu89tJLiLhpbXYzfraPF//7FULLunDX1/Hh3r2MzBWQc1F+/c4BGrwe9r79DpFkkqsjQ8glgUa3i+HBKyhKlgMfvM8Hhw5T0+AiHAiy+OH78qnPeWv/UXpWrcVmhv2vvcqn5y6y8cH1aDNTvPzaXvzhZj469D4XRwc4fuxD0hkZT52D119/nd7Tp/nNseMoGGlrCTM6cplXXtlNIhHn6JHDHDhwEIPFQXtrmJGhy7z66m4SiQRHDx/mwIFDGK0O2lubGbzcz+49v2Tt5s1cOdPHvrffJhqJ8Pb+/Rz/9DMC4RY8jS6KYoF9b/2KvXt/xdDVq5zuO0V//0XWbFhPfW0Ds4NXmM3Dyu72ezk8f3Skpq/yyeeX+d6f70JQRH72k5+CLUg42MBQ7wleeu112pevoL7GyQdvvMFMrkQ6NsH7Bz+i1u3iF/vfJpFOMzw0QMloob6uhpHhQYrFNO+/9w6Hjn6Iy+MlOF/95wb9nx7j3YOfsWLdWkyCyi9ffpm+wVE2rFtDcXyUn735NqGWFg6+s5/B6RGOHj6CpBiosxjYs+d1TvX1cfzYcQSLjZbmEFcu9rN7z5skkgkOHTjAoSNHsTnraQkHuXzhLHte/znJZIyDBw5y+MhRrDUV2/mzJ/nlW++yfvMmzp74jPc+OMjszAz73nqLE70nCbe20dhQTyGfZ+8v3uStffsZGR2lt/dzLg8Ms27DAzTUNTJx4QsSqpWezi/rVero6HwV93wmem3oKo5aLx5PAxabnSang4HBXgAuTIwTmYswcz2FKEqMTEwQDHajaSrJZJLGJi9PP7KFOruDrU88yZZND2Iol0mlUqQyeb67cxcb21s4cvAwmUWzRoDuYJB0fIJIbApZynN5cpKZ6RlyRRgav4qimWlqCpLLpzn32/O0tvSwcmU3lMo8snUbL7zw12x+aC3Hjh4hlc8jCBCJRMjkijz1nR08+cQWDr33DhNTKQRBIBKJkM0XeerpHTzx+EMcfPdtJqdTlMuQy+UoCwKKKjM1NY3J5uT7f/4cLTU2PvjgAAC9J45xpn+A7z/3Vzyx9VGS0RjpTLY6S3/ggZXMTV1HusVsQmeBqwMj1LlCNLqcOGprcNksDAyfAuCL8TEikQgzkSz5XJZrU9cJhXpQFJlkMonX6+PpLZupsTv41van2Lh+HUKpRCKeIC/K7Pres6wJ+jh08BD5L60idIfCxCKjxOIRCrkMg1PTzE7PUJThyugwZcGOu9FPJpvk3Gdf0N21mp6uDsoIbHvyW7zw1y+w4YHlfHjoMHlJokyZ2dkZxKLCjp07efTh9by3bx+zc3nKwOzMDGJRY8fOnTyy5QHe27ePSDRPqVSq+BsgyzKTk1PY6+p57vnncRvhwMHDABz/6CCXBib4i+d/wKNbHiIeiZDJ5qqF5deuW87M+CSq/jJeR+drcc8rFo3F0zgaTFiNAAY8yzoY6R8imypQLBRYt/kBZsdHiPmtFE0mOjpqGB8EgyDgcDhY1daGzWKls7MLb5OH+OwUZrOTRx7dRWebgzqLwqU33kWUZOqdjup5zYEgta56pq8nsYsigZZmCgWJqfFhxuJJfM0unHaQJIlw81qe3fldAAq5LKnEAP3958lkEmiKQl6WKQMOex1bt+2kNeyks72Zk7/tY3wyh7ehjNNRx7ZtO2kOOehsD3Py8zOMT+bw1BkrBcLLZcolDbc7xNZt23HaQM1FeOvw50jZDDMDI6zb+CCbN1V0AJNjY3w2cLUaRE1uF5IYJV8QsVr0aiG3YyyeprbRUanjKpjwdLZyZXSOXDKPqiis3biGmWuDNNXIqDYLrS12LkYrkmA1Dger21p512JlWVc3Te5Gpq8NY7M38NjW7xEOmLCU8ozsP0pRlnFaF2p8WpvDOGqdXJ9JohkVWro7yGclpiZHGU+mCLU24rCDLBdp79zIzh3fASCfSRO7fIWz586SSsZRFJm8rABlamtcbHv8ewS8ZlqCPk739jMxlcdmKFNb28i2x3fh95ppDng5dfI8E1MFLAZjVQ2oVFLx+Vp4fOsTWEyQmZvgaO8l1FyG2ZFrbHx4Mw9uWAdAZHiIL6ZjlZVuAczuRsTcF4hFidoaBzo6OnfGPZ+JlrTSErmeVW1tWDSVE73nUE1mNm/eSC4bZ2hoAJe7nXqHnVKp8q6oBMhK5Z3pDeWIchlsdjsOe+UGJlHGZDQuEVwGMFrsrG1rZnRolL5LQyxbsZz2thBjo0Mkkhna29dVuxwIV4ojI0vs/8Wb9J45zwPrN7D1sYcxGY1o80odRqMRk7Fy3lIJLBYLFkvlvAajEeMNmzZvMws3SbcZjSZuCCYogoDRYKCsqqCVcTjt1e9ZTUufZwTBQBmBckmvhfFVlLQSBtPCf31tRweIRT7r7cdgd7Jp0wZSqSgjV4dp8nbjsJgrkmVU/E2Sb/jbQnqqw2HHZq2MhyxwS3+z2mtZ3RJk8NIw5wausnz1aprDPkZHBklnRNrb1wAaCCYCzfP+VhT55Z7d9F8a4MGNm3jskYcwIFAq3/A3E0Zj5YGpVBaW+NtX2RZjNJqrCkCqQcBgMFBWNYRSpV83sBhNS+SRDIJQ8Te99oqOztfingdRd52TYq6EOn9PcjeHqHEa+fy3h/D617OydSU2SeSTE2cIt1cUAUra4gtXQFEUstlsNdGionFXqv58OzpXLmdyrJ/J6QgrOjexMRTm/Nl+IrE07V0t3BDONjvm7x5ykdT1CO2d3axauRxDOk1eFDEIAgbBQKGQYWDwNKIoMn75Isl0nmCLA6NRIJ9fsI1dvkgqnSfY6gChvKSJNzQHq20vl8Fmw+RwMDg4QC6fJxWPc25kBIMgVG/WJTGP2eTAZr+/BWu/adx1DgoprbosGWhrwWpVOXnyKMHQJla3LkfIpjnxeT+tyyoyUtriBxNBQFFkstlMNXmnfKf+tryb0eFTzEbTrOrcwIZAgNOn+khlRVo7moESAgYsN/xNLJCcjbJsxUpWdHdBMokoSwiCgCAYyOaSDA72IYoi1y5eIFMQCTTbMRoEstkEg0NnqrZsoYg/XFHlWNzCm/2thGCzYbBYuDJ4hXy+QDw6x4WxaxgFQzWvQBPzWCxOrNb7W1FDR+f3zT1fzl3RHuZU/zXSaRG3yw4mB263m8/7+mn0ODE7bBhtZmYjUVrDFVknVVUpShKlUhlzkw9PUyNv7nmN6I5naAk2VTIc5+9ppZJGsVi85RNzvS+MJhXJiQUaG62o5QBzkRlau914GyxAJQNWlub3r9qdtK9awdHffMT02BBmo6GirVcuIxgMmEwG+s+eoO/kp0Qjczy89XGamxoZjE1iMho4d+YEp3s/mbc9Qdjj4sL0cKV9LGRc3miqpqoU8wVki42Htm/nyu7X+PH//TEtzc0kcgXMVmd1djB2cZgGXwsOvcbuV7Kyo5kvhs6Ry0nU1ljBWkdDQwPnLlzB7a3BUldL2SgQjSZoC1VkptT5cSkBVn8QV0Mtr77yMjt2fR9PvR2puGjMtNv7myvYilTII6oS9Q0WDMEAszPTrPI343IKUJ73N3ne32pqaV/Rw8eHDnBt4BJCSaU0r0lqMBgwGgVOn/wNJ35zlFg0xrZv/Rm++hoipRJGA5zqPc5nx48Qi8Z4fHvFNiEVKUoSZSqyU5IkV9uuqgrFQgHFZufRp77Nnjd/zo9/XPG3tChRV78gzzZ2cQR3sF1/daCj8zW593qimsTPXn6Zzp7NbH9yEwCxuTkisRidyzqxWazMzc0SiyfpaO/AZrOSSsaZiyXpWNaJSRBIxGOMjU/g9QWor3MyMxOhpaUTm81APpdmajpCW0c7VvPSC15TVa5dG8VstdPa0kyprDEyNIzdWUtzOASUuTZ6DZuzhsC83qgkFRkeGq6oxIcCRCNzNHd0MD58ib173+e5v/ohqhzDYnXQ09ON0SBw8Ys+fv3rg/zFD36IIsWwztsMBoFMOslsJEpHVzfZRIx4IktbezsmEyQTUSJzCTq6u7AYDKSSCSYmpwgEglzqPUHfyAT//m//AqUC//H/XmTr9u+w8YG193J4/uiQ5AL/89OfsmbDdrY+sgaAyOwM8WSKzmXLsJrNzMxMk0rn6OjowGoxk4hHiSczdCzrxEhFi3NiYgp/KIzTbmEuEqOlrROrRSCbSTIzG6WtoxOLaamWo6oojI6OYq+poTkUQtUUrg6PUFPXQCgYAEqMjozibHDhm9eZFMUCI0PDGM0W/AEfc5EobZ2dDFw4zbvvHeP5H/yQYn4Wu7OGnu5uBAHOnP6MAwc+4fkf/D1iPoLDWUt3TxcCkEzGicaSdHYtIzkXIZ0VK6LjRojHIsTiGTp7ujABiViUqeszhMJhTn/8IUOzCf7ln/8RuZjmP//zJZ7a+SxrV/T8XsdPR+d+557PRE1GK99+civv7P+I5StWEPLX4PF68cyL0wJ4vX68Xn/1c4PLTYNrQYy20e2h0b0gel1buyCY7aypp6fn1sLURpOJZV3d1c8GwUh3z/JF3xBo71iqom612li9Zs3CuV2V91eaVtlHWl/vozm0NO2/XC7P2/yEg0ttdfUu6uorgrsutwfXon64GptwNVZm34l4jKKk0NraSmR2hk9P97F2y1aMQplD7xygwdfFurWrb9lPnQWsFgff2vowhw4fo6enC6/bhs8fwOcPVL8TCIQILHyk0d1Eo3tB3NrT5MXTtOCf9fUN1Z9r61zU1i0IKC/GZDbT3bMQdExGMz3LVyz6hoGOZcuWHGO3O1izbl3185f9zdUYwN8TXHJMxd80XI1BlveElthcLjeu+WvH4/XhWegGbo8Pt6eyNScWjaKoGq2trUxPTdB77jxbtj+FUNI4uP8DAq2rWd3TjY6OztfjG9ET7ehZy85nDAjC/VuaVxAEjEYjmqYAlq+w3d3y18S1UT44dBhJVigWJdY9+BB/9u0ngDLtHV082LIS891WPfoTY/majQiCA8r3R5WhWyEIhq/wt9vb7pTR4QEOf/gxiqpRlGQ2bXmEJ7Y9BuUy3ctX4e9Yo8td6ejcBboU2m2QZYlcNk9dfQMmk+E2Nhcm093deBRFIZ1OoygKZrMZt8dzU2avzp8OklQknxcr/mYU7th2pyiyTCqdRlVVzGYLHo/7dx+ko6PzO9GDqI6Ojo6Ozl2irxfq6Ojo6OjcJXoQ1dHR0dHRuUv0IKqjo6Ojo3OX6EFUR0dHR0fnLtGDqI6Ojo6Ozl2iB1EdHR0dHZ275P8DngxITpAUs2UAAAAASUVORK5CYII=\" 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: 309px 10.5px; text-align: left; transform-origin: 309px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"http://www.jasondavies.com/bml/#0.61/769/512\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003esimulation site\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function a_out = traffic_step(a_in)\r\n  a_out = a_in;\r\nend","test_suite":"%%\r\na_in = ...\r\n  [0 0 0 2\r\n   1 1 0 0\r\n   0 0 2 0\r\n   0 0 0 1];\r\na_out_correct = ...\r\n  [0 0 0 0\r\n   0 1 1 2\r\n   0 0 0 0\r\n   1 0 2 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [0 0 2\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 0 0\r\n   0 0 2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [1 0 2\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 1 0\r\n   0 0 2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n  [0 0 2\r\n   1 1 1\r\n   2 0 0];\r\na_out_correct = ...\r\n  [2 0 2\r\n   1 1 1\r\n   0 0 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in = ...\r\n    [0     2     2     2     0     0\r\n     1     1     0     2     0     0\r\n     0     0     0     0     2     0\r\n     1     1     0     1     1     2\r\n     0     0     1     2     0     0\r\n     0     0     0     2     0     1];\r\na_out_correct = ...\r\n    [0     2     2     2     0     0\r\n     0     1     1     2     0     0\r\n     0     0     0     2     2     0\r\n     0     1     1     1     1     0\r\n     0     0     1     0     0     2\r\n     1     0     0     2     0     0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in =  ...\r\n    [0 1 1 1\r\n     0 0 0 0];\r\na_out_correct = ...\r\n    [1 0 1 1\r\n     0 0 0 0];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n\r\n%%\r\na_in =  ...\r\n    [0\r\n     2\r\n     2];\r\na_out_correct = ...\r\n    [2\r\n     0\r\n     2];\r\nassert(isequal(traffic_step(a_in),a_out_correct))\r\n","published":true,"deleted":false,"likes_count":7,"comments_count":0,"created_by":7,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":36,"test_suite_updated_at":"2014-12-04T15:56:53.000Z","rescore_all_solutions":false,"group_id":24,"created_at":"2014-12-01T23:45:31.000Z","updated_at":"2026-03-29T06:52:52.000Z","published_at":"2014-12-02T19:28:14.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\u003eThe\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://en.wikipedia.org/wiki/Biham%E2%80%93Middleton%E2%80%93Levine_traffic_model\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eBiham–Middleton–Levine traffic model\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e is a simple cellular automata model loosely mimicking traffic flow. In an m-by-n domain, we see white empty space (or 0 in our matrix representation), red cars (1 in the matrix), and blue cars (2 in the matrix).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAssume the space is toroidal. That is to say, the right side connects with the left, and the top connects to the bottom. So a red car that moves off the far right of the matrix re-appears on the far 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:t\u003eHere is a 4-by-4 version with three red cars and two blue cars.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     2\\n     1     1     0     0\\n     0     0     2     0\\n     0     0     0     1]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eRed cars always move to the right if they are unblocked. A red car can move either into an empty space or a space being vacated by a moving red car.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAfter we move the red cars (1s) we will have this matrix.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     2\\n     0     1     1     0\\n     0     0     2     0\\n     1     0     0     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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWe're only halfway through the process. After we move the blue cars (2s) we end up here.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     0     0     0     0\\n     0     1     1     2\\n     0     0     0     0\\n     1     0     2     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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis last value of the matrix would be the return value of your function. Assume that red cars always move before blue cars.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor some visualizations of Biham–Middleton–Levine traffic, see this very nice \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.jasondavies.com/bml/#0.61/769/512\\\"\u003e\u003cw:r\u003e\u003cw:t\u003esimulation site\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":52,"title":"What is the next step in Conway's Life?","description":"Given a matrix A that represents the state of Conway's game of Life at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+1).\r\nAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\r\nExamples:\r\n Input  A = [ 1   1   0   0\r\n              0   1   0   0\r\n              1   1   0   0\r\n              0   0   0   0 ]\r\n\r\n Output B = [ 1   1   0   0\r\n              0   0   1   0\r\n              1   1   0   0\r\n              0   0   0   0 ]\r\n\r\n Input  A = [ 0   1   1   0\r\n              1   1   1   0\r\n              0   0   1   0\r\n              0   0   0   0 ]\r\n\r\n Output B = [ 1   0   1   1\r\n              1   0   0   0\r\n              0   0   1   1\r\n              0   1   1   0 ]","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 500.233px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.117px; transform-origin: 407px 250.117px; 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: 139px 8px; transform-origin: 139px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven a matrix A that represents the state of\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://conwaylife.com/wiki/Conway%27s_Game_of_Life\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eConway's game of Life\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: 155px 8px; transform-origin: 155px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+1).\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: 294px 8px; transform-origin: 294px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\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: 32px 8px; transform-origin: 32px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExamples:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 388.233px; 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 194.117px; transform-origin: 404px 194.117px; 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: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Input  \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eA = [ 1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Output \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eB = [ 1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Input  \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eA = [ 0   1   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   1   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   0   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 32px 8.5px; transform-origin: 32px 8.5px; \"\u003e Output \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: 76px 8.5px; text-decoration-color: rgb(170, 4, 249); text-emphasis-color: rgb(170, 4, 249); transform-origin: 76px 8.5px; \"\u003eB = [ 1   0   1   1\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: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              1   0   0   0\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404px 10.2167px; transform-origin: 404px 10.2167px; white-space: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 108px 8.5px; tab-size: 4; transform-origin: 108px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   0   1   1\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: 116px 8.5px; tab-size: 4; transform-origin: 116px 8.5px; unicode-bidi: normal; white-space: pre; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e              0   1   1   0 ]\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function B = gameOfLife(A)\r\n  B = A;\r\nend","test_suite":"%%\r\nA = [ ...\r\n 1     1     0     0\r\n 0     1     0     0\r\n 1     1     0     0\r\n 0     0     0     0];\r\n\r\nB = [ ...\r\n 1     1     0     0\r\n 0     0     1     0\r\n 1     1     0     0\r\n 0     0     0     0];\r\n\r\nassert(isequal(gameOfLife(A),B))\r\n\r\n%%\r\nA = [ ...\r\n 0     1     1     0\r\n 1     1     1     0\r\n 0     0     1     0\r\n 0     0     0     0];\r\n\r\nB = [ ...\r\n 1     0     1     1\r\n 1     0     0     0\r\n 0     0     1     1\r\n 0     1     1     0];\r\n\r\nassert(isequal(gameOfLife(A),B))\r\n\r\n%%\r\nA = zeros(4);\r\nassert(isequal(gameOfLife(A),A))\r\n\r\n%%\r\nA = ones(4);\r\nassert(isequal(gameOfLife(A),1-A))\r\n","published":true,"deleted":false,"likes_count":29,"comments_count":13,"created_by":1,"edited_by":223089,"edited_at":"2023-08-22T14:45:24.000Z","deleted_by":null,"deleted_at":null,"solvers_count":680,"test_suite_updated_at":"2022-10-16T10:41:00.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:24.000Z","updated_at":"2026-04-03T16:12:20.000Z","published_at":"2012-01-18T01:00: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\u003eGiven a matrix A that represents the state of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://conwaylife.com/wiki/Conway%27s_Game_of_Life\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eConway's game of Life\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e at one instant (time t=n), return the matrix B that represents the state of the game at the next instant (time t=n+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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAssume a toroidal game board, so the edges of the matrix wrap left to right and top to bottom.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  A = [ 1   1   0   0\\n              0   1   0   0\\n              1   1   0   0\\n              0   0   0   0 ]\\n\\n Output B = [ 1   1   0   0\\n              0   0   1   0\\n              1   1   0   0\\n              0   0   0   0 ]\\n\\n Input  A = [ 0   1   1   0\\n              1   1   1   0\\n              0   0   1   0\\n              0   0   0   0 ]\\n\\n Output B = [ 1   0   1   1\\n              1   0   0   0\\n              0   0   1   1\\n              0   1   1   0 ]]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"}],"term":"tag:\"automata\"","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:\"automata\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"automata\"","","\"","automata","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac44649ce8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac44649c48\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac44649388\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac44649f68\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac44649ec8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac44649e28\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac44649d88\u003e":"tag:\"automata\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac44649d88\u003e":"tag:\"automata\""},"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:\"automata\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"automata\"","","\"","automata","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac44649ce8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac44649c48\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac44649388\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac44649f68\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac44649ec8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac44649e28\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac44649d88\u003e":"tag:\"automata\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac44649d88\u003e":"tag:\"automata\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2494,"difficulty_rating":"medium"},{"id":2700,"difficulty_rating":"medium"},{"id":52,"difficulty_rating":"medium-hard"}]}}