mateus-hamade/multiple-choice-questions huggingface dataset:
Algoritmos e Estrutura de Dados Algoritmos , Lógicas de Programação

Na elaboração de algoritmos, uma outra forma de representação da  lógica de programação, sempre que for preciso  orientação  para  as  escolhas  quando  existem  situações  de  condições  no  algoritmo,  pode-se  utilizar  a  tabela  de  decisões, ou como é normalmente chamada, tabela verdade. A tabela verdade faz uso de operadores lógicos E, Ou e  Não,  que  podem  ser  utilizados  sozinhos  ou  em  conjunto  nas  estruturas  condicionais.  Analise  o  quadro  com os operadores lógicos em conjunto E e OU e complete a última coluna com a decisão.    A sequência está correta em 

A: V, V, F, F, F, F, F.
B: F, V, V, F, F, V, V.
C: V, F, F, V, V, F, F.
D: F, F, V, F, F, V, V.
E: V, F, F, F, V, F, F.
Algoritmos e Estrutura de Dados Algoritmos , Lógicas de Programação

A  representação  lógica de um programa pode ser  feita, utilizando uma  técnica denominada diagrama de blocos ou  fluxograma  do  programa.  É  um  conjunto  de  figuras  geométricas  utilizadas  para  a  representação  da  lógica  de  um  programa. Nessa representação, as operações são  identificadas por símbolos que  identificam o processo envolvido.  Alguns  autores  utilizam  os  símbolos  do  Padrão  ANSI  (American  National  Standards  Institute)  por  não  haver  um  padrão rígido na utilização dos símbolos do diagrama de blocos. Na construção de um diagrama de blocos verifica-se  o seguinte símbolo:     Assinale, a seguir, a definição desse símbolo. 

A: Decisão.
B: Terminal.
C: Conector.
D: Preparação.
E: Processamento predefinido.
Algoritmos e Estrutura de Dados Algoritmos , Complexidade de Algoritmos

A pesquisa de dados envolve a determinação da chave pesquisada estar ou não entre os dados pesquisados e, caso  esteja, que seja encontrada sua localização. Em computação, a pesquisa tem um papel importante, pois de posse do  campo chave a ser pesquisado fica mais fácil encontrar determinado arquivo, ou mesmo qualquer item que se queira  buscar.  Já  a  classificação  envolve  a  organização  dos  dados  em  uma  determinada  ordem,  por  exemplo:  crescente,  decrescente, ordem alfabética, numérica, entre outros. Acerca dos algoritmos de pesquisa e classificação, analise as  afirmativas a seguir.  I. Diz-se que o algoritmo 0(log n) tem um tempo de execução linear. II. A pesquisa binária executa em 0(log n) vezes, pois cada passo remove metade dos elementos restantes.  III. O algoritmo de classificação por inserção executa no tempo 0(n²), no pior caso e no caso médio.  IV.No pior caso, a primeira chamada à classificação por intercalação tem de fazer 0(n) comparações para preencher os n slots no array final.   Estão corretas apenas as afirmativas  

A: I e II.
B: II e III.
C: II e IV.
D: III e IV.
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

A sequência que representa o percurso da árvore da figura em pós-ordem é                            A sequência que representa o percurso da árvore da figura em pós-ordem é

A: P Q S T R
B: S T Q P R
C: P Q R S T
D: R P Q T S
E: S T Q R P
Algoritmos e Estrutura de Dados Algoritmos , Tipos de Dados

Sendo a, b, c e d variáveis do tipo boolean, qual dos comandos abaixo NÃO é equivalente aos demais?

A: if ( b && !(!a && !c)) d = true;
B: if ( ! (!a || !b) || (b && c) ) d = b;
C: if ( ( a && b ) || ( !a && b && c) ) d = b;
D: if ( ( a && b && !c ) || ( !a && b && c)) d = true;
E: if ( ( a || c) && b ) d = a || c;
Algoritmos e Estrutura de Dados Estrutura de Dados , Vetores

Dado o algoritmo Busca, onde A é um vetor e n é o número de elementos de A,  Busca (A, n)            x ← A [1]           para i de 2 até n, faça                   se A [i] > x então x ← A [i]           devolve x  o valor da saída x para o vetor de entrada A = (3, 2, 1, 7, 2, 5), onde n = 6, será

