/*
 * Problema 10.  Escreva uma função com protótipo
 * 
 * int divide_um(int *m, int *n, int d);
 * 
 * que recebe três inteiros positivos como parâmetros e devolve 1 se d
 * divide pelo menos um entre *m e *n, e devolve 0 caso
 * contrário.  Fora isso, se d divide *m, divide_um divide *m por d, e
 * o mesmo para *n.  Finalmente, escreva um programa que lê dois
 * inteiros positivos m e n e calcula, usando a função acima, o mínimo
 * múltiplo comum entre m e n. 
 */

#include <stdio.h>

#define TRUE 1
#define FALSE 0

int mdc(int m, int n);

int main(int argc, char *argv[])
{
  int m, n;

  scanf("%d %d", &m, &n);

  printf("mmc(%d, %d) = %ld\n", m, n, (long)(m/mdc(m, n)) * n);
    
  return 0;
}

int mdc(int m, int n)
{
  while (n > 0) {
    int r = m % n;
    m = n;
    n = r;
  }
  return m;
}
