{"id":734,"date":"2022-02-21T07:00:00","date_gmt":"2022-02-21T10:00:00","guid":{"rendered":"https:\/\/fedablio.com.br\/blog\/?p=734"},"modified":"2024-04-02T08:48:11","modified_gmt":"2024-04-02T11:48:11","slug":"sistema-de-ponto-flutuante","status":"publish","type":"post","link":"https:\/\/fedablio.com.br\/blog\/arquivos\/734","title":{"rendered":"Sistema de Ponto Flutuante"},"content":{"rendered":"\n<div style=\"text-align: justify;\">\n\n<p>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-01.png\" style=\"margin-right: 10px; margin-bottom: 10px;\" width=\"225\" height=\"225\" align=\"left\">\nSistemas computacionais suportam tamanhos espec\u00edficos de n\u00fameros, ou melhor, valores. Campos de um determinado\nprograma que recebem ou apenas exibem valores devem possuir certos limites. Imaginemos se as calculadoras, como\naquelas de bolso que se tornaram mais dif\u00edceis de encontrar a venda nos dias atuais ou as disponibilizadas em sistemas operacionais como Linux, Android, Windows ou Mac, aceitassem que usu\u00e1rios inserissem n\u00fameros do jeito que bem entendessem. Isso provavelmente ocasionaria erros na hora da execu\u00e7\u00e3o dos c\u00e1lculos, pois o hardware (na ocasi\u00e3o, microprocessadores) possuem uma quantidade fixa de bits. Deve haver uma padroniza\u00e7\u00e3o entre o que \u00e9 digitado e o que \u00e9 levado para o c\u00e1lculo propriamente dito.\n<\/p>\n\n<p>\nValores inferiores, tanto na entrada quanto na exibi\u00e7\u00e3o, apresentam erros chamados de underflow. Valores superiores (entrada ou exibi\u00e7\u00e3o), apresentam erros chamados overflow. Pensando em evitar ou tratar quaisquer tipos de erros, existe o sistema de ponto (ou v\u00edrgula) flutuante. Este sistema \u00e9 representado pela f\u00f3rmula F[\u03b2, t, -p, p]. O &#8220;F&#8221; representa o sistema, o \u03b2 a base, enquanto que &#8220;t&#8221; representa a quantidade de n\u00famero na mantissa (n\u00fameros ap\u00f3s a v\u00edrgula), &#8220;-p&#8221; para limite m\u00ednimo do expoente e &#8220;p&#8221; para limite m\u00e1ximo de expoente.\n<\/p>\n\n<p>\nDigamos, por exemplo, que seja necess\u00e1rio representar o sistema F[2, 2, -3, 3]. Da f\u00f3rmula mostrada anteriormente, o valor &#8220;2&#8221; substitui &#8220;\u03b2&#8221;, &#8220;2&#8221; substitui &#8220;t&#8221;, &#8220;-p&#8221; substitui &#8220;-3&#8221; e &#8220;p&#8221; substitui &#8220;3&#8221;. Ou seja, o menor valor aceito pelo sistema \u00e9 &#8220;0,0625&#8221; e o maior, &#8220;6&#8221;. N\u00fameros inseridos ou resultados de c\u00e1lculos inferiores a &#8220;0,0625&#8221;, ocorre underflow. N\u00fameros inseridos ou resultados de c\u00e1lculos superiores a &#8220;6&#8221;, ocorre overflow. Entendo que pode ter ficado confuso, mas a explica\u00e7\u00e3o pr\u00e1tica ocorre nas <strong>pr\u00f3ximas linhas<\/strong>.\n<\/p>\n\n<p>\nAntes de entrarmos em explica\u00e7\u00f5es com exemplos, \u00e9 importante entender a diferen\u00e7a entre arredondamento e\ntruncamento de n\u00fameros. Dado o valor aleat\u00f3rio &#8220;1,38712284857485569&#8221;, temos que deix\u00e1-lo com apenas 6 n\u00fameros\nap\u00f3s a v\u00edrgula. Para o caso de um arredondamento, o n\u00famero ser\u00e1 escrito da seguinte forma: &#8220;1,387123&#8221;. Ou seja, como o s\u00e9timo n\u00famero \u00e9 maior que 5, o seu antecessor recebe o incremento de 1 e ocorre o arredondamento e elimina\u00e7\u00e3o dos demais. J\u00e1 para o caso de truncamento, apenas s\u00e3o cortados os demais n\u00fameros ap\u00f3s a sexta casa, ficando &#8220;1,387122&#8221;. Ir\u00e3o perceber que nos exemplos utilizados no decorrer do artigo, foi utilizado apenas o truncamento.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-02.png\">\n\n<p>\nConforme acima, foi dado um sistema com base 2, com 8 d\u00edgitos na mantissa, at\u00e9 -6 de expoente m\u00ednimo e at\u00e9 6 de\nexpoente m\u00e1ximo.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-03.png\">\n\n<p>\nA regra diz que para o valor m\u00ednimo a primeira casa ap\u00f3s a v\u00edrgula deve ser diferente de 0. No caso, foi colocado 1. Segue sendo multiplicado por 2 elevado a sexta negativa.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-04.png\">\n\n<p>\nEm seguida transformamos &#8220;0,10000000&#8221; que est\u00e1 na base bin\u00e1ria em decimal (\u00e9 muito mais f\u00e1cil calcular).\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-05.png\">\n\n<p>\nAqui tamb\u00e9m \u00e9 necess\u00e1rio calcular, para que na sequ\u00eancia ocorra a multiplica\u00e7\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-06.png\">\n\n<p>\nEnt\u00e3o chegamos ao valor 0,5 (vindo de 0,10000000) sendo multiplicado por 0,015625 (vindo de 2 elevado \u00e0 sexta). Esta opera\u00e7\u00e3o resulta no valor &#8220;0,0078125&#8221;. Ou seja, este \u00e9 o valor m\u00ednimo aceito pelo sistema.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-07.png\">\n\n<p>\nPara continuar com o c\u00e1lculo, a mantissa acima foi completada com o maior d\u00edgito do sistema bin\u00e1rio: 1.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-08.png\">\n\n<p>\nEm seguida transformamos &#8220;0,11111111&#8221; que est\u00e1 na base bin\u00e1ria em decimal (\u00e9 muito mais f\u00e1cil calcular).\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-09.png\">\n\n<p>\nAqui tamb\u00e9m \u00e9 necess\u00e1rio calcular (resolver a exponencia\u00e7\u00e3o), para que na sequ\u00eancia ocorra a multiplica\u00e7\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-10.png\">\n\n<p>\nEnt\u00e3o chegamos ao valor 0,99609375 (vindo de 0,11111111) sendo multiplicado por 64 (vindo de 2 elevado \u00e0 sexta). Esta opera\u00e7\u00e3o resulta no valor &#8220;63,75&#8221;. Ou seja, este \u00e9 o valor m\u00e1ximo aceito pelo sistema. <strong>Ou seja, o sistema F[2, 8, -6, 6] trabalha com valores de <i>0,0078125<\/i> a <i>63,75<\/i>. Qualquer coisa abaixo ou acima, respectivamente, s\u00e3o considerados underflow e overflow.<\/strong>\n<\/p>\n\n<p>\nAgora sim, vamos aos testes. Vamos tentar resolver contas aleat\u00f3rias. Algumas podem dar overflow, outras podem dar underflow. Tanto na entrada, quanto na apresenta\u00e7\u00e3o do resultado. Outras n\u00e3o apresentar\u00e3o erro e com estas poderemos seguir com os c\u00e1lculos.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-11.png\">\n\n<p>\nA primeira conta a ser feita \u00e9 100101 na forma bin\u00e1ria, dividido por 3D na forma hexadecimal. Observem os valores 2 e 16 subscritos.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-12.png\">\n\n<p>\nPrimeiramente convertemos o valor bin\u00e1rio para decimal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-13.png\">\n\n<p>\nNa sequ\u00eancia tamb\u00e9m convertemos o valor hexadecimal para decimal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-14.png\">\n\n<p>\nChegamos a dois valores. O primeiro representa o valor exato (0,6065573770491803) e o segundo representa o valor que cabe na mantissa de 8 (0,60655737), conforme anteriormente determinado. Observem que ele foi simplesmente cortado ap\u00f3s a oitava casa depois da v\u00edrgula.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-15.png\">\n\n<p>\nA f\u00f3rmula acima se d\u00e1 para que seja calculado o erro absoluto. Tamb\u00e9m foram deixados como resultados os valores com e sem nota\u00e7\u00e3o cient\u00edfica.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-16.png\">\n\n<p>\nAcima foi calculado o erro relativo. Os valores tamb\u00e9m foram deixados com e sem nota\u00e7\u00e3o cient\u00edfica. Observe que o erro relativo \u00e9 geralmente expresso em porcentagem.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-17.png\">\n\n<p>\nUma nova conta a ser feita \u00e9 35 na forma octal multiplicado por 1111 na forma bin\u00e1ria.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-18.png\">\n\n<p>\nConvertendo o 35 octal para decimal para facilitar os c\u00e1lculos. Observem que o valor (29) est\u00e1 entre o m\u00ednimo (0,0078125) e m\u00e1ximo (63,75) permitido pelo sistema. Logo, sem erros at\u00e9 ent\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-19.png\">\n\n<p>\nConvertendo o 1111 bin\u00e1rio para decimal para facilitar os c\u00e1lculos. Observem que o valor (15) est\u00e1 entre o m\u00ednimo\n(0,0078125) e m\u00e1ximo (63,75) permitido pelo sistema. Logo, sem erros at\u00e9 ent\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-20.png\">\n\n<p>\nAgora sim, ap\u00f3s ambos os valores (octal e bin\u00e1rio) convertidos, consigo fazer a conta com mais facilidade. Reparem que o valor do resultado (435) foi superior ao permitido pelo sistema (63,75); neste caso ocorreu um erro overflow. A conta termina aqui.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-21.png\">\n\n<p>\nVamos a mais uma conta, para o mesmo sistema. Desta vez temos 1100 na forma bin\u00e1rio sendo multiplicado por 113 na\nforma octal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-22.png\">\n\n<p>\nPrimeiro, convertemos o valor bin\u00e1rio para decimal. O valor (12) est\u00e1 entre o m\u00ednimo (0,0078125) e m\u00e1ximo (63,75)\npermitido pelo sistema. Logo, sem erros at\u00e9 ent\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-23.png\">\n\n<p>\nPara continuar, vamos converter o valor 113 tamb\u00e9m para decimal. Observe que chegamos a um resultado de 75 e este\nvalor \u00e9 superior ao permitido pelo sistema (63,75); neste caso ocorreu um erro overflow e conta termina aqui.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-24.png\">\n\n<p>\nUma nova conta. Aqui est\u00e1 pedido para subtrair 38,9992 na base decimal de 27 na base hexadecimal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-25.png\">\n\n<p>\nPrimeiramente convertemos o valor 27 hexadecimal para decimal. O valor (39) est\u00e1 entre o m\u00ednimo (0,0078125) e m\u00e1ximo (63,75) permitido pelo sistema. Logo, sem erros at\u00e9 ent\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-26.png\">\n\n<p>\nO valor 38,9992 j\u00e1 est\u00e1 em decimal, o que dispensa convers\u00f5es.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-27.png\">\n\n<p>\nO resultado da conta resulta em 0,0008. Ou seja, o obtido \u00e9 menor que o permitido pelo sistema (0,0078125). Isso resulta em underflow e a conta termina aqui.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-28.png\">\n\n<p>\nAqui temos um novo sistema. Observem que este agora est\u00e1 na base decimal (10), diferente do sistema anterior que era bin\u00e1rio (2). Este sistema tamb\u00e9m pede 8 d\u00edgitos na mantissa. J\u00e1 os expoentes m\u00e1ximo (positivo) e m\u00ednimo (negativo) s\u00e3o 5.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-29.png\">\n\n<p>\nA regra diz que para o valor m\u00ednimo a primeira casa ap\u00f3s a v\u00edrgula deve ser diferente de 0. No caso, foi colocado 1. Segue sendo multiplicado por 10 (agora o sistema \u00e9 decimal), elevado a quinta negativa.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-30.png\">\n\n<p>\nAqui n\u00e3o h\u00e1 convers\u00e3o visto que o valor (0,10000000) j\u00e1 est\u00e1 em decimal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-31.png\">\n\n<p>\nVamos transformar o valor 10 elevado \u00e0 quinta negativa em um n\u00famero com ponto flutuante para facilitar os c\u00e1lculos. Dez elevado a quinta negativa \u00e9 a mesma coisa que um sobre dez elevado a quinta positiva.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-32.png\">\n\n<p>\nAgora sim, multiplicando o valor 0,10000000 por 0,00001 (vindo de dez elevado a quinta negativa), chegamos ao valor m\u00ednimo do sistema (0,000001).\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-33.png\">\n\n<p>\nPara continuar com o c\u00e1lculo, a mantissa acima foi completada com o maior d\u00edgito do sistema decimal: 9.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-34.png\">\n\n<p>\nAqui n\u00e3o h\u00e1 convers\u00e3o visto que o valor (0,99999999) j\u00e1 est\u00e1 em decimal.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-35.png\">\n\n<p>\nAqui tamb\u00e9m \u00e9 necess\u00e1rio calcular (resolver a exponencia\u00e7\u00e3o), para que na sequ\u00eancia ocorra a multiplica\u00e7\u00e3o.\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-36.png\">\n\n<p>\nEnt\u00e3o chegamos ao valor 0,99999999 sendo multiplicado por 100000 (vindo de 10 elevado \u00e0 quinta). Esta opera\u00e7\u00e3o resulta no valor &#8220;99999,999&#8221;. Ou seja, este \u00e9 o valor m\u00e1ximo aceito pelo sistema.\n<\/p>\n\n<p>\nPara as pr\u00f3ximas contas (a e b) temos 1290 na base hexadecimal sendo dividido por 27 na base octal. Este c\u00e1lculo n\u00e3o\nocorre overflow nem underflow e \u00e9 pos\u00edvel saber tanto o erro absoluto, quanto o erro relativo. J\u00e1 o c\u00e1lculo 201,1432 na base octal sendo multiplicado por 190FF na base hexadecimal, temos com resultado 102655 decimal. O valor \u00e9 maior que o sistema permite e portanto ocorre erro de overflow.\n<\/p>\n\n<p>\nFiquem com os c\u00e1lculos:\n<\/p>\n\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-37.png\"><br>\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-38.png\"><br>\n<img decoding=\"async\" src=\"https:\/\/fedablio.com.br\/blog\/wp-content\/uploads\/2022\/02\/ponto-flutuante-39.png\"><br>\n\n<p>\nEsta foi uma pr\u00e9via do Sistema de Ponto Flutuante. Foram demonstrados 2 sistemas: um de base bin\u00e1ria (2) e com 4 contas feitas (a, b, c e d) e outro com base decimal (10) e com 2 contas feitas (a e b).\n<\/p>\n\n<p>\nComo puderam perceber este sistema \u00e9 um pouco complexo, por\u00e9m com alguns minutos de estudo, v\u00e3o conseguir de fato entender o processo. Espero que de alguma forma eu possa ter contribu\u00eddo para seu aprendizado.\n<\/p>\n\n<div style=\"border: 1px solid green; padding: 10px;\">\n\n<h4 style=\"color: green;\">\nCustos com hospedagem, SSL e registro de dom\u00ednio\n<\/h4>\n\n<p style=\"color: green;\">\nSe o artigo ajudou de alguma forma e gostaria de contribuir com o projeto Fedablio, fa\u00e7a uma doa\u00e7\u00e3o de qualquer valor.\n<\/p>\n\n<p style=\"color: green;\">\nChave PIX: 21d97524-aa38-4438-b857-062a61e28327\n<\/p>\n<\/div>\n\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sistemas computacionais suportam tamanhos espec\u00edficos de n\u00fameros, ou melhor, valores. Campos de um determinado programa que recebem ou apenas exibem valores devem possuir certos limites. Imaginemos se as calculadoras, como aquelas de bolso que se tornaram mais dif\u00edceis de encontrar a venda nos dias atuais ou as disponibilizadas em sistemas operacionais como Linux, Android, Windows [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[153,156],"tags":[158,159,157,160,161,155],"class_list":["post-734","post","type-post","status-publish","format-standard","hentry","category-ia","category-programacao","tag-converter-binario","tag-converter-hexadecimal","tag-matematica-binaria","tag-matematica-computacional","tag-matematica-para-computadores","tag-sistema-de-ponto-flutuante"],"_links":{"self":[{"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/posts\/734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/comments?post=734"}],"version-history":[{"count":16,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/posts\/734\/revisions"}],"predecessor-version":[{"id":1229,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/posts\/734\/revisions\/1229"}],"wp:attachment":[{"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/media?parent=734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/categories?post=734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fedablio.com.br\/blog\/wp-json\/wp\/v2\/tags?post=734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}