A: 7
B: 6
C: 3
D: 2
E: 1
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

As árvores são estruturas de dados poderosas e se subdividem em vários tipos, cada um dos quais com suas características próprias. Relacione os tipos de árvores, apresentados na coluna da esquerda, com as suas respectivas características, indicadas na coluna da direita.              Estrutura de Dados             Característica             I – Árvores AVL                         W – Pode degenerar se os elementos forem inseridos de forma ordenada.             II – Árvores binária de busca       X – Todas as suas folhas estão exatamente no mesmo nível.             III – Árvore B                             Y – Têm altura sempre proporcional a O(log2 n), onde n é o número de nós que contém.                                                                 Z – São sempre completas.  Estão corretas as associações

A: I – W ,II – Z , III – Y
B: I – Z , II – W , III – X.
C: I –X , II – W , III – Y.
D: I – Z , II – X , III – Y.
E: I –Y , II – W , III – X.
Algoritmos e Estrutura de Dados Algoritmos , Complexidade de Algoritmos

Os números 1,2,3,...,N foram inseridos de forma ordenada em uma árvore binária de busca, em uma árvore AVL e em um vetor para o qual foi decidido que a posição do número i seria dada pelo índice i-1. Depois, sabendo-se que nenhuma inserção posterior será realizada em nenhuma das três estruturas, decidiu-se fazer uma busca em cada uma destas. Os tempos que se podem obter para essa busca na árvore binária de busca, na árvore AVL e no vetor são, respectivamente,

A: O(log N), O(log N), O(N)
B: O(log N), O(log N), O(1)
C: O(log N), O(1), O(log N)
D: O(N), O(log N), O(log N)
E: O(N), O(log N), O(1)
Algoritmos e Estrutura de Dados Estrutura de Dados , Listas

Sobre listas lineares, é CORRETO afirmar que

A: na representação encadeada, um elemento pode ser inserido em qualquer posição da lista sem movimentar os elementos subsequentes de suas atuais posições na memória.
B: se os elementos são incluídos em uma lista por uma das extremidades e retirados pela outra, essa lista é uma pilha.
C: na representação encadeada, a exclusão de um elemento provoca a movimentação dos demais elementos de suas atuais posições de memória.
D: na representação vetorial, a inserção de um elemento em qualquer posição da lista é feita com esforço computacional constante.
E: filas podem ser implementadas apenas através da representação vetorial.
Algoritmos e Estrutura de Dados Estrutura de Dados , Listas

Seja Lo uma lista ordenada e Lno uma lista não ordenada, ambas com 100 elementos. Os números de comparações, no pior caso, quando aplicando uma busca binária em Lo e uma busca sequencial em Lno são, respectivamente,

A: 7 e 100.
B: 50 e 100.
C: 7 e 1.
D: 50 e 1.
E: 50 e 50.
Algoritmos e Estrutura de Dados Estrutura de Dados , Matrizes em Estrutura de Dados

Considere um cinema, onde a disposição das poltronas segue a estrutura de uma matriz com N filas de cadeiras (linhas), cada uma contendo M cadeiras (colunas). Um sistema de venda de ingressos para este cinema está sendo desenvolvido, onde a referida matriz de poltronas é armazenada em um vetor, segundo sua sequência de linhas, da primeira para a última, e, em cada linha, da primeira coluna para a última. Sendo a primeira posição no vetor a de índice 0 (zero), a posição k da poltrona do cinema localizada à fila de número f e à coluna de número c é igual a

A: c + f × M.
B: f + c × M.
C: M × (c – 1) + (f – 1).
D: M × (f – 1) + (c – 1).
E: M × c + M × f.
Algoritmos e Estrutura de Dados Algoritmos , Algoritmos de Ordenação , Complexidade de Algoritmos

Sobre a análise de algoritmos, é CORRETO afirmar que

