import java.io.*;
import java.util.*;

class Main {
    public static void main(String[] args) throws IOException {
        Scan sc = new Scan();
        int[][] grid = new int[3][3];
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        }
        
        boolean good = true;
        // row
        for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        }
        if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        }
    }
}

class Pair implements Comparable <Pair>{
    int val, mod;
    Pair(int val, int mod){
        this.val = val;
        this.mod = mod;
    }
    public int compareTo(Pair other){
        if(this.val < other.val)
            return -1;
        if(this.val > other.val)
            return 1;
        return 0;
    }
}

class Scan {
    private byte[] buf=new byte[1024];
    private int index;
    private InputStream in;
    private int total;
    public Scan()
    {
        in=System.in;
    }
    public int scan()throws IOException
    {
        if(total<0)
        throw new InputMismatchException();
        if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        }
        return buf[index++];
    }
    public int scanInt()throws IOException
    {
        int integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public long scanLong()throws IOException
    {
        long integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public double scanDouble()throws IOException
    {
        double doub=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        }
        return doub*neg;
    }
    public String scanString()throws IOException
    {
        StringBuilder sb=new StringBuilder();
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        }
        return sb.toString();
    }
    
    public char scanCharacter() throws IOException {
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        return (char)n;
    }
    private boolean isWhiteSpace(int n)
    {
        if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true;
        return false;
    }
} import java.io.*; io.* java import java.util.*; util.* java class Main {
    public static void main(String[] args) throws IOException {
        Scan sc = new Scan();
        int[][] grid = new int[3][3];
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        }
        
        boolean good = true;
        // row
        for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        }
        if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        }
    }
} Main public static void main(String[] args) throws IOException {
        Scan sc = new Scan();
        int[][] grid = new int[3][3];
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        }
        
        boolean good = true;
        // row
        for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        }
        if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        }
    } main {
        Scan sc = new Scan();
        int[][] grid = new int[3][3];
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        }
        
        boolean good = true;
        // row
        for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        }
        if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        }
    } Scan sc = new Scan(); sc new Scan() int[][] grid = new int[3][3]; grid new int[3][3] 3 3 for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        } int i = 0; int i = 0; i 0 i < 3 i 3 ++i ++i i {
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        } {
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        } for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            } int j = 0; int j = 0; j 0 j < 3 j 3 ++j ++j j {
                grid[i][j] = sc.scanInt();
            } {
                grid[i][j] = sc.scanInt();
            } grid[i][j] = sc.scanInt() grid[i][j] grid[i] grid i j sc.scanInt() sc.scanInt sc boolean good = true; good true for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        } int i = 2; int i = 2; i 2 i < 3 i 3 ++i ++i i {
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        } {
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        } int diff1 = grid[i][0] - grid[i-1][0]; diff1 grid[i][0] - grid[i-1][0] grid[i][0] grid[i] grid i 0 grid[i-1][0] grid[i-1] grid i-1 i 1 0 int diff2 = grid[i][1] - grid[i-1][1]; diff2 grid[i][1] - grid[i-1][1] grid[i][1] grid[i] grid i 1 grid[i-1][1] grid[i-1] grid i-1 i 1 1 int diff3 = grid[i][2] - grid[i-1][2]; diff3 grid[i][2] - grid[i-1][2] grid[i][2] grid[i] grid i 2 grid[i-1][2] grid[i-1] grid i-1 i 1 2 if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            } diff1 != diff2 || diff2 != diff3 diff1 != diff2 diff1 diff2 diff2 != diff3 diff2 diff3 {
                good = false;
                break;
            } good = false good false break; if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        } !good good System.out.println("No") System.out.println System.out System System.out "No" {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        } for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            } int i = 2; int i = 2; i 2 i < 3 i 3 ++i ++i i {
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            } {
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            } int diff1 = grid[0][i] - grid[0][i-1]; diff1 grid[0][i] - grid[0][i-1] grid[0][i] grid[0] grid 0 i grid[0][i-1] grid[0] grid 0 i-1 i 1 int diff2 = grid[1][i] - grid[1][i-1]; diff2 grid[1][i] - grid[1][i-1] grid[1][i] grid[1] grid 1 i grid[1][i-1] grid[1] grid 1 i-1 i 1 int diff3 = grid[2][i] - grid[2][i-1]; diff3 grid[2][i] - grid[2][i-1] grid[2][i] grid[2] grid 2 i grid[2][i-1] grid[2] grid 2 i-1 i 1 if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                } diff1 != diff2 || diff2 != diff3 diff1 != diff2 diff1 diff2 diff2 != diff3 diff2 diff3 {
                    good = false;
                    break;
                } good = false good false break; if(good)
                System.out.println("Yes");
            else
                System.out.println("No"); good System.out.println("Yes") System.out.println System.out System System.out "Yes" System.out.println("No") System.out.println System.out System System.out "No" String[] args args class Pair implements Comparable <Pair>{
    int val, mod;
    Pair(int val, int mod){
        this.val = val;
        this.mod = mod;
    }
    public int compareTo(Pair other){
        if(this.val < other.val)
            return -1;
        if(this.val > other.val)
            return 1;
        return 0;
    }
} Pair int val val mod; mod Pair(int val, int mod){
        this.val = val;
        this.mod = mod;
    } Pair {
        this.val = val;
        this.mod = mod;
    } this.val = val this.val this this.val val this.mod = mod this.mod this this.mod mod int val val int mod mod public int compareTo(Pair other){
        if(this.val < other.val)
            return -1;
        if(this.val > other.val)
            return 1;
        return 0;
    } compareTo {
        if(this.val < other.val)
            return -1;
        if(this.val > other.val)
            return 1;
        return 0;
    } if(this.val < other.val)
            return -1; this.val < other.val this.val this this.val other.val other other.val return -1; -1 1 if(this.val > other.val)
            return 1; this.val > other.val this.val this this.val other.val other other.val return 1; 1 return 0; 0 Pair other other Comparable class Scan {
    private byte[] buf=new byte[1024];
    private int index;
    private InputStream in;
    private int total;
    public Scan()
    {
        in=System.in;
    }
    public int scan()throws IOException
    {
        if(total<0)
        throw new InputMismatchException();
        if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        }
        return buf[index++];
    }
    public int scanInt()throws IOException
    {
        int integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public long scanLong()throws IOException
    {
        long integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public double scanDouble()throws IOException
    {
        double doub=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        }
        return doub*neg;
    }
    public String scanString()throws IOException
    {
        StringBuilder sb=new StringBuilder();
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        }
        return sb.toString();
    }
    
    public char scanCharacter() throws IOException {
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        return (char)n;
    }
    private boolean isWhiteSpace(int n)
    {
        if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true;
        return false;
    }
} Scan private byte[] buf=new byte[1024]; buf new byte[1024] 1024 private int index; index private InputStream in; in private int total; total public Scan()
    {
        in=System.in;
    } Scan {
        in=System.in;
    } in=System.in in System.in System System.in public int scan()throws IOException
    {
        if(total<0)
        throw new InputMismatchException();
        if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        }
        return buf[index++];
    } scan {
        if(total<0)
        throw new InputMismatchException();
        if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        }
        return buf[index++];
    } if(total<0)
        throw new InputMismatchException(); total<0 total 0 throw new InputMismatchException(); new InputMismatchException() if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        } index>=total index total {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        } index=0 index 0 total=in.read(buf) total in.read(buf) in.read in buf if(total<=0)
            return -1; total<=0 total 0 return -1; -1 1 return buf[index++]; buf[index++] buf index++ index public int scanInt()throws IOException
    {
        int integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    } scanInt {
        int integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    } int integer=0; integer 0 int n=scan(); n scan() scan while(isWhiteSpace(n))
        n=scan(); isWhiteSpace(n) isWhiteSpace n n=scan() n scan() scan int neg=1; neg 1 if(n=='-')
        {
            neg=-1;
            n=scan();
        } n=='-' n '-' {
            neg=-1;
            n=scan();
        } neg=-1 neg -1 1 n=scan() n scan() scan while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException(); n>='0'&&n<='9' n>='0' n '0' n<='9' n '9' {
                integer*=10;
                integer+=n-'0';
                n=scan();
            } integer*=10 integer 10 integer+=n-'0' integer n-'0' n '0' n=scan() n scan() scan throw new InputMismatchException(); new InputMismatchException() return neg*integer; neg*integer neg integer public long scanLong()throws IOException
    {
        long integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    } scanLong {
        long integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    } long integer=0; integer 0 int n=scan(); n scan() scan while(isWhiteSpace(n))
        n=scan(); isWhiteSpace(n) isWhiteSpace n n=scan() n scan() scan int neg=1; neg 1 if(n=='-')
        {
            neg=-1;
            n=scan();
        } n=='-' n '-' {
            neg=-1;
            n=scan();
        } neg=-1 neg -1 1 n=scan() n scan() scan while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException(); n>='0'&&n<='9' n>='0' n '0' n<='9' n '9' {
                integer*=10;
                integer+=n-'0';
                n=scan();
            } integer*=10 integer 10 integer+=n-'0' integer n-'0' n '0' n=scan() n scan() scan throw new InputMismatchException(); new InputMismatchException() return neg*integer; neg*integer neg integer public double scanDouble()throws IOException
    {
        double doub=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        }
        return doub*neg;
    } scanDouble {
        double doub=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        }
        return doub*neg;
    } double doub=0; doub 0 int n=scan(); n scan() scan while(isWhiteSpace(n))
        n=scan(); isWhiteSpace(n) isWhiteSpace n n=scan() n scan() scan int neg=1; neg 1 if(n=='-')
        {
            neg=-1;
            n=scan();
        } n=='-' n '-' {
            neg=-1;
            n=scan();
        } neg=-1 neg -1 1 n=scan() n scan() scan while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } !isWhiteSpace(n)&&n!='.' !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n n!='.' n '.' {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        } if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException(); n>='0'&&n<='9' n>='0' n '0' n<='9' n '9' {
                doub*=10;
                doub+=n-'0';
                n=scan();
            } doub*=10 doub 10 doub+=n-'0' doub n-'0' n '0' n=scan() n scan() scan throw new InputMismatchException(); new InputMismatchException() if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        } n=='.' n '.' {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        } n=scan() n scan() scan double temp=1; temp 1 while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            } !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            } if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException(); n>='0'&&n<='9' n>='0' n '0' n<='9' n '9' {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                } temp/=10 temp 10 doub+=(n-'0')*temp doub (n-'0')*temp (n-'0') n '0' temp n=scan() n scan() scan throw new InputMismatchException(); new InputMismatchException() return doub*neg; doub*neg doub neg public String scanString()throws IOException
    {
        StringBuilder sb=new StringBuilder();
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        }
        return sb.toString();
    } scanString {
        StringBuilder sb=new StringBuilder();
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        }
        return sb.toString();
    } StringBuilder sb=new StringBuilder(); sb new StringBuilder() int n=scan(); n scan() scan while(isWhiteSpace(n))
        n=scan(); isWhiteSpace(n) isWhiteSpace n n=scan() n scan() scan while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        } !isWhiteSpace(n) isWhiteSpace(n) isWhiteSpace n {
            sb.append((char)n);
            n=scan();
        } sb.append((char)n) sb.append sb (char)n n=scan() n scan() scan return sb.toString(); sb.toString() sb.toString sb public char scanCharacter() throws IOException {
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        return (char)n;
    } scanCharacter {
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        return (char)n;
    } int n=scan(); n scan() scan while(isWhiteSpace(n))
        n=scan(); isWhiteSpace(n) isWhiteSpace n n=scan() n scan() scan return (char)n; (char)n private boolean isWhiteSpace(int n)
    {
        if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true;
        return false;
    } isWhiteSpace {
        if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true;
        return false;
    } if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true; n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1 n=='\t' n=='\r' n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1 n==' ' n ' ' n=='\n' n '\n' n=='\r' n '\r' n=='\t' n '\t' n==-1 n -1 1 return true; true return false; false int n n
