Напишите программу, которая решает систему линейных алгебраических уравнений методом Гаусса

Напишите программу, которая решает систему линейных алгебраических уравнений методом Гаусса.
Формат входных данных: 
В первой строке задаются два числа: количество уравнений n (n1) и количество неизвестных m (m1). Далее идут n строк, каждая из которых содержит m+1 число. Первые m чисел — это коэффициенты i-го уравнения системы, а последнее, (m+1)-е число — коэффициент bi, стоящий в правой части i-го уравнения.
Формат выходных данных:
В первой строке следует вывести слово YES, если решение существует и единственно, слово NO в случае, если решение не существует, и слово INF в случае, когда решений существует бесконечно много. Если решение существует и единственно, то во второй строке следует вывести решение системы в виде m чисел, разделенных пробелом.
Sample Input 1:
3 3
4 2 1 1
7 8 9 1
9 1 3 2
Sample Output 1:
YES
0.2608695652173913 0.04347826086956526 -0.1304347826086957

Sample Input 2:
2 3
1 3 4 4
2 1 4 5
Sample Output 2:
INF

Sample Input 3:
3 3
1 3 2 7
2 6 4 8
1 4 3 1
Sample Output 3:
NO