A: o algoritmo MERGE-SORT é um algoritmo que recebe como entrada duas listas ordenadas e retorna a junção ordenada delas.
B: o BUBBLE-SORT e o algoritmo de ordenação por inserção fazem, em média, o mesmo número de comparações.
C: o algoritmo BUBBLE-SORT é um exemplo de algoritmo de ordenação que utiliza a técnica dividir para conquistar.
D: tanto o algoritmo QUICKSORT quanto o de ordenação por inserção tem complexidade O(n × log n).
E: o desempenho na execução do algoritmo QUICK-SORT independe da escolha do pivô.
Algoritmos e Estrutura de Dados Estrutura de Dados , Filas

Suponha que em uma fila inicialmente vazia, se inserem (operação “enqueue”) 10 elementos, de 1 a 10, em ordem ascendente. Suponha que um processo atende todos os elementos da fila (operação “dequeue”). Antes de a fila ficar vazia, O ultimo elemento da fila era:

A: 10
B: 1
C: 5
D: Não e possivel determinar, pois a fila e uma estrutura nao- deterministica
E: Não e possivel determinar, pois a fila e uma estrutura aleatória.
Algoritmos e Estrutura de Dados Estrutura de Dados , Pilhas

Suponha que se executam as seguintes operagoes em uma pilha, inicialmente vazia, de inteiros.  PUSH 3 PUSH 4 POP PUSH 7 PUSH 9 POP PUSH 2 POP PUSH 1 PUSH 5 POP POP  O valor no topo da pilha ao final da execugao e:

A: 3
B: 4
C: 7
D: 2
E: 1
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

Os nomes dos percursos realizados nas arvores binárias são:

A: Pre-Ordem, Pos-Ordem, In-Ordem.
B: Sub-Ordem, Super-Ordem.
C: Pilha, Fila.
D: LIFO, FIFO,
E: Binario,Ternario, N-ario
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

As árvores binárias de busca permitem procurar elementos de forma rapida devido a sua definição, na qual:

A: O elemento na posição i+1 sempre e maior ao elemento na posição i.
B: O elemento na posição i+1 sempre e menor ao elemento na posição i.
C: Se a arvore e de tamanho n, o elemento na posição do meio (n/2) e maior que metade dos elementos e menor que a outra metade.
D: Os valores a direita de um elemento sao maiores e os valores a esquerda sao menores.
E: Os valores podem ser encontrados atraves de uma função HASH.
Algoritmos e Estrutura de Dados Estrutura de Dados , Conceitos Básicos de Estrutura de Dados

A estrutura de dados “Nó” , utilizada para definir listas ligadas, deve conter pelo menos:

A: Um valor e uma ligação ao próximo no.
B: Um valor e um método que defina se um valor é maior ao outro.
C: Um indice é um valor.
D: Um valor HASH é um vetor de valores.
E: Uma chave é um valor
Algoritmos e Estrutura de Dados Estrutura de Dados , Matrizes em Estrutura de Dados

Selecione qual das seguintes configurações de linhas e colunas de matriz possui maior número de elementos:

A: 10 linhas e 1 coluna
B: 1 linha e 15 colunas.
C: 4 linhas e 3 colunas
D: 2 linhas e 7 colunas.
E: 4linhas e 4colunas
Algoritmos e Estrutura de Dados Algoritmos , Tipos de Dados

As variáveis são construções das linguagens de programação nas quais são armazenados valores durante a execução de um programa. Marque a alternativa que liste somente tipos de dados comumente utilizados em programação:

A: Inteiro, For, String.
B: Condicional, Contador, Algoritmo.
C: Fungao, Banco de Dados, Sistema Operacional.
D: Inteiro, Booleano, Caractere.
E: Booleano, Imperativo, For.
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

Um algoritmo é:

A: Uma sequência de passos para realizar uma atividade.
B: A operação matemática inversa a potencia.
C: A parte de um programa em que se limita a definir os tipos de dados das variaveis.
D: A parte de um programa em que se limita a definir as constantes.
E: Um software utilizado para escrever programas
Algoritmos e Estrutura de Dados Algoritmos , Complexidade de Algoritmos