import java.io.*;
import java.util.*;

class Main {
    public static void main(String[] args) throws IOException {
        Scan sc = new Scan();
        int[][] grid = new int[3][3];
        for(int i = 0; i < 3; ++i){
            for(int j = 0; j < 3; ++j){
                grid[i][j] = sc.scanInt();
            }
        }
        
        boolean good = true;
        // row
        for(int i = 2; i < 3; ++i){
            int diff1 = grid[i][0] - grid[i-1][0];
            int diff2 = grid[i][1] - grid[i-1][1];
            int diff3 = grid[i][2] - grid[i-1][2];
            if(diff1 != diff2 || diff2 != diff3){
                good = false;
                break;
            }
        }
        if(!good)
            System.out.println("No");
        else {
            // row
            for(int i = 2; i < 3; ++i){
                int diff1 = grid[0][i] - grid[0][i-1];
                int diff2 = grid[1][i] - grid[1][i-1];
                int diff3 = grid[2][i] - grid[2][i-1];
                if(diff1 != diff2 || diff2 != diff3){
                    good = false;
                    break;
                }
            }
            if(good)
                System.out.println("Yes");
            else
                System.out.println("No");
        }
    }
}

class Pair implements Comparable <Pair>{
    int val, mod;
    Pair(int val, int mod){
        this.val = val;
        this.mod = mod;
    }
    public int compareTo(Pair other){
        if(this.val < other.val)
            return -1;
        if(this.val > other.val)
            return 1;
        return 0;
    }
}

