         XCTAssertEqual(gcd(0, 0), 0)
     }
     
+    func testMAnd0() {
+        let m: Int = 2061517
+        XCTAssertEqual(gcd(m, 0), m)
+    }
+    
     func test0AndN() {
         let n: Int = 2061517
-        XCTAssertEqual(gcd(n, 0), n)
+        XCTAssertEqual(gcd(0, n), n)
     }
     
     func testCommutativity() {

        XCTAssertEqual(gcd(UInt(0), 0), 0)
    }
    
    func test0AndN() {
        let n: UInt = 2061517
        XCTAssertEqual(gcd(n, 0), n)
    }
    
    func testCommutativity() {

        XCTAssertEqual(gcd(a, a), a)
    }
    
    func testMIsMultipleOfN() {
        let a: Int = 100
        let b: Int = 20
        XCTAssertEqual(gcd(a, b), a)
    }
    
    func testNIsMultipleOfM() {
        let a: Int = 20
        let b: Int = 100
        XCTAssertEqual(gcd(a, b), a)
    }
    
    func testMIsPrime() {
        let a: Int = 37
        let b: Int = 600
        XCTAssertEqual(gcd(a, b), 1)
    }
    
    func testNIsPrime() {
        let a: Int = 600
        let b: Int = 37
        XCTAssertEqual(gcd(a, b), 1)
    }
    
    func testNonEdgeCase() {
        let a: Int = 2061517
        let b: Int = 624129
        let c: Int = 18913
        XCTAssertEqual(gcd(a, b), c)
    }
    
    func testMIsNegative() {
        let a: Int = -2061517
        let b: Int = 624129
        let c: Int = 18913
        XCTAssertEqual(gcd(a, b), c)
    }
    
    func testNIsNegative() {
        let a: Int = 2061517
        let b: Int = -624129
        let c: Int = 18913
        XCTAssertEqual(gcd(a, b), c)
    }
    
    func testBothNegative() {
        let a: Int = -2061517
        let b: Int = -624129
        let c: Int = 18913
