XXVI Olimpíada Brasileira de Informática
Submeta sua solução

Nome do arquivo: matrizes.x, onde x deve ser c, cpp, java, js ou py

Multiplicação de Matrizes

O conglomerado indiano Tutu é um conjunto de empresas que atua nos mais diversos ramos da indústria, produzindo desde sapatos até aviões e foguetes. Por ser tão diversificada, precisa de grandes e rápidos sistemas para cálculos de contabilidade.

Um dos módulos mais importantes desse sistema é o de fornecimento de produtos, onde fica a base de dados de produtos e fornecedores. Um mesmo produto pode ser fornecido por vários fornecedores diferentes.

O sistema possui duas grandes matrizes: a matriz A, onde cada linha representa um produto e cada coluna representa um fornecedor. O valor da matriz na linha m e coluna n representa o preço do produto m se for comprado do fornecedor n.

A outra grande matriz é a B, onde cada linha representa um dia do mês e cada coluna é um produto. O valor da matriz na linha m e coluna n representa a quantidade do produto n a ser adquirido no dia m.

Tal empresa tem uma política de fidelidade com seus fornecedores, e uma das práticas efetuadas pela empresa é, em um determinado dia, comprar todos os produtos necessários de um único fornecedor. Isto é, em um dia todos os produtos adquiridos serao comprados do fornecedor x, no outro dia do fornecedor y, e assim por diante.

Para auxiliar a escolha de qual fornecedor será o escolhido no dia, foi gerada outra matriz C, que é o resultado da multiplicação das matrizes A × B. Essa matriz diz o quanto será gasto pela empresa se adquirir todos os produtos de um determinado fornecedor em um determinado dia.

As matrizes A e B são quadradas (o número de linhas é igual ao número de colunas) e têm valores definidos pelas fórmulas

Aij = (P × i + Q × j) (mod X)

Bij = (R × i + S × j) (mod Y )

onde i é o índice da linha da matriz e j é o índice da coluna da matriz (todos os índices vão de 1 até N). Os inteiros P, Q, R, S, X e Y são parâmetros constantes, que definem as duas matrizes A e B.

Tarefa

Escreva um programa que, dados os parâmetros das matrizes A e B, e a posição de uma das entradas as matriz C, calcula o valor daquela entrada.

Entrada

A primeira linha da entrada contém um inteiro N, indicando as dimensões das matrizes A, B e C (2 ≤ N ≤ 105). A linha seguinte contém seis inteiros P, Q, R, S, X e Y , indicando os parâmetros das matrizes A e B (2 ≤ X, Y ≤ 104; 0 ≤ P,Q < X; 0 ≤ R, S < Y ). Finalmente, a última linha da entrada contém dois inteiros I e J, indicando a linha e a coluna da matriz C a serem consultados (1 ≤ I, JN).

Saída

Seu programa deve imprimir uma única linha contendo o valor da matriz C na linha e coluna especificadas.

Informações sobre a pontuação

  • Em um conjunto de casos de teste que totaliza 40 pontos, N ≤ 100.

Exemplos

Entrada
3
4 3 2 3 5 6
2 2
			
Saída
18
			
Entrada
4
3 5 1 0 6 7
4 3
			
Saída
30
			
Entrada
2
2 2 0 1 3 2
2 1
			
Saída
2
			
Tarefas Programação Nível 2
Promoção:
sbc
Patrocínio
 
Apoio
 
Coordenação