\documentclass[11pt,titlepage,dvipdfmx,twoside]{article}
\linespread{1.1}

\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{amsthm}
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\usepackage{enumitem}
\usepackage{geometry}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}

\usepackage{algorithm}
\usepackage{algorithmic}
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
\renewcommand{\algorithmicforall}{\textbf{for each}}

\usepackage{mathtools}
\usepackage{comment}
\usepackage[dvipdfmx]{graphicx}
\usepackage{float}
\usepackage{framed}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{color}
\usepackage{url}

\title{\Huge{
Program Manual: \\
Listing Chemical Isomers of a Given Chemical Graph}}

\begin{document}

% % The following makeatletter must be after begin{document}
% \makeatletter
% \let\c@lstlisting\c@figure
% \makeatother

% \西暦
\date{\today}

\maketitle

% \cleardoublepage

\thispagestyle{empty}
\tableofcontents
\clearpage

\pagenumbering{arabic}

\section{Introduction}
\label{sec:intro}

This text explains how to use the program for listing
chemical isomers of a given 2-lean cyclic chemical graph~\cite{branch}.

%In addition to this text, a {\tt README.txt} and a {\tt License.txt} file,
%you will find accompanying the following files and folders.
%
\begin{itemize}
\item Folder{\tt isomers}\\
	Containing source code files of the program for generating chemical isomers of a cyclic chemical graph.
	The program is written in the C++ programming language.
	\begin{itemize}
	\item Folder{\tt include}\\
		A folder that contains related header files.
		\begin{itemize}
			\item{chemical\_graph.hpp}\\
			  A header file that contains functions for manipulating
			  chemical graphs.
			\item{cross\_timer.h}\\
				A header file that contains functions for
				measuring execution time.

			\item{data\_structures.hpp}\\
				Data structures implemented for storing
				chemical graphs.

			\item{fringe\_tree.hpp}\\
				A header file with functions for enumerating
				2-fringe trees with fictitious degree~\cite{branch}.

			\item{tools.hpp}\\
				Various functions used in the implementation.

			\item{tree\_signature}\\
				A header file with functions to compute and read canonical representation of fringe trees.

		\end{itemize}
	\item Folder{\tt instance}\\
		A folder containing sample input instance.
		\begin{itemize}
			\item{\tt sample.sdf}\\
			  A cyclic chemical graph with 45 vertices
			  (non-Hydrogen atoms).
			\item{\tt sample\_partition.txt}\\
			  A file containing partition information into acyclic
			   subgraphs
				of the cyclic chemical graph given in {\tt sample.sdf}.
			\item{\tt sample\_fringe\_trees.sdf}\\
			 	 A family of 2-fringe trees attached with the cyclic
			 	 chemical graph given in {\tt sample.sdf}.
		\end{itemize}
	\item Folder{\tt main}\\
		Folder containing source files.
		\begin{itemize}

			\item{generate\_isomers.cpp}\\
				Implements an algorithm for listing chemical
				isomers of
				a 2-lean cyclic chemical graph.

			\item{Pseudocode\_Graph\_Generation.pdf}\\
			  A pdf files showing Pseudo-codes for Graph Search Algorithms.
		\end{itemize}

	\end{itemize}
\end{itemize}

The remainder of this text is organized as follows.
Section~\ref{sec:term} explains some of the terminology used throughout the text.
Section~\ref{sec: main}
gives an explanation of the program for generating chemical isomers of
a given 2-lean cyclic chemical graph, explaining the input, output, and
presenting a computational example.

% \newpage

\section{Terminology}
\label{sec:term}

This section gives an overview of the terminology used in the text.
%
\begin{itemize}
%
\item Chemical Graph\\
A graph-theoretical description of a chemical compound,
where the graph's vertices correspond to atoms, and
its (multi) edges to chemical bonds.
Each vertex is colored with the chemical element of the atom it corresponds to,
and edges have multiplicity according to the corresponding bond order.
We deal with ``hydrogen-suppressed'' graphs,
where none of the graph's vertices is colored as hydrogen.
This can be done without loss of generality,
since there is a unique way to saturate a hydrogen-suppressed chemical graph
with hydrogen atoms subject to a fixed valence of each chemical element.

