0x008119AE 处有未经处理的异常(在 作业1.exe 中): 0xC0000094: Integer division by zero。

想要求最大公倍数和最小公约数

#include <iostream>
using namespace std;

int main() {
    long long int m = 1;long long int n=1;
    cin >> m >> n;
    int gcd, lcm;
    int a, b;
    if (m > n) { a = m; b = n; }
    else { a = n; b = m; }
    while (1) {
        if (a % b == 0) break;
        a = b; b = a % b; 
    }
    gcd = b; lcm = m * n / gcd;
    cout << gcd << endl << endl << lcm;
    return 0;
}

不是提示的很明白吗?除0错误,只有第15行有除法。