Vasya has got three integers n, m and k. He'd like to find three integer points (x_1, y_1), (x_2, y_2), (x_3, y_3), such that 0 ≤ x_1, x_2, x_3 ≤ n, 0 ≤ y_1, y_2, y_3 ≤ m and the area of the triangle formed by these points is equal to nm/k.

Help Vasya! Find such points (if it's possible). If there are multiple solutions, print any of them.

Input

The single line contains three integers n, m, k (1≤ n, m ≤ 10^9, 2 ≤ k ≤ 10^9).

Output

If there are no such points, print "NO".

Otherwise print "YES" in the first line. The next three lines should contain integers x_i, y_i — coordinates of the points, one point per line. If there are multiple solutions, print any of them.

You can print each letter in any case (upper or lower).

Examples

Input

4 3 3


Output

YES
1 0
2 3
4 1


Input

4 4 7


Output

NO

Note

In the first example area of the triangle should be equal to nm/k = 4. The triangle mentioned in the output is pictured below: 

<image>

In the second example there is no triangle with area nm/k = 16/7.
import java.util.*;
import java.lang.*;
import java.io.*;
 

 public class Solution{  
      public static long gcd(long a, long b){
          if(a == 0 && b == 0)
           return 0;
           else if(a == 0)
           return b;
           else if(b == 0)
            return a;
            
        if( (a&1) == 0){
            if((b & 1) == 0)
              return gcd(a>>1,b>>1)<<1;
              
              return gcd(a>>1,b);
        }
        else{
            if ((b & 1) == 0)
             return gcd(a,b>>1);
             
             if(a>=b)
              return gcd( (a-b)/2 , b);
              
              return gcd((b-a)/2,a);
        }
      }
      
     public static void main(String[] args)throws Exception{
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         PrintWriter out = new PrintWriter(System.out);
         StringTokenizer st = new StringTokenizer(br.readLine());
         
         long m = Long.parseLong(st.nextToken());
         long n = Long.parseLong(st.nextToken());
         long k = Long.parseLong(st.nextToken());
         
         if ((2L*m*n) %k != 0)
             out.println("NO");
         else{
             long hcf = gcd(n,k);
             n/=hcf;
             k/=hcf;
             
              if(k==1) n = n*2; else m = 2*m/k;
             
             out.println("YES");
             out.println(0+" "+n);
             out.println(0+" "+0);
             out.println(m+" "+0);
         }
           out.close();
     }
}