\item Feature vector\\
A numerical vector giving information such as the count of
each chemical element in a chemical graph.
For a complete information on the descriptors used in feature vectors for
this project, please see~\cite{branch}.

\item Partition Information\\
Information necessary to specify the base vertices and edges, as well as the vertex and edge components
of a chemical graph and fringe trees for each component.
For more details, please check~\cite{branch}.

\item Fringe Tree Information\\
A list of 2-fringe trees to be used to construct isomer.
For more details, please check~\cite{branch}.

\end{itemize}

\section{Program for Generating Chemical Isomers}
\label{sec: main}

\subsection{Input and Output of the Program}
\label{sec:InOut_m}

This section gives an explanation of the input and output
of the program that generates chemical isomers
of a given 2-lean chemical graph.
We call the program {\tt Generate Isomers}.
Section~\ref{sec:Input_m} gives an explanation of the program's input, and
Sec.~\ref{sec:Output_m} of the program's output.

\subsubsection{The Program's Input}
\label{sec:Input_m}

The input to the {\tt Generate Isomers} program
consists of ten necessary items. \\
First, comes information of a 2-lean chemical graph (in SDF format).\\
Second, comes a time limit in seconds on each of the stages of the program
(for details, check the accompanying file with pseudo-codes of the program).\\
Third is an upper bound on the number of {\em partial} feature vectors, that the program stores
during its computation. \\
Fourth is the number of graphs that are stored per one base vertex or edge.\\
Fifth is a global time limit for enumeration of paths.\\
Sixth is a global upper bound on the number of paths enumerated from the DAGs.\\
Seventh is an upper limit on the number of generated output chemical graphs. \\
Eighth is a filename (SDF) where the output graphs will
be written.\\
Ninth is a file that contains partition information of
the chemical graph given as the first parameter.\\
Tenth is a file that contains list of fringe trees.
%
\bigskip\\
A cyclic chemical graph, given as a ``structured data file,'' in  SDF format.
This is a standard format for representing chemical graphs.
For more details, please check the documentation at \\
\url{ http://help.accelrysonline.com/ulm/onelab/1.0/content/ulm_pdfs/direct/reference/} \\
\phantom{\url{ http://help.accelrysonline.com}}\url{/ctfileformats2016.pdf}
%%
\bigskip\\
The partition information is stored as a text file and an output of Stage 4. \\
The {\tt sample\_partition.txt}
looks like:
\begin{oframed}
{\bf Partition information file}\\\\
{\tt 2				\\
14              \\
0 45            \\
1 2 3 4 5 6 7 8 \\
15              \\
0 45            \\
1 2 3 4 5 6 7 8 \\
2               \\
14 1 2 3 5 6 15 \\
0 45            \\
1 2 3 4 5 6 7 8 \\
14 10 15        \\
0 45            \\
1 2 3 4 5 6 7 8 \\
}
\end{oframed}

Following, Table~\ref{tab:PartitionFormat}
gives a row-by-row explanation of the numerical information in the
above partition file.
\bigskip
\begin{table}[H]
\begin{center} \caption{Structure of a Partition Information}
\label{tab:PartitionFormat}
  \begin{tabular}{l|l}
  Value in the file & Explanation \\ \hline \hline
{\tt  2} & Number of base vertices \\ \hline
{\tt 14}          & The index of a base vertex in the input SDF     \\
{\tt0 45 }       & Core height lower and upper bound    \\
{\tt 1 2 3 4 5 6 7 8} & Indices of fringe trees in the fringe tree file\\
{\tt15}              &\\
{\tt 0 45}            &\\
{\tt1 2 3 4 5 6 7 8} \\ \hline
{\tt2}         & Number of base edges      \\ \hline
{\tt 14 1 2 3 5 6 15}  & Indices of vertices in the base edge from the input SDF \\
{\tt 0 45}       &Core height lower and upper bound      \\
{\tt 1 2 3 4 5 6 7 8}  &  Indices of fringe trees in the fringe tree file\\
{\tt 14 10 15}    &    \\
{\tt 0 45}            &\\
{\tt 1 2 3 4 5 6 7 8} & \\ \hline

  \end{tabular}
\end{center}
\end{table}
%%%%
The list of fringe trees are stored in a text file.
The {\tt sample\_fringe\_trees.sdf} is given below:

\begin{oframed}
{\bf Fringe tree file}\\\\
{\tt1, C 0 C 1, 1            \\
2, C 0 O 1, 2            \\
3, N 0 C 1, 1            \\
4, C 0 C 1 C 2, 1 1      \\
5, C 0 C 1 C 2 C 2, 1 1 1\\
6, C 0 C 1 O 2 O 2, 1 1 2\\
7, N 0 C 1 N 2 N 2, 2 1 1\\
8, C 0 C 1 C 2 C 1, 1 1 1}\\
\end{oframed}
%%
Following, Table~\ref{tab:fringeFormat}
gives a row-by-row explanation of the numerical information in the
above fringe tree file.
\bigskip
\begin{table}[H]
\begin{center} \caption{Structure of a Fringe Tree File}
\label{tab:fringeFormat}
  \begin{tabular}{l|l}
  Value in the file & Explanation \\ \hline \hline
{\tt  1, C 0 C 1, 1} & Index of the fringe tree, (color, depth)-sequence, weight sequence \\
      & For details please check \\
      & Pseudocode\_Graph\_Generation.pdf\\  \hline
{\tt 2, C 0 O 1, 2            } &\\
{\tt 3, N 0 C 1, 1            } &\\
{\tt 4, C 0 C 1 C 2, 1 1      } &\\
{\tt 5, C 0 C 1 C 2 C 2, 1 1 1} &\\
{\tt 6, C 0 C 1 O 2 O 2, 1 1 2} &\\
{\tt 7, N 0 C 1 N 2 N 2, 2 1 1} &\\
{\tt 8, C 0 C 1 C 2 C 1, 1 1 1} &\\ \hline
  \end{tabular}
\end{center}
\end{table}

\subsubsection{The Program's Output}
\label{sec:Output_m}

After executing the {\tt Generate Isomers} program,
the chemical isomers of the input graph will be written
in the specified SDF, and some information on the execution will be output on
the terminal.
The information printed on the terminal includes:\\
 - a lower bound on the number of chemical isomers of the given input chemical graph, \\
 - the number of graphs that the program generated under the given parameters, and \\
 - the program's execution time.

\subsection{Executing the Program and a Computational Example}
\label{sec:Example_m}

This section gives a concrete computational example of the {\tt Generate Isomers} program.

\subsubsection{Compiling and Executing the {\tt Generate} Program}
\label{sec:compile_m}
\begin{itemize}
	\item {\em Computation environment}\\
		There should not be any problems when using a ISO C++ compatible compiler. %
		There program has been tested on
		Ubuntu Linux 20.04,  with the  g++ compiler ver 9.3.
		If the compiler is not installed on the system, it can be installed with
		the following command.\\
		\verb|$ sudo apt install g++|
	\item {\em Compiling the program}\\
		Please run the following command in the terminal.\\
		\verb|$ g++ -o generate_isomers generate\_isomers.cpp -O3 -std=c++11|\\
	\item {\em Executing the program}\\
		The program can be executed by running the following command in the terminal.\\
		\verb|$ ./generate_isomers instance.txt a b c d e f output.sdf instance_partition.txt|\\
		Above, {\tt generate\_isomers} is the name of the program's executable file, and the remaining command-line
		parameters are as follows: \\
		\verb|instance.txt|  a text file containing a chemical specification \\
		\verb|a| upper bound (in seconds) on the computation time on each stages of the program, \\
		\verb|b| upper bound on the number of stored partial feature vectors, \\
		\verb|c| upper bound on the number of graphs stored per base vertex or edge, \\
		\verb|d| upper bound (in seconds) on time for enumeration of paths,\\
		\verb|e| upper bound on the number of total paths stored during the computation,\\
		\verb|f| upper bound on the number of output graphs, \\
		\verb|output.sdf| filename to store the output chemical graphs (SDF format), \\
		\verb|instance_partition.txt|  partition information of the input chemical graph.\\
		\verb|instance_fringe_trees.txt| list of fringe trees.\\
\end{itemize}

\subsubsection{Computational Example}
\label{sec:instance_p}

We execute the {\tt Generate Isomers} program with the following parameters.

\begin{itemize}
\item Input graph: File {\tt sample.sdf} from the folder {\tt instance}
\item Time limit: 10 seconds
\item Upper limit on the number of partial feature vectors: 10000
\item Number of graphs per base vertex or edge: 5
\item Global time limit for enumeration of paths: 10 seconds
\item Global upper bound on number of paths: 10000
\item Upper limit on the number of output graphs: 2
\item Filename to store the output graphs: {\tt output.sdf}
\item Partition information of the input graph:
File {\tt sample\_partition.txt} from the folder {\tt instance}.
\item Fringe tree information of the input and output graphs:
File {\tt sample\_fringe\_tree.txt} from the folder {\tt instance}.
\end{itemize}

Execute the program by typing the following command into the terminal (without a line break).

\bigskip

{\tt ./generate\_isomers ../instance/sample.sdf 10 10000 5 10 10000 2} \\
\phantom{{\tt ./generate\_isomers ~~\,}} {\tt output.sdf ../instance/sample\_partition.txt }\\
\phantom{{\tt ./generate\_isomers ~~\,}} {\tt../instance/sample\_fringe\_tree.txt}
%
\bigskip

Upon successful execution of the program, the following text should appear on the terminal.

\begin{oframed}
{\bf Output Written on the Terminal}\\\\
{\tt A lower bound on the number of graphs = 10512\\
Number of generated graphs = 2\\
Total time : 34.1s.}
\end{oframed}

\begin{oframed}
{\bf Contents of the file output.sdf}\\\\
{1                                                                          \\
BH-2L                                                                      \\
BH-2L                                                                      \\
 45 45  0  0  0  0  0  0  0  0999 V2000                                    \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
  1  9  1  0  0  0  0                                                      \\
  1 27  1  0  0  0  0                                                      \\
  2  3  1  0  0  0  0                                                      \\
  2  9  1  0  0  0  0                                                      \\
  2 13  1  0  0  0  0                                                      \\
  3  4  1  0  0  0  0                                                      \\
  4  5  1  0  0  0  0                                                      \\
  5  6  1  0  0  0  0                                                      \\
  6  7  1  0  0  0  0                                                      \\
  6  8  2  0  0  0  0                                                      \\
  9 10  1  0  0  0  0                                                      \\
 10 11  1  0  0  0  0                                                      \\
 10 12  1  0  0  0  0                                                      \\
 13 14  1  0  0  0  0                                                      \\
 13 21  1  0  0  0  0                                                      \\
 14 15  2  0  0  0  0                                                      \\
 14 16  1  0  0  0  0                                                      \\
 16 17  2  0  0  0  0                                                      \\
 16 18  1  0  0  0  0                                                      \\
 18 19  1  0  0  0  0                                                      \\
 19 20  1  0  0  0  0                                                      \\
 21 22  1  0  0  0  0                                                      \\
 21 23  1  0  0  0  0                                                      \\
 23 24  1  0  0  0  0                                                      \\
 23 25  1  0  0  0  0                                                      \\
 25 26  1  0  0  0  0                                                      \\
 25 27  1  0  0  0  0                                                      \\
 27 28  1  0  0  0  0                                                      \\
 28 29  1  0  0  0  0                                                      \\
 29 30  1  0  0  0  0                                                      \\
 29 33  1  0  0  0  0                                                      \\
 30 31  1  0  0  0  0                                                      \\
 30 32  1  0  0  0  0                                                      \\
 33 34  1  0  0  0  0                                                      \\
 33 35  1  0  0  0  0                                                      \\
 35 36  2  0  0  0  0                                                      \\
 35 37  1  0  0  0  0                                                      \\
 37 38  1  0  0  0  0                                                      \\
 38 39  2  0  0  0  0                                                      \\
 38 40  1  0  0  0  0                                                      \\
 40 41  1  0  0  0  0                                                      \\
 41 42  1  0  0  0  0                                                      \\
 42 43  1  0  0  0  0                                                      \\
 43 44  1  0  0  0  0                                                      \\
 43 45  2  0  0  0  0                                                      \\
M  END                                                                     \\
\$\$\$\$                                                                       \\
2                                                                          \\
BH-2L                                                                      \\
BH-2L                                                                      \\
 46 46  0  0  0  0  0  0  0  0999 V2000                                    \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  N  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  C  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
    0.0000    0.0000    0.0000  O  0  0  0  0  0  0  0  0  0  0  0  0      \\
  1  9  1  0  0  0  0                                                      \\
  1 28  1  0  0  0  0                                                      \\
  2  3  1  0  0  0  0                                                      \\
  2  9  1  0  0  0  0                                                      \\
  2 13  1  0  0  0  0                                                      \\
  3  4  1  0  0  0  0                                                      \\
  4  5  1  0  0  0  0                                                      \\
  5  6  1  0  0  0  0                                                      \\
  6  7  1  0  0  0  0                                                      \\
  6  8  2  0  0  0  0                                                      \\
  9 10  1  0  0  0  0                                                      \\
 10 11  1  0  0  0  0                                                      \\
 10 12  1  0  0  0  0                                                      \\
 13 14  1  0  0  0  0                                                      \\
 13 21  1  0  0  0  0                                                      \\
 14 15  2  0  0  0  0                                                      \\
 14 16  1  0  0  0  0                                                      \\
 16 17  2  0  0  0  0                                                      \\
 16 18  1  0  0  0  0                                                      \\
 18 19  1  0  0  0  0                                                      \\
 19 20  1  0  0  0  0                                                      \\
 21 22  1  0  0  0  0                                                      \\
 21 23  1  0  0  0  0                                                      \\
 23 24  1  0  0  0  0                                                      \\
 23 25  1  0  0  0  0                                                      \\
 25 26  1  0  0  0  0                                                      \\
 25 28  1  0  0  0  0                                                      \\
 26 27  1  0  0  0  0                                                      \\
 28 29  1  0  0  0  0                                                      \\
 29 30  1  0  0  0  0                                                      \\
 30 31  1  0  0  0  0                                                      \\
 30 32  1  0  0  0  0                                                      \\
 32 33  1  0  0  0  0                                                      \\
 32 34  1  0  0  0  0                                                      \\
 34 35  1  0  0  0  0                                                      \\
 34 38  1  0  0  0  0                                                      \\
 35 36  1  0  0  0  0                                                      \\
 35 37  1  0  0  0  0                                                      \\
 38 39  1  0  0  0  0                                                      \\
 39 40  2  0  0  0  0                                                      \\
 39 41  1  0  0  0  0                                                      \\
 41 42  1  0  0  0  0                                                      \\
 42 43  1  0  0  0  0                                                      \\
 43 44  1  0  0  0  0                                                      \\
 44 45  1  0  0  0  0                                                      \\
 44 46  2  0  0  0  0                                                      \\
M  END                                                                     \\
\$\$\$\$                                                                                \\ }
\end{oframed}
\addcontentsline{toc}{section}{\refname}
\begin{thebibliography}{10}
	\bibitem{branch}
	  Y.~Shi, J.~Zhu, N.~ A.~Azam, K.~Haraguchi,
	  L.~Zhao, H.~Nagamochi, and T.~Akutsu.
	  A two-layered model for inferring chemical
compounds with integer programming,
	  J.~Mol. Sci. [submitted].
\end{thebibliography}

\end{document}