{"id":2986,"date":"2025-06-06T14:18:11","date_gmt":"2025-06-06T14:18:11","guid":{"rendered":"https:\/\/diznr.com\/?p=2986"},"modified":"2025-06-06T14:18:11","modified_gmt":"2025-06-06T14:18:11","slug":"day-04part-11-discrete-mathematics-book-for-computer-science-precedence-of-operator-logical","status":"publish","type":"post","link":"https:\/\/www.reilsolar.com\/pdf\/day-04part-11-discrete-mathematics-book-for-computer-science-precedence-of-operator-logical\/","title":{"rendered":"Day 04Part 11- discrete mathematics book for computer science- Precedence of logical operator."},"content":{"rendered":"<p>Day 04Part 11- discrete mathematics book for computer science- Precedence of logical operator.<\/p>\n<p>[fvplayer id=&#8221;202&#8243;]<\/p>\n<h3 data-start=\"0\" data-end=\"68\"><strong data-start=\"4\" data-end=\"66\">\u00a0Precedence of Logical Operators in Discrete Mathematics<\/strong><\/h3>\n<p data-start=\"70\" data-end=\"299\">Logical operators in <strong data-start=\"91\" data-end=\"115\">Discrete Mathematics<\/strong> follow a specific order of precedence, similar to arithmetic operators in algebra. Understanding their precedence is crucial in <strong data-start=\"244\" data-end=\"297\">Boolean algebra, logic circuits, and programming.<\/strong><\/p>\n<h3 data-start=\"306\" data-end=\"377\"><strong data-start=\"309\" data-end=\"377\">\u00a0Logical Operators &amp; Their Precedence (From Highest to Lowest)<\/strong><\/h3>\n<div class=\"overflow-x-auto contain-inline-size\">\n<table data-start=\"378\" data-end=\"750\">\n<thead data-start=\"378\" data-end=\"444\">\n<tr data-start=\"378\" data-end=\"444\">\n<th data-start=\"378\" data-end=\"393\"><strong data-start=\"380\" data-end=\"392\">Operator<\/strong><\/th>\n<th data-start=\"393\" data-end=\"406\"><strong data-start=\"395\" data-end=\"405\">Symbol<\/strong><\/th>\n<th data-start=\"406\" data-end=\"420\"><strong data-start=\"408\" data-end=\"419\">Meaning<\/strong><\/th>\n<th data-start=\"420\" data-end=\"444\"><strong data-start=\"422\" data-end=\"442\">Precedence Level<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"504\" data-end=\"750\">\n<tr data-start=\"504\" data-end=\"555\">\n<td><strong data-start=\"506\" data-end=\"518\">Negation<\/strong><\/td>\n<td><code data-start=\"521\" data-end=\"525\">\u00acP<\/code> or <code data-start=\"529\" data-end=\"533\">~P<\/code><\/td>\n<td>NOT<\/td>\n<td><strong data-start=\"542\" data-end=\"553\">Highest<\/strong><\/td>\n<\/tr>\n<tr data-start=\"556\" data-end=\"598\">\n<td><strong data-start=\"558\" data-end=\"573\">Conjunction<\/strong><\/td>\n<td><code data-start=\"576\" data-end=\"583\">P \u2227 Q<\/code><\/td>\n<td>AND<\/td>\n<td>High<\/td>\n<\/tr>\n<tr data-start=\"599\" data-end=\"642\">\n<td><strong data-start=\"601\" data-end=\"616\">Disjunction<\/strong><\/td>\n<td><code data-start=\"619\" data-end=\"626\">P \u2228 Q<\/code><\/td>\n<td>OR<\/td>\n<td>Medium<\/td>\n<\/tr>\n<tr data-start=\"643\" data-end=\"688\">\n<td><strong data-start=\"645\" data-end=\"660\">Implication<\/strong><\/td>\n<td><code data-start=\"663\" data-end=\"670\">P \u2192 Q<\/code><\/td>\n<td>IF-THEN<\/td>\n<td>Low<\/td>\n<\/tr>\n<tr data-start=\"689\" data-end=\"750\">\n<td><strong data-start=\"691\" data-end=\"708\">Biconditional<\/strong><\/td>\n<td><code data-start=\"711\" data-end=\"718\">P \u2194 Q<\/code><\/td>\n<td>IF AND ONLY IF<\/td>\n<td><strong data-start=\"738\" data-end=\"748\">Lowest<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p data-start=\"752\" data-end=\"812\"><strong data-start=\"755\" data-end=\"810\">Operator with higher precedence is evaluated first.<\/strong><\/p>\n<h3 data-start=\"819\" data-end=\"879\"><strong data-start=\"822\" data-end=\"877\">Example: Evaluating Expressions Using Precedence<\/strong><\/h3>\n<h3 data-start=\"881\" data-end=\"901\"><strong data-start=\"885\" data-end=\"899\">Example 1:<\/strong><\/h3>\n<p data-start=\"902\" data-end=\"960\"><strong data-start=\"904\" data-end=\"919\">Expression:<\/strong> <code data-start=\"920\" data-end=\"932\">\u00acP \u2228 Q \u2227 R<\/code><br data-start=\"932\" data-end=\"935\" \/><strong data-start=\"937\" data-end=\"958\">Precedence Order:<\/strong><\/p>\n<ol data-start=\"964\" data-end=\"1052\">\n<li data-start=\"964\" data-end=\"990\">Negation <code data-start=\"976\" data-end=\"980\">\u00acP<\/code> (First)<\/li>\n<li data-start=\"994\" data-end=\"1019\">AND <code data-start=\"1001\" data-end=\"1008\">Q \u2227 R<\/code> (Second)<\/li>\n<li data-start=\"1023\" data-end=\"1052\">OR <code data-start=\"1029\" data-end=\"1043\">\u00acP \u2228 (Q \u2227 R)<\/code> (Last)<\/li>\n<\/ol>\n<p data-start=\"1054\" data-end=\"1101\"><strong data-start=\"1057\" data-end=\"1078\">Final Evaluation:<\/strong> <strong data-start=\"1079\" data-end=\"1099\"><code data-start=\"1081\" data-end=\"1097\">(\u00acP) \u2228 (Q \u2227 R)<\/code><\/strong><\/p>\n<h3 data-start=\"1108\" data-end=\"1128\"><strong data-start=\"1112\" data-end=\"1126\">Example 2:<\/strong><\/h3>\n<p data-start=\"1129\" data-end=\"1193\"><strong data-start=\"1131\" data-end=\"1146\">Expression:<\/strong> <code data-start=\"1147\" data-end=\"1165\">(P \u2192 Q) \u2228 R \u2227 \u00acS<\/code><br data-start=\"1165\" data-end=\"1168\" \/><strong data-start=\"1170\" data-end=\"1191\">Precedence Order:<\/strong><\/p>\n<ol data-start=\"1197\" data-end=\"1296\">\n<li data-start=\"1197\" data-end=\"1215\">Negation <code data-start=\"1209\" data-end=\"1213\">\u00acS<\/code><\/li>\n<li data-start=\"1219\" data-end=\"1236\">AND <code data-start=\"1226\" data-end=\"1234\">R \u2227 \u00acS<\/code><\/li>\n<li data-start=\"1240\" data-end=\"1264\">Implication <code data-start=\"1255\" data-end=\"1262\">P \u2192 Q<\/code><\/li>\n<li data-start=\"1268\" data-end=\"1296\">OR <code data-start=\"1274\" data-end=\"1294\">(P \u2192 Q) \u2228 (R \u2227 \u00acS)<\/code><\/li>\n<\/ol>\n<p data-start=\"1298\" data-end=\"1349\"><strong data-start=\"1301\" data-end=\"1322\">Final Evaluation:<\/strong> <strong data-start=\"1323\" data-end=\"1347\"><code data-start=\"1325\" data-end=\"1345\">(P \u2192 Q) \u2228 (R \u2227 \u00acS)<\/code><\/strong><\/p>\n<h3 data-start=\"1356\" data-end=\"1383\"><strong data-start=\"1359\" data-end=\"1381\">\u00a0Important Tips:<\/strong><\/h3>\n<p data-start=\"1384\" data-end=\"1588\"><strong data-start=\"1386\" data-end=\"1405\">Use parentheses<\/strong> <code data-start=\"1406\" data-end=\"1410\">()<\/code> to override precedence and clarify order.<br data-start=\"1452\" data-end=\"1455\" \/><strong data-start=\"1457\" data-end=\"1490\">Memorize the precedence table<\/strong> for quick logic simplifications.<br data-start=\"1523\" data-end=\"1526\" \/><strong data-start=\"1528\" data-end=\"1557\">Apply De Morgan\u2019s Theorem<\/strong> when negations are involved.<\/p>\n<p data-start=\"1590\" data-end=\"1670\" data-is-last-node=\"\" data-is-only-node=\"\">Would you like more <strong data-start=\"1610\" data-end=\"1645\">solved examples or truth tables<\/strong> on logical operators?<\/p>\n<h3 data-start=\"1590\" data-end=\"1670\"><a href=\"https:\/\/www2.cs.uh.edu\/~arjun\/courses\/ds\/DiscMaths4CompSc.pdf\" target=\"_blank\" rel=\"noopener\">Day 04Part 11- discrete mathematics book for computer science- Precedence of logical operator.<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"http:\/\/ndl.ethernet.edu.et\/bitstream\/123456789\/23906\/1\/John%20O%E2%80%99Donnell.pdf\" target=\"_blank\" rel=\"noopener\">Discrete Mathematics Using a Computer<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/shms-prod.s3.amazonaws.com\/media\/editor\/146581\/Discrete_Math_Precedence_of_Logical_Operators.pdf\" target=\"_blank\" rel=\"noopener\">Precedence of Logical Operators<\/a><\/h3>\n<p data-start=\"0\" data-end=\"148\">Here\u2019s a clear and concise guide on the <strong data-start=\"40\" data-end=\"75\">precedence of logical operators<\/strong> in <strong data-start=\"79\" data-end=\"103\">Discrete Mathematics<\/strong>, especially as used in <strong data-start=\"127\" data-end=\"147\">Computer Science<\/strong>.<\/p>\n<hr data-start=\"150\" data-end=\"153\" \/>\n<h2 data-start=\"155\" data-end=\"244\">\ud83d\udcd8 <strong data-start=\"161\" data-end=\"244\">Day 04 \u2013 Part 11: Precedence of Logical Operators (Discrete Mathematics for CS)<\/strong><\/h2>\n<p data-start=\"246\" data-end=\"424\">In <strong data-start=\"249\" data-end=\"258\">logic<\/strong> and <strong data-start=\"263\" data-end=\"282\">Boolean algebra<\/strong>, the <strong data-start=\"288\" data-end=\"302\">precedence<\/strong> (or order of operations) determines <strong data-start=\"339\" data-end=\"380\">how logical expressions are evaluated<\/strong> when there are multiple operators involved.<\/p>\n<hr data-start=\"426\" data-end=\"429\" \/>\n<h2 data-start=\"431\" data-end=\"497\">\ud83e\udde0 <strong data-start=\"437\" data-end=\"497\">Logical Operators &amp; Their Precedence (Highest to Lowest)<\/strong><\/h2>\n<div class=\"_tableContainer_16hzy_1\">\n<div class=\"_tableWrapper_16hzy_14 group flex w-fit flex-col-reverse\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"499\" data-end=\"1084\">\n<thead data-start=\"499\" data-end=\"580\">\n<tr data-start=\"499\" data-end=\"580\">\n<th data-start=\"499\" data-end=\"514\" data-col-size=\"sm\"><strong data-start=\"501\" data-end=\"513\">Operator<\/strong><\/th>\n<th data-start=\"514\" data-end=\"534\" data-col-size=\"sm\"><strong data-start=\"516\" data-end=\"526\">Symbol<\/strong><\/th>\n<th data-start=\"534\" data-end=\"557\" data-col-size=\"sm\"><strong data-start=\"536\" data-end=\"547\">Meaning<\/strong><\/th>\n<th data-start=\"557\" data-end=\"580\" data-col-size=\"sm\"><strong data-start=\"559\" data-end=\"578\">Precedence Rank<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"665\" data-end=\"1084\">\n<tr data-start=\"665\" data-end=\"748\">\n<td data-start=\"665\" data-end=\"680\" data-col-size=\"sm\"><strong data-start=\"667\" data-end=\"679\">Negation<\/strong><\/td>\n<td data-col-size=\"sm\" data-start=\"680\" data-end=\"700\">\u00ac (NOT)<\/td>\n<td data-col-size=\"sm\" data-start=\"700\" data-end=\"724\">Inverts truth value<\/td>\n<td data-col-size=\"sm\" data-start=\"724\" data-end=\"748\"><strong data-start=\"726\" data-end=\"741\">1 (Highest)<\/strong><\/td>\n<\/tr>\n<tr data-start=\"749\" data-end=\"832\">\n<td data-start=\"749\" data-end=\"767\" data-col-size=\"sm\"><strong data-start=\"751\" data-end=\"766\">Conjunction<\/strong><\/td>\n<td data-col-size=\"sm\" data-start=\"767\" data-end=\"784\">\u2227 (AND)<\/td>\n<td data-col-size=\"sm\" data-start=\"784\" data-end=\"808\">True if both are true<\/td>\n<td data-col-size=\"sm\" data-start=\"808\" data-end=\"832\">2<\/td>\n<\/tr>\n<tr data-start=\"833\" data-end=\"916\">\n<td data-start=\"833\" data-end=\"851\" data-col-size=\"sm\"><strong data-start=\"835\" data-end=\"850\">Disjunction<\/strong><\/td>\n<td data-col-size=\"sm\" data-start=\"851\" data-end=\"868\">\u2228 (OR)<\/td>\n<td data-col-size=\"sm\" data-start=\"868\" data-end=\"899\">True if at least one is true<\/td>\n<td data-col-size=\"sm\" data-start=\"899\" data-end=\"916\">3<\/td>\n<\/tr>\n<tr data-start=\"917\" data-end=\"1000\">\n<td data-start=\"917\" data-end=\"935\" data-col-size=\"sm\"><strong data-start=\"919\" data-end=\"934\">Implication<\/strong><\/td>\n<td data-col-size=\"sm\" data-start=\"935\" data-end=\"952\">\u2192 (If&#8230;then)<\/td>\n<td data-col-size=\"sm\" data-start=\"952\" data-end=\"976\">Logical implication<\/td>\n<td data-col-size=\"sm\" data-start=\"976\" data-end=\"1000\">4<\/td>\n<\/tr>\n<tr data-start=\"1001\" data-end=\"1084\">\n<td data-start=\"1001\" data-end=\"1021\" data-col-size=\"sm\"><strong data-start=\"1003\" data-end=\"1020\">Biconditional<\/strong><\/td>\n<td data-col-size=\"sm\" data-start=\"1021\" data-end=\"1042\">\u2194 (If and only if)<\/td>\n<td data-col-size=\"sm\" data-start=\"1042\" data-end=\"1060\">Equivalence<\/td>\n<td data-col-size=\"sm\" data-start=\"1060\" data-end=\"1084\"><strong data-start=\"1062\" data-end=\"1076\">5 (Lowest)<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"sticky end-(--thread-content-margin) h-0 self-end select-none\">\n<div class=\"absolute end-0 flex items-end\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr data-start=\"1086\" data-end=\"1089\" \/>\n<h3 data-start=\"1091\" data-end=\"1122\">\ud83d\udcdd <strong data-start=\"1098\" data-end=\"1120\">Example Expression<\/strong><\/h3>\n<p data-start=\"1123\" data-end=\"1141\"><strong data-start=\"1123\" data-end=\"1141\">\u00acP \u2228 Q \u2227 R \u2192 S<\/strong><\/p>\n<p data-start=\"1143\" data-end=\"1180\">Evaluate this in the following order:<\/p>\n<ol data-start=\"1181\" data-end=\"1285\">\n<li data-start=\"1181\" data-end=\"1201\">\n<p data-start=\"1184\" data-end=\"1201\"><strong data-start=\"1184\" data-end=\"1190\">\u00acP<\/strong> (Negation)<\/p>\n<\/li>\n<li data-start=\"1202\" data-end=\"1220\">\n<p data-start=\"1205\" data-end=\"1220\"><strong data-start=\"1205\" data-end=\"1214\">Q \u2227 R<\/strong> (AND)<\/p>\n<\/li>\n<li data-start=\"1221\" data-end=\"1245\">\n<p data-start=\"1224\" data-end=\"1245\"><strong data-start=\"1224\" data-end=\"1240\">\u00acP \u2228 (Q \u2227 R)<\/strong> (OR)<\/p>\n<\/li>\n<li data-start=\"1246\" data-end=\"1285\">\n<p data-start=\"1249\" data-end=\"1285\"><strong data-start=\"1249\" data-end=\"1271\">[\u00acP \u2228 (Q \u2227 R)] \u2192 S<\/strong> (Implication)<\/p>\n<\/li>\n<\/ol>\n<hr data-start=\"1287\" data-end=\"1290\" \/>\n<h3 data-start=\"1292\" data-end=\"1321\">\ud83d\udd01 <strong data-start=\"1299\" data-end=\"1319\">Parentheses Help<\/strong><\/h3>\n<p data-start=\"1322\" data-end=\"1380\">Always use <strong data-start=\"1333\" data-end=\"1348\">parentheses<\/strong> to clarify complex expressions:<\/p>\n<p data-start=\"1382\" data-end=\"1394\"><strong data-start=\"1382\" data-end=\"1394\">Example:<\/strong><\/p>\n<ul data-start=\"1395\" data-end=\"1476\">\n<li data-start=\"1395\" data-end=\"1431\">\n<p data-start=\"1397\" data-end=\"1431\">Without precedence: \u00acP \u2227 Q \u2228 R \u2192 S<\/p>\n<\/li>\n<li data-start=\"1432\" data-end=\"1476\">\n<p data-start=\"1434\" data-end=\"1476\">Clear with parentheses: ((\u00acP \u2227 Q) \u2228 R) \u2192 S<\/p>\n<\/li>\n<\/ul>\n<hr data-start=\"1478\" data-end=\"1481\" \/>\n<h2 data-start=\"1483\" data-end=\"1530\">\u2705 <strong data-start=\"1488\" data-end=\"1530\">Quick Tips for Remembering Precedence:<\/strong><\/h2>\n<blockquote data-start=\"1532\" data-end=\"1568\">\n<p data-start=\"1534\" data-end=\"1568\"><strong data-start=\"1534\" data-end=\"1568\">NOT &gt; AND &gt; OR &gt; IMPLIES &gt; IFF<\/strong><\/p>\n<\/blockquote>\n<p data-start=\"1570\" data-end=\"1680\">You can memorize it with a mnemonic like:<br data-start=\"1611\" data-end=\"1614\" \/><strong data-start=\"1614\" data-end=\"1649\">&#8220;Not All Owls Ignore Ice-cream&#8221;<\/strong><br data-start=\"1649\" data-end=\"1652\" \/>(NOT, AND, OR, IMPLIES, IFF)<\/p>\n<hr data-start=\"1682\" data-end=\"1685\" \/>\n<h2 data-start=\"1687\" data-end=\"1750\">\ud83d\udcda Recommended Discrete Mathematics Books (Computer Science)<\/h2>\n<ol data-start=\"1752\" data-end=\"2144\">\n<li data-start=\"1752\" data-end=\"1901\">\n<p data-start=\"1755\" data-end=\"1822\"><strong data-start=\"1755\" data-end=\"1800\">Discrete Mathematics and Its Applications<\/strong> by Kenneth H. Rosen<\/p>\n<ul data-start=\"1826\" data-end=\"1901\">\n<li data-start=\"1826\" data-end=\"1855\">\n<p data-start=\"1828\" data-end=\"1855\">Widely used in CS courses<\/p>\n<\/li>\n<li data-start=\"1859\" data-end=\"1901\">\n<p data-start=\"1861\" data-end=\"1901\">Clear explanations and practice problems<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"1903\" data-end=\"2004\">\n<p data-start=\"1906\" data-end=\"1956\"><strong data-start=\"1906\" data-end=\"1942\">Elements of Discrete Mathematics<\/strong> by C.L. Liu<\/p>\n<ul data-start=\"1960\" data-end=\"2004\">\n<li data-start=\"1960\" data-end=\"2004\">\n<p data-start=\"1962\" data-end=\"2004\">Good for Indian universities and GATE prep<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"2006\" data-end=\"2144\">\n<p data-start=\"2009\" data-end=\"2097\"><strong data-start=\"2009\" data-end=\"2057\">Discrete Mathematics for Computer Scientists<\/strong> by Clifford Stein, Robert L. Drysdale<\/p>\n<ul data-start=\"2101\" data-end=\"2144\">\n<li data-start=\"2101\" data-end=\"2144\">\n<p data-start=\"2103\" data-end=\"2144\">CS-focused applications with solid theory<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<hr data-start=\"2146\" data-end=\"2149\" \/>\n<p data-start=\"2151\" data-end=\"2222\" data-is-last-node=\"\" data-is-only-node=\"\">Would you like practice problems or a visual truth table on this topic?<\/p>\n<h3 data-start=\"2151\" data-end=\"2222\"><a href=\"https:\/\/courses.cs.duke.edu\/spring09\/cps102\/Lectures\/Book.pdf\" target=\"_blank\" rel=\"noopener\">Day 04Part 11- discrete mathematics book for computer science- Precedence of logical operator.<\/a><\/h3>\n<h3 class=\"LC20lb MBeuO DKV0Md\"><a href=\"https:\/\/www.cs.yale.edu\/homes\/aspnes\/classes\/202\/notes.pdf\" target=\"_blank\" rel=\"noopener\">Notes on Discrete Mathematics<\/a><\/h3>\n","protected":false},"excerpt":{"rendered":"<p>Day 04Part 11- discrete mathematics book for computer science- Precedence of logical operator. [fvplayer id=&#8221;202&#8243;] \u00a0Precedence of Logical Operators in Discrete Mathematics Logical operators in Discrete Mathematics follow a specific order of precedence, similar to arithmetic operators in algebra. Understanding their precedence is crucial in Boolean algebra, logic circuits, and programming. \u00a0Logical Operators &amp; Their [&hellip;]<\/p>\n","protected":false},"author":71,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[76],"tags":[],"class_list":["post-2986","post","type-post","status-publish","format-standard","hentry","category-discrete-mathematics"],"_links":{"self":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/2986","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/comments?post=2986"}],"version-history":[{"count":0,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/posts\/2986\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/media?parent=2986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/categories?post=2986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.reilsolar.com\/pdf\/wp-json\/wp\/v2\/tags?post=2986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}