O trecho de código escrito em PHP (versão 5.4.4) apresentado a seguir implementa o algoritmo de busca em árvore binária.   Considere que o método procura() seja aplicado ao nó raiz da árvore binária de busca e que esta seja balanceada. Assinale a opção que indica a complexidade desse algoritmo.

A: O(n)
B: O(log n)
C: O(n log n)
D: O(n²)
E: O(n³)
Algoritmos e Estrutura de Dados Estrutura de Dados , Conceitos Básicos de Estrutura de Dados , Pilhas

No desenvolvimento de sistemas, a escolha de estruturas de dados em memória é especialmente relevante. Dentre outras classificações, é possível agrupar essas estruturas em lineares e não lineares, conforme a quantidade de sucessores e antecessores que os elementos da estrutura possam ter. Assinale a opção que apresenta, respectivamente, estruturas de dados lineares e não lineares.

A: Tabela de dispersão e fila.
B: Estrutura de seleção e pilha.
C: Pilha e estrutura de seleção.
D: Pilha e árvore binária de busca.
E: Fila e pilha.
Algoritmos e Estrutura de Dados Algoritmos , Algoritmos de Ordenação , Estrutura de Dados ( assuntos)

O seguinte trecho de código em Java foi copiado de uma classe que implementa um método de ordenação de vetores.  1.    for ( int i=0; i < n; i ++) { 2.            for (int j=1; j < (n-i) ; j ++) { 3.                   if (intArray[ j-1] > intArray[ j ] ) { 4.                        temp = intArray[ j-1] ; 5.                         intArray[ j-1] = intArray[ j ] ; 6.                         intArray[ j ] = temp ; 7.                   } 8.            } 9.    }  Para expressar propriedades desse código, na linguagem da lógica proposicional, considere as proposições lógicas p, q e r e as seguintes interpretações:  • p é verdadeiro se e somente se i = 0 • q é verdadeiro se e somente se j ≠ (n-i) • r é verdadeiro se e somente se intArray[j-1] > intArray[j]  Nesse contexto, os comandos de atribuição presentes neste trecho de código (linhas 4, 5 e 6) serão executados para:

A: todos os valores das variáveis i, j, intArray[j-1] e intArray[j] que resultem em valores lógicos V, V e V respectivamente para p, q e r.
B: apenas alguns valores das variáveis i, j, intArray[j-1] e intArray[j] que resultem em valores lógicos V, V e V respectivamente para p, q e r.
C: apenas alguns valores das variáveis i, j, intArray[j-1] e intArray[j] que resultem em valores lógicos F, V e V respectivamente para p, q e r.
D: apenas alguns valores das variáveis i, j, intArray[j-1] e intArray[j] que resultem em valores lógicos V, F e V respectivamente para p, q e r.
E: apenas alguns valores das variáveis i, j, intArray[j-1] e intArray[j] que resultem em valores lógicos V, V e F respectivamente para p, q e r.
Algoritmos e Estrutura de Dados Estrutura de Dados , Pilhas

Considere um módulo que implementa um tipo abstrato de dados (TAD) que representa uma pilha capaz de armazenar números inteiros. Nesse módulo, as operações push e pop são definidas e permitem a adição e a remoção de elementos, respectivamente. Considere, também, que pX, pY e pZ são instâncias do TAD definido, que as pilhas pY e pZ estão inicialmente vazias e que em pX estão armazenados apenas os números 1, 2, 3 e 5, inseridos nesta ordem. Sendo assim, os somatórios dos elementos em pX, pY e pZ são, respectivamente, 11, 0 e 0.  Nesse contexto, considere a execução das instruções a seguir  push(pY, pop(pX)); push(pZ, pop(pX)); push(pY, pop(pX)); push(pZ, pop(pX)); push(pX, pop(pY)); push(pZ, pop(pY)); push(pZ, pop(pX));  Após a execução das instruções acima, quais os somatórios dos elementos em cada uma das pilhas pX e pZ, respectivamente?

A: 0 e 4
B: 0 e 7
C: 0 e 11
D: 1 e 8
E: 2 e 7
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

João trabalha no setor de BI da empresa e recebeu a tarefa de identificar agrupamentos de alunos de uma escola segundo seu desempenho acadêmico. A partir das notas obtidas, João deve formar grupos tal que integrantes de um grupo tenham desempenho similar, e que integrantes de grupos distintos sejam dissimilares. O algoritmo mais apropriado para essa tarefa é:

