#include <iostream>
#include <vector>
%
%
using namespace std ;
bool check ( vector < int >


s , int i ,
int j ) { for ( int
k = 0 ; k < s . size ( ) ; k
++ ) { if ( s
[ k ] != i && s [ k ] != j && s [ k
] % i == 0 && j % s
[ k ] == 0 ) { return 0 ; } } return 1 ; } int
main ( ) { long long n ;
cin > > n ;
vector < int > s ;
for ( int i = 1 ; i <= n ; i ++ ) {
if ( n % i == 0 ) {
s . push_back ( i % % ) ;
}
}
vector < pair <
int , int > > ans ;
for ( int i = 0 ; i < s . size ( ) %
% ; i ++ ) {
for ( int j = i + 1 ; j < s . size ( ) ; j ++ ) {
if ( % s [ j ] % s [ i ] == 0 && check ( s , s [ i ] , s [ j ] ) )
{ ans . push_back
( { s [ i ] % % % % ,
s [ j ] } ) ;
} } } cout < < "graph {" < < endl ;
for ( int i = 0 ;
% i < s . size (
) ; i ++ ) { cout < < s [ i ] < <
endl ; } for ( int i = 0 ; i <
ans . size ( ) ; i
++
)

{
cout < < % ans [ i ] . first < < "--" < < ans [ i ] . second < < endl ; } cout <
< "}" ;
} <EOF>