class Scan {
    private byte[] buf=new byte[1024];
    private int index;
    private InputStream in;
    private int total;
    public Scan()
    {
        in=System.in;
    }
    public int scan()throws IOException
    {
        if(total<0)
        throw new InputMismatchException();
        if(index>=total)
        {
            index=0;
            total=in.read(buf);
            if(total<=0)
            return -1;
        }
        return buf[index++];
    }
    public int scanInt()throws IOException
    {
        int integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public long scanLong()throws IOException
    {
        long integer=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n))
        {
            if(n>='0'&&n<='9')
            {
                integer*=10;
                integer+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        return neg*integer;
    }
    public double scanDouble()throws IOException
    {
        double doub=0;
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        int neg=1;
        if(n=='-')
        {
            neg=-1;
            n=scan();
        }
        while(!isWhiteSpace(n)&&n!='.')
        {
            if(n>='0'&&n<='9')
            {
                doub*=10;
                doub+=n-'0';
                n=scan();
            }
            else throw new InputMismatchException();
        }
        if(n=='.')
        {
            n=scan();
            double temp=1;
            while(!isWhiteSpace(n))
            {
                if(n>='0'&&n<='9')
                {
                    temp/=10;
                    doub+=(n-'0')*temp;
                    n=scan();
                }
                else throw new InputMismatchException();
            }
        }
        return doub*neg;
    }
    public String scanString()throws IOException
    {
        StringBuilder sb=new StringBuilder();
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        while(!isWhiteSpace(n))
        {
            sb.append((char)n);
            n=scan();
        }
        return sb.toString();
    }
    
    public char scanCharacter() throws IOException {
        int n=scan();
        while(isWhiteSpace(n))
        n=scan();
        return (char)n;
    }
    private boolean isWhiteSpace(int n)
    {
        if(n==' '||n=='\n'||n=='\r'||n=='\t'||n==-1)
        return true;
        return false;
    }
}