A: Apriori;
B: decision tree;
C: PageRank;
D: CART;
E: k-means.
Algoritmos e Estrutura de Dados Algoritmos , Algoritmos de Ordenação

Com referência à organização de arquivos, julgue o próximo item.  Em cada passo do método de ordenação conhecido como quick sort, cada elemento do vetor é comparado com o seu sucessor. Nessa comparação, os dois elementos comparados serão trocados de posição caso estejam fora de ordem

A: Certo
B: Errado
Algoritmos e Estrutura de Dados Estrutura de Dados , Conceitos Básicos de Estrutura de Dados , Listas

A respeito de estruturas de dados, julgue o item seguinte.  A implementação de lista por meio de apontadores permite utilizar posições não contíguas de memória, de modo a se poder inserir e retirar elementos sem que haja necessidade de deslocar os itens seguintes da lista.

A: Certo
B: Errado
Algoritmos e Estrutura de Dados Algoritmos , Fluxogramas , Lógicas de Programação

Julgue o item a seguir, relativos a lógica de programação.  Comumente usados em fluxogramas representativos de sistemas, os símbolos abaixo correspondem, respectivamente, a dados armazenados, processo, documento e entrada manual.  

A: Certo
B: Errado
Algoritmos e Estrutura de Dados Algoritmos , Lógicas de Programação

Julgue o item a seguir, relativos a lógica de programação.  Considere a situação a seguir. Um programa tem de correlacionar os nomes Ana, Maria e Simone aos sobrenomes Costa, Oliveira e Santos, não necessariamente nessa ordem. A mulher de sobrenome Costa, que não é Ana, tem mais idade do que Simone, e a mulher de sobrenome Santos tem o dobro da idade das outras duas.Nessa situação, se uma lógica de programação for executada de forma adequada, os sobrenomes corretos de Ana, Maria e Simone serão, respectivamente, Oliveira, Costa e Santos.

A: Certo
B: Errado
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

Marque C,se a proposição é verdadeira; E,se a proposição é falsa.  Considerando a árvore mostrada, em que o nodo A é a raiz da árvore, a visita aos nodos feita em  pré-ordem resultará na seguinte sequência: ABDEFCG.   

A: Certo
B: Errado
Algoritmos e Estrutura de Dados Algoritmos , Algoritmos de Ordenação , Estrutura de Dados ( assuntos)

Considere o seguinte algoritmo de ordenação de elementos em uma lista:  1. Escolha um elemento que será chamado o pivot da lista. 2. Reordene a lista de tal forma que os elementos menores que o pivot venham antes dele e os elementos maiores ou iguais ao pivot venham depois dele. Essa operação é chamada de partição, e cria duas sublistas: a. a de menores que o pivot e b. a de maiores ou iguais ao pivot. 3. Aplique recursivamente os passos 1 e 2 às sublistas de menores e maiores que o pivot.  O algoritmo acima corresponde ao

A: Quicksort, e faz, em média, O(n log n) comparações para ordenar n itens.
B: Quicksort, e faz, em média, O(n2 ) comparações para ordenar n itens.
C: nsertionsort, e faz, em média, O(n) comparações para ordenar n itens.
D: Insertionsort, e faz, em média, O(n log n) comparações para ordenar n itens.
E: Bublesort, e faz, em média, O(n2 ) comparações para ordenar n itens.
Algoritmos e Estrutura de Dados Estrutura de Dados , Pilhas

Considere o seguinte trecho de programa em pseudocódigo:                              Inicio                                      IniciaPilha(P);                                      num=0                                      total=0                                      Enquanto (num <> -1)                                                   Le_teclado(num)                                                   Se (Vazia(P) ou Topo(P)<num)                                                               Push(P,num)                                                   Senao                                                               total <- total+Pop(P)                                                    Fim_se                                      Fim_Enquanto                             Fim  Se o programa for executado com uma sequência de entrada (fornecida pelo teclado) igual a 3, 5, 6, 8, 10, 7, 9, 6, 1, -1 (começando pelo 3), ao final da execução, a pilha conterá (da base para o topo) os valores

