#include <stdio.h>
#define NMAX 100
#define TRUE 1
#define FALSE 0

void leia_conjunto(int a[]);
void imprima_conjunto(int a[]);
int contido(int a[], int b[]);
int igual(int a[], int b[]);
int pertence(int x, int a[]);

int main()
{
  int a[NMAX], b[NMAX];

  leia_conjunto(a);
  leia_conjunto(b);

  printf("A:\n");  imprima_conjunto(a);
  printf("B:\n");  imprima_conjunto(b);
  
  if (contido(a,b))
    printf("A contido em B\n");
  else
    printf("A nao contido em B\n");

  if (igual(a,b))
    printf("A igual a B\n");
  else
    printf("A diferente de B\n");
    
  return 0;
}

void leia_conjunto(int a[])
{
  int i;
  scanf("%d", &a[0]);
  for (i = 1; i <= a[0]; i++)
    scanf("%d", &a[i]);
}

void imprima_conjunto(int a[])
{
  int i;
  for (i = 1; i <= a[0]; i++)
    printf("%d ", a[i]);
  printf(" (%d elemento(s))\n", a[0]);
}

int pertence(int x, int a[])
{
  int i;
  for (i=1; i<=a[0]; i++)
    if (a[i]==x)
      return TRUE;
  return FALSE;
}

int contido(int a[], int b[])
{
  int i;
  for (i=1; i<=a[0]; i++)
    if (!pertence(a[i], b))
      return FALSE;
  return TRUE;
}

int igual(int a[], int b[])
{
  return contido(a,b) && contido(b,a);
}
