//multiplication of nth order polynomials
#include <stdio.h>
#include <stdlib.h>
void printpolynomial(int a[], int n)
{
int i;
for(i=n; i>=0; i--)
}
void polymult()
{
int i, n;
int *a
= (int *) malloc((n
+1)*sizeof(int)); for(i=n; i>=0; i--)
int *b
= (int *) malloc((n
+1)*sizeof(int)); for(i=n; i>=0; i--)
int *answer
= (int *) malloc((2*n
+1)*sizeof(int)); for(i=0; i<(2*n+1); i++)
answer[i]=0;
int index_a, index_b;
for(index_a=0; index_a<=n; index_a++)
for(index_b=0; index_b<=n; index_b++)
answer[index_a+index_b]+=(a[index_a]*b[index_b]);
printpolynomial(answer, 2*n);
}
void main()
{
int t;
while(t-->0)
polymult();
}
Ly9tdWx0aXBsaWNhdGlvbiBvZiBudGggb3JkZXIgcG9seW5vbWlhbHMKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgcHJpbnRwb2x5bm9taWFsKGludCBhW10sIGludCBuKQoJewoJaW50IGk7Cglmb3IoaT1uOyBpPj0wOyBpLS0pCgkJcHJpbnRmKCIlZCAiLCBhW2ldKTsKCXByaW50ZigiXG4iKTsKCX0KCnZvaWQgcG9seW11bHQoKQoJewoJaW50IGksIG47CglzY2FuZigiJWQiLCAmbik7CgkKCWludCAqYT0gKGludCAqKSBtYWxsb2MoKG4rMSkqc2l6ZW9mKGludCkpOwoJZm9yKGk9bjsgaT49MDsgaS0tKQoJCXNjYW5mKCIlZCIsICZhW2ldKTsKCQoJaW50ICpiPSAoaW50ICopIG1hbGxvYygobisxKSpzaXplb2YoaW50KSk7Cglmb3IoaT1uOyBpPj0wOyBpLS0pCgkJc2NhbmYoIiVkIiwgJmJbaV0pOwoJCQoJaW50ICphbnN3ZXI9IChpbnQgKikgbWFsbG9jKCgyKm4rMSkqc2l6ZW9mKGludCkpOwoJZm9yKGk9MDsgaTwoMipuKzEpOyBpKyspCgkJYW5zd2VyW2ldPTA7CgkJCglpbnQgaW5kZXhfYSwgaW5kZXhfYjsKCQoJZm9yKGluZGV4X2E9MDsgaW5kZXhfYTw9bjsgaW5kZXhfYSsrKQoJCWZvcihpbmRleF9iPTA7IGluZGV4X2I8PW47IGluZGV4X2IrKykKCQkJYW5zd2VyW2luZGV4X2EraW5kZXhfYl0rPShhW2luZGV4X2FdKmJbaW5kZXhfYl0pOwoJCQkKCXByaW50cG9seW5vbWlhbChhbnN3ZXIsIDIqbik7CglmcmVlKGEpOyBmcmVlKGIpOyBmcmVlKGFuc3dlcik7Cgl9Cgp2b2lkIG1haW4oKQoJewoJaW50IHQ7CglzY2FuZigiJWQiLCAmdCk7Cgl3aGlsZSh0LS0+MCkKCQlwb2x5bXVsdCgpOwoJfQ==