A: 3, 5, e a variável total conterá o valor 33.
B: 5, 6, e a variável total conterá o valor 29.
C: 5, 6, 8, 10, e a variável total conterá o valor 29.
D: 5, 7, 9, 6, e a variável total conterá o valor 17.
E: 6, 8, 9, e a variável total conterá o valor 33.
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

Uma árvore B é uma estrutura de dados em árvore na qual

A: a profundidade das folhas é variável.
B: as chaves armazenadas em cada nó são mantidas em uma ordem aleatória.
C: os nós das folhas têm, no máximo, 1 filho.
D: existem limites inferiores e superiores para o número de chaves que os nós intermediários podem conter.
E: um nó interno contém N chaves e (N-1) filhos.
Algoritmos e Estrutura de Dados Estrutura de Dados , Árvores

Uma árvore B+ difere de uma árvore B no sentido que a árvore B+

A: tem um limite inferior menor do que a árvore B para o número de chaves que um nó interno pode conter.
B: tem um limite superior maior do que a árvore B para o número de chaves que um nó interno pode conter
C: permite que as folhas tenham profundidades variadas enquanto que a árvore B obriga que a profundidade de todas as folhas seja a mesma.
D: permite um armazenamento maior do que a árvore B.
E: armazena apenas ponteiros de chaves e filhos nos nós internos, enquanto as árvores B armazenam, também, informações “satélite” (ou ponteiros para tais informações) nos nós internos.
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos , Fluxogramas

Existem diversas formas de expressar um algoritmo. Em particular, nos fluxogramas, os símbolos, da esquerda para a direita,     representam, respectivamente,

A: terminador e exibição.
B: terminador e processo.
C: processo e exibição.
D: decisão e exibição.
E: decisão e processo.
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

Para responder à  questão, considere o seguinte algoritmo, apresentado em Português Estruturado. Assuma que os valores lidos para a, b e c tenham sido, respectivamente, 6, 3 e 2.                                           Início                                              Leia a, b, c;                                              x ← 0;                                              Para i de 1 até 9 passo 2 faça                                              [                                                  Se ((a mod 2) = 0)                                                      Então x ← x + 2*b;                                                      Senão x ← x - c;                                                  a ← a - 1                                             ]                                            Imprima x                                        Fim    Ao final do algoritmo, o valor impresso da variável x foi:

A: 8
B: 10
C: 14
D: 24
E: 30
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

Para responder à  questão, considere o seguinte algoritmo, apresentado em Português Estruturado. Assuma que os valores lidos para a, b e c tenham sido, respectivamente, 6, 3 e 2.                                           Início                                             Leia a, b, c;                                             x ← 0;                                             Para i de 1 até 9 passo 2 faça                                             [                                                 Se ((a mod 2) = 0)                                                     Então x ← x + 2*b;                                                     Senão x ← x - c;                                                 a ← a - 1                                            ]                                            Imprima x                                       Fim  Para o algoritmo apresentado, assinale a alternativa que contém o número de vezes que o comando.                    Então x ← x + 2*b;  foi executado, considerando os valores lidos para as variáveis de entrada.

A: 1
B: 2
C: 3
D: 5
E: 9
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

Considere a definição da função processa, apresentada a seguir, para responder à questão.    Considere que o programador, por engano, inseriu um defeito na linha 300, escrevendo-a como enquanto (x <= y) em vez de enquanto (x < y) . O par de valores (x, y) que revelaria a presença do defeito é:

A: (3, 37)
B: (5, 31)
C: (7, 29)
D: (11, 23)
E: (13, 17)
Algoritmos e Estrutura de Dados Algoritmos , Conceitos Básicos e Algoritmos

Considere a definição da função processa, apresentada a seguir, para responder à questão.    Caso o critério, de teste cobertura de comandos seja empregado, o par de valores (x, y), se for usado como dado de entrada para a função processa, que resultaria em 100% de cobertura desse critério :

A: (5, 3)
B: (7, 11)
C: (11,11)
D: (29, 17)
E: (37, 37)