Problem:
Score : 400 points

Problem Statement

Given is an integer S.
Find a combination of six integers X_1,Y_1,X_2,Y_2,X_3, and Y_3 that satisfies all of the following conditions:

0 \leq X_1,Y_1,X_2,Y_2,X_3,Y_3 \leq 10^9

The area of the triangle in a two-dimensional plane whose vertices are (X_1,Y_1),(X_2,Y_2), and (X_3,Y_3) is S/2.

We can prove that there always exist six integers that satisfy the conditions under the constraints of this problem.

Constraints

1 \leq S \leq 10^{18}

All values in input are integers.

Input

Input is given from Standard Input in the following format:

S

Output

Print six integers X_1,Y_1,X_2,Y_2,X_3, and Y_3 that satisfy the conditions, in this order, with spaces in between.
If multiple solutions exist, any of them will be accepted.

Sample Input 1

3

Sample Output 1

1 0 2 2 0 1

The area of the triangle in a two-dimensional plane whose vertices are (1,0),(2,2), and (0,1) is 3/2.
Printing 3 0 3 1 0 1 or 1 0 0 1 2 2 will also be accepted.

Sample Input 2

100

Sample Output 2

0 0 10 0 0 10

Sample Input 3

311114770564041497

Sample Output 3

314159265 358979323 846264338 327950288 419716939 937510582

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include <stdio.h>
#include <math.h>

int main(void){
  long s;
  int x1,y1,x2,y2,x3,y3;
  double m;
  long n;
  int k,l;
  x1 = 0;
  
  scanf("%ld",&s); 
  //printf("%ld",s);
  
  m = sqrt(s);
  n = (int)m;
  //printf("%d",n);
 
  int sr = s -n*n;
  printf("%d\n",sr);
  if(sr ==0){
    printf("%d %d %d %d %d %d\n",sr,sr,n,sr,sr,n);
  }else{
  
  for(int i = 2;i<1000000001;i++){
    if(sr%i==0){
      k =i;
      l = sr/i;
      break;
    }
    if(i ==1000000000){
      k = 1;
      l =sr;
    }
  }
  printf("%d %d %d %d %d %d\n",x1,k,n,x1,l,n+k);
  }
  
  return 0;
}