A. Calificación Final Descripción Estamos a final del semestre y muchos alumnos de la carrera de Ingeniería en Sistemas del ITSUR están preocupados por su calificación final. Resulta que ahora con esto de las competencias y la reforma educativa, los maestros tienen que evaluar varios aspectos, no solo un examen, por ejemplo la asistencia, el trabajo en equipo, las prácticas y otras cosas. El profe de bases de datos quiere enviar un reporte a sus alumnos y te ha pedido que le ayudes a generarlo con un programita. Escribe un programa que lea varias calificaciones de un alumno y la ponderación de cada una de ellas. El programa debe imprimir una simple gráfica de barras horizontal de cada calificación, la calificación final redondeada a un valor entero y una carita feliz en caso de tener una calificación aprobatoria o una carita triste en caso de tener una calificación reprobatoria. Las calificaciones se ingresarán con un número entero que puede ser desde 0 hasta 10. El porcentaje de ponderación de cada aspecto a evaluar también es un entero y puede ir desde 1 hasta 100. Ten en cuenta que la suma de todas las ponderaciones siempre será 100. Entrada En la primer línea se leerá un número N (1 <= N <= 10) que indica el número de aspectos a evaluar. En las siguientes N líneas se leerán dos enteros, c y p, la calificación y el porcentaje de ponderación para esa calificación. Salida Por cada calificación se debe imprimir una cantidad de asteriscos igual a la calificación obtenida en cada aspecto, por ejemplo, si la calificación es un 8, se deben imprimir 8 asteriscos. La siguiente línea contendrá la calificación final del alumno redondeado a un entero y en la última línea se deberá imprimir una carita feliz :) si la calificación es mayor o igual a seis y una carita triste :( si la calificación es menor a seis. Si la calificación final es reprobatoria no se debe redondear, en lugar de redondear se debe imprimir un cero. Note que la carita se compone de dos puntos y un paréntesis. B. Distancia mínima recorrida Descripción Mario por fin ha decidido apartarse del ordenador y salir a recorrer el mundo. El mundo de Mario es un plano cartesiano donde no hay límites ni obstáculos. Mario tiene pensado visitar sus dos lugares favoritos; la biblioteca y el museo de artes. Sabemos que Mario es flojo entonces él quiere recorrer la mínima distancia posible para visitar estos lugares y regresar a su casa para seguir programando. Entrada 3 pares de números enteros x1, y1, x2, y2, x3 y y3, representando la ubicación de la casa de Mario y las coordenadas de los dos lugares que desea visitar. Salida Un número de punto flotante que representa la distancia mínima que Mario debe recorrer para visitar todos los lugares y volver a su casa. Imprimir el resultado redondeado a 4 decimales. C. Área de un Romboedro Descripción En este problema deberás calcular el área de un romboedro. A=6×D×d2 Entrada 2 números enteros D y d que representan la diagonal mayor y la diagonal menor de una de las caras del romboedro. Salida La cadena "Area = A" sin comillas y donde A es el área total del paralelepípedo. EJEMPLO D. Pseudorandom Descripción The most common procedure used in computers to generate pseudorandomn numbers is the Linear congruential generator. The Linear congruential generator uses four integer numbers: the multiplier a, the increment c, the module m and the seed x0, with 2≤a<m, 0≤c<m and 0≤x0<m. Is generated a sequence of pseudorandom numbers xn, with 0≤xn<m for all n, when using successively the congruence: xn+1=(a⋅xn+c) mod m For example, the sequence of numbers that are generated when choose the multiplier a=7, the increment c=4, the module m=9, and the seed x0=3, is : 3, 7, 8, 6, 1, 2, 0, 4, 5, 3, 7, 8, 6, … In this sequence, we notice that x0 = x9 = 3, x1 = x10 = 7, x2 = x11 = 8, and so on. That means that starting from some point the values start being generated again in a loop. This happens because in the linear congruential generator each term in the sequence depends only on the previous term. The lineal congruence generator doesn't always produce m different terms, for example, when the multiplier a=3, the increment c=4, the module m=9 and the seed x0=5, the following sequence is generated: 5, 1, 7, 7, …, we can see that there are three different elements in the sequence, but the first two (5 and 1) are only generated once and the third term is generated in a loop. The task is: given the values of a, c, m and x0, indicate if the linear congruential generator produces m distinct values before values start repeating. You should also print the total amount of elements that are generated before any repeated number appears, the total amount of elements that are generated only once, and the total amount of elements that are generated repeatedly in the loop. Entrada There are several test cases of input. Each test case consist of a single line that has four integer numbers: a, c, m, x0 separated by spaces (2≤a<m, 0≤c<m, 3≤m≤103, 0≤x0<m). Salida For each test case you should print a single line containing the word YES or NO (indicating if m distinct elements are generated before the numbers start repeating), followed by the three integer numbers t s r, which indicate, respectively, the total amount of elements that are generated before any repeated number appears, the total amount of elements that are generated only once, and the total amount of elements that are generated repeatedly in the loop. Ejemplos Entrada 7 4 9 3 3 4 9 5 2 3 9 4 Salida YES 9 0 9 NO 3 2 1 NO 6 0 6 Use fast I/O methods