diff --git a/.circleci/config.yml b/.circleci/config.yml
index 4d13639..31935f1 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -2,7 +2,7 @@ version: 2 # use CircleCI 2.0
jobs: # A basic unit of work in a run
build: # runs not using Workflows must have a `build` job as entry point
# directory where steps are run
- working_directory: ~/template_python_project
+ working_directory: ~/hgn
docker: # run the steps with Docker
# CircleCI Python images available at: https://hub.docker.com/r/circleci/python/
- image: circleci/python:3.6.9
diff --git a/.gitignore b/.gitignore
index fb99f0a..c1d55a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -130,4 +130,10 @@ dmypy.json
# PyCharm
/.idea
-/tests/test_data/test_dropbox_cloudstore/*.txt
+
+# Custom
+/data/checkpoints/*
+/data/csv_data/*
+/data/dataframes/*
+/data/plots/*
+/data/spark-warehouse/*
diff --git a/Procfile b/Procfile
deleted file mode 100644
index c889269..0000000
--- a/Procfile
+++ /dev/null
@@ -1,4 +0,0 @@
-make_help: make help
-make_tests: make run_tests
-main_help: python main.py --help
-main: python main.py -m run_mode_1 -c confs/template_conf.yml -l logs/output.log
diff --git a/README.md b/README.md
index 6074d99..fe4cb60 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# Template Python Project
-[![CircleCI](https://circleci.com/gh/drkostas/template_python_project/tree/master.svg?style=svg)](https://circleci.com/gh/drkostas/template_python_project/tree/master)
-[![GitHub license](https://img.shields.io/badge/license-GNU-blue.svg)](https://raw.githubusercontent.com/drkostas/template_python_project/master/LICENSE)
+[![CircleCI](https://circleci.com/gh/drkostas/HGN/tree/master.svg?style=svg)](https://circleci.com/gh/drkostas/HGN/tree/master)
+[![GitHub license](https://img.shields.io/badge/license-GNU-blue.svg)](https://raw.githubusercontent.com/drkostas/HGN/master/LICENSE)
## Table of Contents
+ [About](#about)
@@ -24,9 +24,18 @@
+ [Acknowledgments](#acknowledgments)
## About
-This is a template repository for python projects.
-
-This README serves as a template too. Feel free to modify it until it describes your project.
+Code for the paper "[A Distributed Hybrid Community Detection Methodology for Social Networks.](https://www.mdpi.com/1999-4893/12/8/175)"
+
+The proposed methodology is an iterative, divisive community detection process that combines the network topology features
+of loose similarity and local edge betweenness measure, along with the user content information in order to remove the
+inter-connection edges and thus unravel the subjacent community structure. Even if this iterative process might sound
+computationally over-demanding, its application is certainly not prohibitive, since it can be safely concluded
+from the experimentation results that the aforementioned measures are that well-informative and highly representative,
+so merely few iterations are required to converge to the final community hierarchy at any case.
+
+Implementation last tested with [Python 3.6](https://www.python.org/downloads/release/python-36),
+[Apache Spark 2.4.5](https://spark.apache.org/docs/2.4.5/)
+and [GraphFrames 0.8.0](https://github.com/graphframes/graphframes/tree/v0.8.0)
## Getting Started
@@ -36,7 +45,8 @@ and testing purposes. See deployment for notes on how to deploy the project on a
### Prerequisites
-You need to have a machine with Python > 3.6 and any Bash based shell (e.g. zsh) installed.
+You need to have a machine with Python = 3.6, Apache Spark = 2.4.5, GraphFrames = 0.8.0
+and any Bash based shell (e.g. zsh) installed. For Apache Spark = 2.4.5 you will also need Java 8.
```
@@ -47,31 +57,34 @@ echo $SHELL
/usr/bin/zsh
```
-You will also need to setup the following:
-- Gmail: An application-specific password for your Google account.
-[Reference 1](https://support.google.com/mail/?p=InvalidSecondFactor),
-[Reference 2](https://security.google.com/settings/security/apppasswords)
-- Dropbox: An Api key for your Dropbox account.
-[Reference 1](http://99rabbits.com/get-dropbox-access-token/),
-[Reference 2](https://dropbox.tech/developers/generate-an-access-token-for-your-own-account)
-- MySql: If you haven't any, you can create a free one on Amazon RDS.
-[Reference 1](https://aws.amazon.com/rds/free/),
-[Reference 2](https://bigdataenthusiast.wordpress.com/2016/03/05/aws-rds-instance-setup-oracle-db-on-cloud-free-tier/)
-
-
### Set the required environment variables
In order to run the [main.py](main.py) or the tests you will need to set the following
-environmental variables in your system:
+environmental variables in your system (or in the [spark.env file](spark.env)):
```bash
-$ export DROPBOX_API_KEY=
-$ export MYSQL_HOST=
-$ export MYSQL_USERNAME=
-$ export MYSQL_PASSWORD=
-$ export MYSQL_DB_NAME=
-$ export EMAIL_ADDRESS=
-$ export GMAIL_API_KEY=
+$ export SPARK_HOME=""
+$ export PYSPARK_SUBMIT_ARGS="--packages graphframes:graphframes:0.8.0-spark2.4-s_2.11 pyspark-shell"
+$ export JAVA_HOME=""
+
+$ cd $SPARK_HOME
+
+/usr/local/spark
+$ ./bin/pyspark --version
+Welcome to
+ ____ __
+ / __/__ ___ _____/ /__
+ _\ \/ _ \/ _ `/ __/ '_/
+ /___/ .__/\_,_/_/ /_/\_\ version 2.4.5
+ /_/
+
+Using Scala version 2.11.12, OpenJDK 64-Bit Server VM, 1.8.0_252
+Branch HEAD
+Compiled by user centos on 2020-02-02T19:38:06Z
+Revision cee4ecbb16917fa85f02c635925e2687400aa56b
+Url https://gitbox.apache.org/repos/asf/spark.git
+Type --help for more information.
+
```
## Installing, Testing, Building
@@ -123,24 +136,24 @@ make help
```bash
$ make clean server=local
make delete_venv
-make[1]: Entering directory '/home/drkostas/Projects/template_python_project'
+make[1]: Entering directory '/home/drkostas/Projects/HGN'
Deleting venv..
rm -rf venv
-make[1]: Leaving directory '/home/drkostas/Projects/template_python_project'
+make[1]: Leaving directory '/home/drkostas/Projects/HGN'
make clean_pyc
-make[1]: Entering directory '/home/drkostas/Projects/template_python_project'
+make[1]: Entering directory '/home/drkostas/Projects/HGN'
Cleaning pyc files..
find . -name '*.pyc' -delete
find . -name '*.pyo' -delete
find . -name '*~' -delete
-make[1]: Leaving directory '/home/drkostas/Projects/template_python_project'
+make[1]: Leaving directory '/home/drkostas/Projects/HGN'
make clean_build
-make[1]: Entering directory '/home/drkostas/Projects/template_python_project'
+make[1]: Entering directory '/home/drkostas/Projects/HGN'
Cleaning build directories..
rm --force --recursive build/
rm --force --recursive dist/
rm --force --recursive *.egg-info
-make[1]: Leaving directory '/home/drkostas/Projects/template_python_project'
+make[1]: Leaving directory '/home/drkostas/Projects/HGN'
```
@@ -183,35 +196,91 @@ running install
## Running the code locally
-In order to run the code now, you will only need to change the yml file if you need to
-and run either the main or the created console script.
+In order to run the code now, you should place under the [data/input_graphs](data/input_graphs) the graph you
+want the communities to be identified from.
+You will also only need to create a yml file for any new graph before executing the [main.py](main.py).
### Modifying the Configuration
-There is an already configured yml file under [confs/template_conf.yml](confs/template_conf.yml) with the following structure:
+There two already configured yml files: [confs/quakers.yml](confs/quakers.yml)
+and [confs/hamsterster.yml](confs/hamsterster.yml) with the following structure:
```yaml
-tag: production
-cloudstore:
- config:
- api_key: !ENV ${DROPBOX_API_KEY}
- type: dropbox
-datastore:
- config:
- hostname: !ENV ${MYSQL_HOST}
- username: !ENV ${MYSQL_USERNAME}
- password: !ENV ${MYSQL_PASSWORD}
- db_name: !ENV ${MYSQL_DB_NAME}
- port: 3306
- type: mysql
-email_app:
- config:
- email_address: !ENV ${EMAIL_ADDRESS}
- api_key: !ENV ${GMAIL_API_KEY}
- type: gmail
+tag: dev # Required
+spark:
+ - config: # The spark settings
+ spark.master: local[*] # Required
+ spark.submit.deployMode: client # Required
+ spark_warehouse_folder: data/spark-warehouse # Required
+ spark.ui.port: 4040
+ spark.driver.cores: 5
+ spark.driver.memory: 8g
+ spark.driver.memoryOverhead: 4096
+ spark.driver.maxResultSize: 0
+ spark.executor.instances: 2
+ spark.executor.cores: 3
+ spark.executor.memory: 4g
+ spark.executor.memoryOverhead: 4096
+ spark.sql.broadcastTimeout: 3600
+ spark.sql.autoBroadcastJoinThreshold: -1
+ spark.sql.shuffle.partitions: 4
+ spark.default.parallelism: 4
+ spark.network.timeout: 3600s
+ dirs:
+ df_data_folder: data/dataframes # Folder to store the DataFrames as parquets
+ spark_warehouse_folder: data/spark-warehouse
+ checkpoints_folder: data/checkpoints
+ communities_csv_folder: data/csv_data # Folder to save the computed communities as csvs
+input:
+ - config: # All properties required
+ name: Quakers
+ nodes:
+ path: data/input_graphs/Quakers/quakers_nodelist.csv2 # Path to the nodes file
+ has_header: true # Whether they have a header with the attribute names
+ delimiter: ','
+ encoding: ISO-8859-1
+ feature_names: # You can rename the attribute names (the number should be the same as the original)
+ - id
+ - Historical_Significance
+ - Gender
+ - Birthdate
+ - Deathdate
+ - internal_id
+ edges:
+ path: data/input_graphs/Quakers/quakers_edgelist.csv2 # Path to the edges file
+ has_header: true # Whether they have a header with the source and dest
+ has_weights: false # Whether they have a weight column
+ delimiter: ','
+ type: local
+run_options: # All properties required
+ - config:
+ cached_init_step: false # Whether the cosine similarities and edge_betweenness been already been computed
+ # See the paper for info regarding the following attributes
+ feature_min_avg: 0.33
+ r_lvl1_thres: 0.50
+ r_lvl2_thres: 0.85
+ max_edge_weight: 0.50
+ betweenness_thres: 10
+ max_sp_length: 2
+ min_comp_size: 2
+ max_steps: 30 # Max steps for the algorithm to run if it doesn't converge
+ features_to_check: # Which attributes to take into consideration for the cosine similarities
+ - id
+ - Gender
+output: # All properties required
+ - config:
+ logs_folder: data/logs
+ save_communities_to_csvs: false # Whether to save the computed communities in csvs or not
+ visualizer:
+ dimensions: 3 # Dimensions of the scatter plot (2 or 3)
+ save_img: true
+ folder: data/plots
+ steps: # The steps to plot
+ - 0 # The step before entering the main loop
+ - -1 # The Last step
```
-The `!ENV` flag indicates that a environmental value follows.
+The `!ENV` flag indicates that a environmental value follows. For example you can set:
`logs_folder: !ENV ${LOGS_FOLDER}`
You can change the values/environmental var names as you wish.
If a yaml variable name is changed/added/deleted, the corresponding changes should be reflected
on the [Configuration class](configuration/configuration.py) and the [yml_schema.json](configuration/yml_schema.json) too.
@@ -223,59 +292,55 @@ First, make sure you are in the created virtual environment:
```bash
$ source venv/bin/activate
(venv)
-OneDrive/Projects/template_python_project dev
+OneDrive/Projects/HGN dev
$ which python
-/home/drkostas/Projects/template_python_project/venv/bin/python
+/home/drkostas/Projects/HGN/venv/bin/python
(venv)
```
-Now, in order to run the code you can either call the `main.py` directly, or the `template_python_project` console script.
+Now, in order to run the code you can either call the `main.py` directly, or the `HGN` console script.
```bash
-$ python main.py --help
-usage: main.py -m {run_mode_1,run_mode_2,run_mode_3} -c CONFIG_FILE [-l LOG]
- [-d] [-h]
+$ python main.py -h
+usage: main.py -c CONFIG_FILE [-d] [-h]
-A template for python projects.
+A Distributed Hybrid Community Detection Methodology for Social Networks.
-required arguments:
- -m {run_mode_1,run_mode_2,run_mode_3}, --run-mode {run_mode_1,run_mode_2,run_mode_3}
- Description of the run modes
+Required Arguments:
-c CONFIG_FILE, --config-file CONFIG_FILE
The configuration yml file
- -l LOG, --log LOG Name of the output log file
-optional arguments:
- -d, --debug enables the debug log messages
+Optional Arguments:
+ -d, --debug Enables the debug log messages
+ -h, --help Show this help message and exit
+
# Or
-$ template_python_project --help
-usage: template_python_project -m {run_mode_1,run_mode_2,run_mode_3} -c
- CONFIG_FILE [-l LOG] [-d] [-h]
+$ hgn --help
+usage: hgn -c CONFIG_FILE [-d] [-h]
-A template for python projects.
+A Distributed Hybrid Community Detection Methodology for Social Networks.
-required arguments:
- -m {run_mode_1,run_mode_2,run_mode_3}, --run-mode {run_mode_1,run_mode_2,run_mode_3}
- Description of the run modes
+Required Arguments:
-c CONFIG_FILE, --config-file CONFIG_FILE
The configuration yml file
- -l LOG, --log LOG Name of the output log file
-optional arguments:
- -d, --debug enables the debug log messages
+Optional Arguments:
+ -d, --debug Enables the debug log messages
-h, --help Show this help message and exit
+
```
## Deployment
-The deployment is being done to Heroku. For more information
-you can check the [setup guide](https://devcenter.heroku.com/articles/getting-started-with-python).
+It is recommended that you deploy the application to a Spark Cluster.
Please see:
+- [Spark Cluster Overview \[Apache Spark Docs\]](https://spark.apache.org/docs/latest/cluster-overview.html)
+- [Apache Spark on Multi Node Cluster \[Medium\]](https://medium.com/ymedialabs-innovation/apache-spark-on-a-multi-node-cluster-b75967c8cb2b)
+- [Databricks Cluster](https://docs.databricks.com/clusters/index.html)
+- [Flintrock \[Cheap & Easy EC2 Cluster\]](https://github.com/nchammas/flintrock)
-Make sure you check the defined [Procfile](Procfile) ([reference](https://devcenter.heroku.com/articles/getting-started-with-python#define-a-procfile))
-and that you set the [above-mentioned environmental variables](#env_variables) ([reference](https://devcenter.heroku.com/articles/config-vars)).
## Continuous Integration
@@ -291,17 +356,11 @@ Read the [TODO](TODO.md) to see the current task list.
## Built With
-* [Dropbox Python API](https://www.dropbox.com/developers/documentation/python) - Used for the Cloudstore Class
-* [Gmail Sender](https://github.com/paulc/gmail-sender) - Used for the EmailApp Class
-* [Heroku](https://www.heroku.com) - The deployment environment
+* [Apache Spark 2.4.5](https://spark.apache.org/docs/2.4.5/) - Fast and general-purpose cluster computing system
+* [GraphFrames 0.8.0](https://github.com/graphframes/graphframes/tree/v0.8.0) - A package for Apache Spark which provides DataFrame-based Graphs.
* [CircleCI](https://www.circleci.com/) - Continuous Integration service
## License
This project is licensed under the GNU License - see the [LICENSE](LICENSE) file for details.
-
-## Acknowledgments
-
-* Thanks το PurpleBooth for the [README template](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2)
-
diff --git a/TODO.md b/TODO.md
index 193a262..c1673f1 100644
--- a/TODO.md
+++ b/TODO.md
@@ -1,21 +1,11 @@
# TODO
-- [X] Argument Parser
-- [X] Logging
-- [X] Proper Configuration Class that handles env variables inside the yml
-- [X] Create Json schema for validating the yml configuration
-- [X] Dropbox/Cloudstore Class
-- [X] MySQL/Datastore Class
-- [X] Create README template
-- [X] Generate requirements.txt
-- [X] UnitTests for the current classes
-- [X] Sample setup file
-- [X] Makefile for installation and build
-- [X] Continuous integration
-- [X] Heroku Procfile
-- [X] Modify Readme to match the instruction for this project
-- [X] Gmail Class
-- [X] Support multiple occurrences in config
-- [ ] Kafka Class
-- [ ] MongoDB/Datastore Class
-- [ ] Amazon S3/Cloudstore CLass
-- [ ] Frontend
\ No newline at end of file
+- [X] Integrate old spark scripts
+- [X] Integrate old graph scripts
+- [X] Integrate old plotting scripts
+- [X] Integrate old config into the Configuration class
+- [X] Add ColorLogging
+- [X] Update requirements
+- [X] Check that current unit tests are working
+- [X] Fix README
+- [ ] Create unit tests for the HGN code
+- [ ] Add Metadata Class that stores step times into a database
\ No newline at end of file
diff --git a/cloudstore/abstract_cloudstore.py b/cloudstore/abstract_cloudstore.py
deleted file mode 100644
index d626230..0000000
--- a/cloudstore/abstract_cloudstore.py
+++ /dev/null
@@ -1,72 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class AbstractCloudstore(ABC):
- __slots__ = ('_handler',)
-
- @abstractmethod
- def __init__(self, *args, **kwargs) -> None:
- """
- Tha basic constructor. Creates a new instance of Cloudstore using the specified credentials
- """
-
- pass
-
- @staticmethod
- @abstractmethod
- def get_handler(*args, **kwargs):
- """
- Returns a Cloudstore handler.
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
-
- @abstractmethod
- def upload_file(self, *args, **kwargs):
- """
- Uploads a file to the Cloudstore
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
-
- @abstractmethod
- def download_file(self, *args, **kwargs):
- """
- Downloads a file from the Cloudstore
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
-
- @abstractmethod
- def delete_file(self, *args, **kwargs):
- """
- Deletes a file from the Cloudstore
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
-
- @abstractmethod
- def ls(self, *args, **kwargs):
- """
- List the files and folders in the Cloudstore
- :param args:
- :param kwargs:
- :return:
- """
- pass
diff --git a/cloudstore/dropbox_cloudstore.py b/cloudstore/dropbox_cloudstore.py
deleted file mode 100644
index 0453e8a..0000000
--- a/cloudstore/dropbox_cloudstore.py
+++ /dev/null
@@ -1,105 +0,0 @@
-from typing import Dict, Union
-import logging
-from dropbox import Dropbox, files, exceptions
-
-from .abstract_cloudstore import AbstractCloudstore
-
-logger = logging.getLogger('DropboxCloudstore')
-
-
-class DropboxCloudstore(AbstractCloudstore):
- __slots__ = '_handler'
-
- _handler: Dropbox
-
- def __init__(self, config: Dict) -> None:
- """
- The basic constructor. Creates a new instance of Cloudstore using the specified credentials
-
- :param config:
- """
-
- self._handler = self.get_handler(api_key=config['api_key'])
- super().__init__()
-
- @staticmethod
- def get_handler(api_key: str) -> Dropbox:
- """
- Returns a Cloudstore handler.
-
- :param api_key:
- :return:
- """
-
- dbx = Dropbox(api_key)
- return dbx
-
- def upload_file(self, file_bytes: bytes, upload_path: str, write_mode: str = 'overwrite') -> None:
- """
- Uploads a file to the Cloudstore
-
- :param file_bytes:
- :param upload_path:
- :param write_mode:
- :return:
- """
-
- # TODO: Add option to support FileStream, StringIO and FilePath
- try:
- logger.debug("Uploading file to path: %s" % upload_path)
- self._handler.files_upload(f=file_bytes, path=upload_path, mode=files.WriteMode(write_mode))
- except exceptions.ApiError as err:
- logger.error('API error: %s' % err)
-
- def download_file(self, frompath: str, tofile: str = None) -> Union[bytes, None]:
- """
- Downloads a file from the Cloudstore
-
- :param frompath:
- :param tofile:
- :return:
- """
-
- try:
- if tofile is not None:
- logger.debug("Downloading file from path: %s to path %s" % (frompath, tofile))
- self._handler.files_download_to_file(download_path=tofile, path=frompath)
- else:
- logger.debug("Downloading file from path: %s to variable" % frompath)
- md, res = self._handler.files_download(path=frompath)
- data = res.content # The bytes of the file
- return data
- except exceptions.HttpError as err:
- logger.error('HTTP error %s' % err)
- return None
-
- def delete_file(self, file_path: str) -> None:
- """
- Deletes a file from the Cloudstore
-
- :param file_path:
- :return:
- """
-
- try:
- logger.debug("Deleting file from path: %s" % file_path)
- self._handler.files_delete_v2(path=file_path)
- except exceptions.ApiError as err:
- logger.error('API error %s' % err)
-
- def ls(self, path: str = '') -> Dict:
- """
- List the files and folders in the Cloudstore
-
- :param path:
- :return:
- """
- try:
- files_list = self._handler.files_list_folder(path=path)
- files_dict = {}
- for entry in files_list.entries:
- files_dict[entry.name] = entry
- return files_dict
- except exceptions.ApiError as err:
- logger.error('Folder listing failed for %s -- assumed empty: %s' % (path, err))
- return {}
diff --git a/cloudstore/__init__.py b/color_log/__init__.py
similarity index 100%
rename from cloudstore/__init__.py
rename to color_log/__init__.py
diff --git a/color_log/color_log.py b/color_log/color_log.py
new file mode 100644
index 0000000..b42c67b
--- /dev/null
+++ b/color_log/color_log.py
@@ -0,0 +1,38 @@
+from typing import List
+import logging
+from termcolor import colored
+
+
+class ColorLog(object):
+ __slots__ = ('_log', '_color', '_attrs', 'debug', 'info', 'warn', 'warning',
+ 'error', 'exception', 'critical')
+
+ _log: logging.Logger
+ _color: str
+ _attrs: List
+
+ def __init__(self, logger: logging.Logger, color: str = None, attrs: List = None):
+ """
+ Args:
+ logger (logging.Logger):
+ color (str):
+ attrs (List):
+ """
+ self._log = logger
+ self._color = color if color else 'white'
+ self._attrs = attrs if attrs else ['bold']
+
+ def __getattr__(self, name: str):
+ """
+ Args:
+ name (str):
+ """
+ if name in ['debug', 'info', 'warn', 'warning',
+ 'error', 'exception', 'critical']:
+ return lambda s, *args: getattr(self._log, name)(
+ colored(s, color=self._color, attrs=self._attrs), *args)
+
+ return getattr(self._log, name)
+
+
+log = ColorLog(logging.getLogger(__name__))
diff --git a/configuration/configuration.py b/configuration/configuration.py
index 1f057b4..30d0712 100644
--- a/configuration/configuration.py
+++ b/configuration/configuration.py
@@ -12,26 +12,32 @@
class Configuration:
- __slots__ = ('config', 'config_path', 'datastore', 'cloudstore', 'email_app', 'tag')
+ """Handles the loading of the configuration settings from a yml file."""
+
+ __slots__ = ('config', 'config_path', 'datastore', 'spark', 'input', 'run_options', 'output', 'tag')
config: Dict
config_path: str
datastore: Dict
- cloudstore: Dict
- email_app: Dict
+ spark: Dict
+ input: Dict
+ run_options: Dict
+ output: Dict
tag: str
config_attributes: List = []
env_variable_tag: str = '!ENV'
env_variable_pattern: str = r'.*?\${(\w+)}.*?' # ${var}
def __init__(self, config_src: Union[TextIOWrapper, StringIO, str], config_schema_path: str = 'yml_schema.json'):
- """
- The basic constructor. Creates a new instance of the Configuration class.
+ """The basic constructor. Creates a new instance of the Configuration
+ class.
- :param config_src:
- :param config_schema_path:
+ Args:
+ config_src:
+ config_schema_path (str):
"""
+ logger.info("Initializing Configuration..")
# Load the predefined schema of the configuration
configuration_schema = self.load_configuration_schema(config_schema_path=config_schema_path)
# Load the configuration
@@ -43,7 +49,7 @@ def __init__(self, config_src: Union[TextIOWrapper, StringIO, str], config_schem
validate_json_schema(self.config, configuration_schema)
# Set the config properties as instance attributes
self.tag = self.config['tag']
- all_config_attributes = ('datastore', 'cloudstore', 'email_app')
+ all_config_attributes = ('datastore', 'spark', 'input', 'run_options', 'output')
for config_attribute in all_config_attributes:
if config_attribute in self.config.keys():
setattr(self, config_attribute, self.config[config_attribute])
@@ -53,12 +59,21 @@ def __init__(self, config_src: Union[TextIOWrapper, StringIO, str], config_schem
@staticmethod
def load_configuration_schema(config_schema_path: str) -> Dict:
+ """
+ Args:
+ config_schema_path (str):
+ """
with open('/'.join([os.path.dirname(os.path.realpath(__file__)), config_schema_path])) as f:
configuration_schema = json.load(f)
return configuration_schema
@staticmethod
def load_yml(config_src: Union[TextIOWrapper, StringIO, str], env_tag: str, env_pattern: str) -> Tuple[Dict, str]:
+ """
+ Loads a yml file.
+
+ """
+
pattern = re.compile(env_pattern)
loader = yaml.SafeLoader
loader.add_implicit_resolver(env_tag, pattern, None)
@@ -101,40 +116,60 @@ def constructor_env_variables(loader, node):
raise TypeError('Config file must be TextIOWrapper or path to a file')
return config, config_path
- def get_datastores(self) -> List:
+ def get_datastore_configs(self) -> List[Dict]:
+ """Returns the datastore configs."""
+
if 'datastore' in self.config_attributes:
return [sub_config['config'] for sub_config in self.datastore]
else:
raise ConfigurationError('Config property datastore not set!')
- def get_cloudstores(self) -> List:
- if 'cloudstore' in self.config_attributes:
- return [sub_config['config'] for sub_config in self.cloudstore]
+ def get_spark_configs(self) -> List[Dict]:
+ """Returns the input configs."""
+
+ if 'spark' in self.config_attributes:
+ return [sub_config for sub_config in self.spark]
else:
- raise ConfigurationError('Config property cloudstore not set!')
+ raise ConfigurationError('Config property spark not set!')
+
+ def get_input_configs(self) -> List[Dict]:
+ """Returns the input configs."""
- def get_email_apps(self) -> List:
- if 'email_app' in self.config_attributes:
- return [sub_config['config'] for sub_config in self.email_app]
+ if 'input' in self.config_attributes:
+ return [sub_config['config'] for sub_config in self.input]
else:
- raise ConfigurationError('Config property email_app not set!')
+ raise ConfigurationError('Config property input not set!')
- def to_yml(self, fn: Union[str, _io.TextIOWrapper], include_tag=False) -> None:
- """
- Writes the configuration to a stream. For example a file.
+ def get_run_options_configs(self) -> List[Dict]:
+ """Returns the run options configs"""
- :param fn:
- :param include_tag:
- :return: None
+ if 'run_options' in self.config_attributes:
+ return [sub_config['config'] for sub_config in self.run_options]
+ else:
+ raise ConfigurationError('Config property run_options not set!')
+
+ def get_output_configs(self) -> List[Dict]:
+ """Returns the output configs"""
+ if 'output' in self.config_attributes:
+ return [sub_config['config'] for sub_config in self.output]
+ else:
+ raise ConfigurationError('Config property output not set!')
+
+ def to_yml(self, fn: Union[str, _io.TextIOWrapper]) -> None:
+ """Writes the configuration to a stream. For example a file.
+
+ Args:
+ fn:
+
+ Returns:
+ None
"""
dict_conf = dict()
for config_attribute in self.config_attributes:
dict_conf[config_attribute] = getattr(self, config_attribute)
- if include_tag:
- dict_conf['tag'] = self.tag
-
+ dict_conf['tag'] = self.tag
if isinstance(fn, str):
with open(fn, 'w') as f:
yaml.dump(dict_conf, f, default_flow_style=False)
@@ -153,10 +188,18 @@ def to_json(self) -> Dict:
return dict_conf
def __getitem__(self, item):
+ """
+ Args:
+ item:
+ """
return self.__getattribute__(item)
class ConfigurationError(Exception):
def __init__(self, message):
# Call the base class constructor with the parameters it needs
+ """
+ Args:
+ message:
+ """
super().__init__(message)
diff --git a/configuration/yml_schema.json b/configuration/yml_schema.json
index 17ceb93..0639c04 100644
--- a/configuration/yml_schema.json
+++ b/configuration/yml_schema.json
@@ -8,11 +8,17 @@
"datastore": {
"$ref": "#/definitions/datastore"
},
- "cloudstore": {
- "$ref": "#/definitions/cloudstore"
+ "spark": {
+ "$ref": "#/definitions/spark"
},
- "email_app": {
- "$ref": "#/definitions/email_app"
+ "input": {
+ "$ref": "#/definitions/input"
+ },
+ "run_options": {
+ "$ref": "#/definitions/run_options"
+ },
+ "output": {
+ "$ref": "#/definitions/output"
}
},
"required": [
@@ -24,7 +30,6 @@
"items": {
"type": "object"
},
- "additionalProperties": false,
"required": [
"type",
"config"
@@ -39,7 +44,6 @@
},
"config": {
"type": "object",
- "additionalProperties": false,
"required": [
"hostname",
"username",
@@ -66,44 +70,65 @@
}
}
},
- "cloudstore": {
+ "spark": {
"type": "array",
"items": {
"type": "object"
},
- "additionalProperties": false,
"required": [
"config",
- "type"
+ "dirs"
],
"properties": {
- "type": {
- "type": "string",
- "enum": [
- "dropbox",
- "s3"
- ]
+ "dirs": {
+ "type": "object",
+ "required": [
+ "df_data_folder",
+ "spark_warehouse_folder",
+ "checkpoints_folder",
+ "communities_csv_folder"
+ ],
+ "properties": {
+ "df_data_folder": {
+ "type": "string"
+ },
+ "spark_warehouse_folder": {
+ "type": "string"
+ },
+ "checkpoints_folder": {
+ "type": "string"
+ },
+ "communities_csv_folder": {
+ "type": "string"
+ }
+ }
},
"config": {
"type": "object",
- "required": [
- "api_key"
+ "required": [
+ "spark.master",
+ "spark.submit.deployMode",
+ "spark_warehouse_folder"
],
"properties": {
- "api_key": {
+ "spark.master": {
+ "type": "string"
+ },
+ "spark.submit.deployMode": {
+ "type": "string"
+ },
+ "spark_warehouse_folder": {
"type": "string"
}
- },
- "additionalProperties": true
+ }
}
}
},
- "email_app": {
+ "input": {
"type": "array",
"items": {
"type": "object"
},
- "additionalProperties": false,
"required": [
"config",
"type"
@@ -112,28 +137,190 @@
"type": {
"type": "string",
"enum": [
- "gmail",
- "hotmail"
+ "local"
]
},
"config": {
"type": "object",
"required": [
- "email_address",
- "api_key"
+ "name",
+ "nodes",
+ "edges"
],
"properties": {
- "email_address": {
+ "name": {
"type": "string"
},
- "api_key": {
+ "nodes": {
+ "type": "object",
+ "required": [
+ "path",
+ "has_header",
+ "delimiter",
+ "encoding",
+ "feature_names"
+ ],
+ "properties": {
+ "path": {
+ "type": "string"
+ },
+ "has_header": {
+ "type": "boolean"
+ },
+ "delimiter": {
+ "type": "string"
+ },
+ "encoding": {
+ "type": "string"
+ },
+ "feature_names": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "edges": {
+ "type": "object",
+ "required": [
+ "path",
+ "has_header",
+ "delimiter",
+ "has_weights"
+ ],
+ "properties": {
+ "path": {
+ "type": "string"
+ },
+ "has_header": {
+ "type": "boolean"
+ },
+ "delimiter": {
+ "type": "string"
+ },
+ "has_weights": {
+ "type": "boolean"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "run_options": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "required": [
+ "config"
+ ],
+ "properties": {
+ "config": {
+ "type": "object",
+ "required": [
+ "cached_init_step",
+ "feature_min_avg",
+ "r_lvl1_thres",
+ "r_lvl2_thres",
+ "max_edge_weight",
+ "betweenness_thres",
+ "max_sp_length",
+ "min_comp_size",
+ "max_steps",
+ "features_to_check"
+ ],
+ "properties": {
+ "cached_init_step": {
+ "type": "boolean"
+ },
+ "feature_min_avg": {
+ "type": "number"
+ },
+ "r_lvl1_thres": {
+ "type": "number"
+ },
+ "r_lvl2_thres": {
+ "type": "number"
+ },
+ "max_edge_weight": {
+ "type": "number"
+ },
+ "betweenness_thres": {
+ "type": "number"
+ },
+ "max_sp_length": {
+ "type": "integer"
+ },
+ "min_comp_size": {
+ "type": "integer"
+ },
+ "max_steps": {
+ "type": "integer"
+ },
+ "features_to_check": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "output": {
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "required": [
+ "config"
+ ],
+ "properties": {
+ "config": {
+ "type": "object",
+ "required": [
+ "logs_folder",
+ "save_communities_to_csvs",
+ "visualizer"
+ ],
+ "properties": {
+ "logs_folder": {
"type": "string"
+ },
+ "save_communities_to_csvs": {
+ "type": "boolean"
+ },
+ "visualizer": {
+ "type": "object",
+ "required": [
+ "dimensions",
+ "save_img",
+ "folder",
+ "steps"
+ ],
+ "properties": {
+ "dimensions": {
+ "type": "integer"
+ },
+ "save_img": {
+ "type": "boolean"
+ },
+ "folder": {
+ "type": "string"
+ },
+ "steps": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
}
- },
- "additionalProperties": true
+ }
}
}
}
- },
- "additionalProperties": false
+ }
}
\ No newline at end of file
diff --git a/confs/hamsterster.yml b/confs/hamsterster.yml
new file mode 100644
index 0000000..3ee9246
--- /dev/null
+++ b/confs/hamsterster.yml
@@ -0,0 +1,86 @@
+tag: dev # Required
+#datastore: # All properties required
+# - config:
+# hostname: !ENV ${MYSQL_HOST}
+# username: !ENV ${MYSQL_USERNAME}
+# password: !ENV ${MYSQL_PASSWORD}
+# db_name: !ENV ${MYSQL_DB_NAME}
+# port: 3306
+# type: mysql
+spark:
+ - config:
+ spark.master: local[*] # Required
+ spark.submit.deployMode: client # Required
+ spark_warehouse_folder: data/spark-warehouse # Required
+ spark.ui.port: 4040
+ spark.driver.cores: 5
+ spark.driver.memory: 8g
+ spark.driver.memoryOverhead: 4096
+ spark.driver.maxResultSize: 0
+ spark.executor.instances: 2
+ spark.executor.cores: 3
+ spark.executor.memory: 4g
+ spark.executor.memoryOverhead: 4096
+ spark.sql.broadcastTimeout: 3600
+ spark.sql.autoBroadcastJoinThreshold: -1
+ spark.sql.shuffle.partitions: 4
+ spark.default.parallelism: 4
+ spark.network.timeout: 3600s
+ dirs:
+ df_data_folder: data/dataframes
+ spark_warehouse_folder: data/spark-warehouse
+ checkpoints_folder: data/checkpoints
+ communities_csv_folder: data/csv_data
+input: # All properties required
+ - config:
+ name: Hamsterster
+ nodes:
+ path: data/input_graphs/Hamsterster/nodes
+ has_header: true
+ delimiter: '|'
+ encoding: ISO-8859-1
+ feature_names: # You can set custom names here
+ - id
+ - name
+ - joined
+ - species
+ - coloring
+ - gender
+ - birthday
+ - age
+ - hometown
+ - favorite_toy
+ - favorite_activity
+ - favorite_foo
+ edges:
+ path: data/input_graphs/Hamsterster/edges
+ has_header: true
+ has_weights: false
+ delimiter: ' '
+ type: local
+run_options: # All properties required
+ - config:
+ feature_min_avg: 0.33
+ r_lvl1_thres: 0.50
+ r_lvl2_thres: 0.85
+ max_edge_weight: 0.50
+ betweenness_thres: 10
+ max_sp_length: 2
+ min_comp_size: 100
+ max_steps: 5000
+ features_to_check:
+ - id
+ - species
+ - coloring
+ - hometown
+output: # All properties required
+ - config:
+ logs_folder: data/logs
+ plots_folder: data/plots
+ cached_init_step: false
+ save_communities_to_csvs: false
+ plot_steps:
+# - 0
+ -
+ -
+ - -1 # The Last step
\ No newline at end of file
diff --git a/confs/quakers.yml b/confs/quakers.yml
new file mode 100644
index 0000000..ae99a65
--- /dev/null
+++ b/confs/quakers.yml
@@ -0,0 +1,79 @@
+tag: dev # Required
+#datastore: # All properties required
+# - config:
+# hostname: !ENV ${MYSQL_HOST}
+# username: !ENV ${MYSQL_USERNAME}
+# password: !ENV ${MYSQL_PASSWORD}
+# db_name: !ENV ${MYSQL_DB_NAME}
+# port: 3306
+# type: mysql
+spark:
+ - config:
+ spark.master: local[*] # Required
+ spark.submit.deployMode: client # Required
+ spark_warehouse_folder: data/spark-warehouse # Required
+ spark.ui.port: 4040
+ spark.driver.cores: 5
+ spark.driver.memory: 8g
+ spark.driver.memoryOverhead: 4096
+ spark.driver.maxResultSize: 0
+ spark.executor.instances: 2
+ spark.executor.cores: 3
+ spark.executor.memory: 4g
+ spark.executor.memoryOverhead: 4096
+ spark.sql.broadcastTimeout: 3600
+ spark.sql.autoBroadcastJoinThreshold: -1
+ spark.sql.shuffle.partitions: 4
+ spark.default.parallelism: 4
+ spark.network.timeout: 3600s
+ dirs:
+ df_data_folder: data/dataframes
+ spark_warehouse_folder: data/spark-warehouse
+ checkpoints_folder: data/checkpoints
+ communities_csv_folder: data/csv_data
+input:
+ - config: # All properties required
+ name: Quakers
+ nodes:
+ path: data/input_graphs/Quakers/quakers_nodelist.csv2
+ has_header: true
+ delimiter: ','
+ encoding: ISO-8859-1
+ feature_names:
+ - id
+ - Historical_Significance
+ - Gender
+ - Birthdate
+ - Deathdate
+ - internal_id
+ edges:
+ path: data/input_graphs/Quakers/quakers_edgelist.csv2
+ has_header: true
+ has_weights: false
+ delimiter: ','
+ type: local
+run_options: # All properties required
+ - config:
+ cached_init_step: false
+ feature_min_avg: 0.33
+ r_lvl1_thres: 0.50
+ r_lvl2_thres: 0.85
+ max_edge_weight: 0.50
+ betweenness_thres: 10
+ max_sp_length: 2
+ min_comp_size: 2
+ max_steps: 30
+ features_to_check:
+ - id
+ - Gender
+output: # All properties required
+ - config:
+ logs_folder: data/logs
+ save_communities_to_csvs: false
+ visualizer:
+ dimensions: 3
+ save_img: true
+ folder: data/plots
+ steps:
+# - 0
+ - -1 # The Last step
\ No newline at end of file
diff --git a/confs/template_conf.yml b/confs/template_conf.yml
deleted file mode 100644
index 5deff53..0000000
--- a/confs/template_conf.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-tag: production
-cloudstore:
- - config:
- api_key: !ENV ${DROPBOX_API_KEY}
- type: dropbox
-datastore:
- - config:
- hostname: !ENV ${MYSQL_HOST}
- username: !ENV ${MYSQL_USERNAME}
- password: !ENV ${MYSQL_PASSWORD}
- db_name: !ENV ${MYSQL_DB_NAME}
- port: 3306
- type: mysql
-email_app:
- - config:
- email_address: !ENV ${EMAIL_ADDRESS}
- api_key: !ENV ${GMAIL_API_KEY}
- type: gmail
\ No newline at end of file
diff --git a/data/input_graphs/Hamsterster/README b/data/input_graphs/Hamsterster/README
new file mode 100644
index 0000000..37ab339
--- /dev/null
+++ b/data/input_graphs/Hamsterster/README
@@ -0,0 +1,50 @@
+Hamsterster friendships network, part of the Koblenz Network Collection
+===========================================================================
+
+This directory contains the TSV and related files of the petster-friendships-hamster network:
+
+This Network contains friendships between users of the website hamsterster.com.
+
+
+More information about the network is provided here:
+http://konect.uni-koblenz.de/networks/petster-friendships-hamster
+
+Files:
+ meta.petster-friendships-hamster -- Metadata about the network
+ out.petster-friendships-hamster -- The adjacency matrix of the network in space separated values format, with one edge per line
+ The meaning of the columns in out.petster-friendships-hamster are:
+ First column: ID of from node
+ Second column: ID of to node
+
+
+Complete documentation about the file format can be found in the KONECT
+handbook, in the section File Formats, available at:
+
+http://konect.uni-koblenz.de/publications
+
+All files are licensed under a Creative Commons Attribution-ShareAlike 2.0 Germany License.
+For more information concerning license visit http://konect.uni-koblenz.de/license.
+
+
+
+Use the following References for citation:
+
+@MISC{konect:2016:petster-friendships-hamster,
+ title = {Hamsterster friendships network dataset -- {KONECT}},
+ month = sep,
+ year = {2016},
+ url = {http://konect.uni-koblenz.de/networks/petster-friendships-hamster}
+}
+
+
+@inproceedings{konect,
+ title = {{KONECT} -- {The} {Koblenz} {Network} {Collection}},
+ author = {Jérôme Kunegis},
+ year = {2013},
+ booktitle = {Proc. Int. Conf. on World Wide Web Companion},
+ pages = {1343--1350},
+ url = {http://userpages.uni-koblenz.de/~kunegis/paper/kunegis-koblenz-network-collection.pdf},
+ url_presentation = {http://userpages.uni-koblenz.de/~kunegis/paper/kunegis-koblenz-network-collection.presentation.pdf},
+}
+
+
diff --git a/data/input_graphs/Hamsterster/edges b/data/input_graphs/Hamsterster/edges
new file mode 100644
index 0000000..082986d
--- /dev/null
+++ b/data/input_graphs/Hamsterster/edges
@@ -0,0 +1,12535 @@
+% sym unweighted
+99 98
+999 550
+999 42
+999 25
+998 996
+998 87
+998 467
+998 300
+998 299
+998 298
+998 297
+998 296
+998 169
+997 996
+997 87
+997 467
+997 300
+997 299
+997 298
+997 297
+997 296
+997 169
+996 354
+996 179
+995 543
+99 5
+994 992
+99 48
+994 790
+994 789
+994 788
+99 47
+99 46
+99 45
+99 44
+994 360
+994 359
+993 992
+993 420
+993 419
+993 296
+993 293
+993 292
+993 260
+993 136
+991 797
+991 362
+991 300
+991 299
+991 298
+991 297
+991 221
+991 140
+990 983
+990 797
+990 796
+990 362
+990 291
+990 245
+990 244
+990 221
+990 193
+990 140
+989 797
+989 397
+989 396
+989 3
+989 179
+989 178
+989 177
+989 176
+988 986
+988 888
+988 835
+988 795
+988 794
+988 793
+988 792
+988 791
+988 783
+988 782
+988 756
+988 582
+988 581
+988 557
+988 554
+988 54
+988 53
+988 466
+988 465
+988 439
+988 438
+988 376
+988 375
+988 356
+988 349
+988 348
+988 347
+988 346
+988 3
+988 251
+988 238
+988 237
+988 211
+988 178
+988 177
+988 176
+988 168
+988 149
+988 130
+988 129
+988 128
+988 127
+988 126
+988 102
+988 10
+987 986
+987 963
+987 603
+986 651
+986 111
+986 104
+985 984
+98 59
+98 58
+983 982
+983 981
+983 642
+983 485
+983 479
+983 334
+983 328
+983 281
+983 203
+983 198
+983 193
+983 176
+982 99
+982 981
+982 892
+982 891
+982 77
+982 76
+982 606
+982 48
+982 47
+982 46
+982 454
+982 45
+982 44
+982 296
+982 278
+982 255
+982 254
+982 253
+982 252
+982 251
+982 156
+982 137
+982 124
+982 123
+981 521
+981 48
+981 47
+981 46
+981 45
+981 44
+980 978
+979 978
+97 90
+977 607
+977 59
+977 58
+97 75
+97 74
+97 73
+977 26
+977 255
+977 254
+977 253
+977 252
+97 68
+97 67
+976 65
+97 64
+97 63
+976 260
+976 26
+975 447
+975 296
+975 278
+975 268
+975 26
+975 251
+975 230
+975 140
+975 124
+975 123
+974 897
+974 896
+974 26
+973 466
+973 465
+973 459
+973 458
+973 349
+973 348
+973 347
+973 346
+973 3
+973 26
+973 245
+973 244
+973 238
+973 237
+973 193
+973 178
+973 177
+973 176
+973 168
+973 137
+973 124
+973 123
+973 102
+973 10
+97 27
+97 23
+972 26
+972 175
+971 333
+971 26
+971 175
+971 169
+970 361
+970 333
+970 263
+970 26
+969 968
+969 26
+96 90
+968 579
+968 26
+96 75
+967 26
+966 918
+966 917
+966 916
+966 915
+966 914
+966 913
+96 68
+96 67
+96 64
+96 63
+965 918
+965 917
+965 916
+965 915
+965 914
+965 913
+965 68
+965 67
+965 3
+965 179
+965 178
+965 177
+965 176
+964 918
+964 917
+964 916
+964 915
+964 914
+964 913
+964 548
+964 547
+964 546
+963 918
+963 917
+963 916
+963 915
+963 914
+963 913
+963 548
+963 546
+962 961
+962 960
+96 27
+96 23
+961 960
+959 261
+95 90
+958 909
+958 243
+957 512
+957 329
+957 3
+957 179
+957 178
+957 177
+957 176
+957 137
+956 76
+956 608
+956 296
+956 260
+956 136
+955 651
+955 649
+955 586
+955 494
+955 493
+955 491
+955 237
+954 586
+954 47
+954 46
+954 45
+954 44
+953 951
+952 951
+951 871
+950 949
+94 90
+948 947
+948 140
+94 75
+946 293
+946 292
+945 943
+945 570
+945 477
+945 467
+945 334
+944 943
+942 939
+942 783
+942 782
+942 756
+942 624
+942 623
+942 59
+942 587
+942 58
+942 554
+942 552
+942 54
+942 53
+942 527
+942 526
+942 458
+942 375
+942 374
+942 238
+942 237
+942 168
+941 939
+941 783
+941 782
+941 66
+941 65
+941 554
+941 54
+941 53
+941 458
+941 375
+941 374
+941 238
+941 237
+941 102
+940 939
+940 783
+940 782
+940 752
+940 554
+940 54
+940 53
+940 458
+940 375
+940 374
+940 238
+940 237
+93 90
+938 934
+938 904
+938 563
+938 562
+938 54
+938 53
+938 110
+937 934
+937 904
+937 563
+93 75
+936 934
+936 102
+935 934
+934 904
+934 741
+934 70
+934 654
+934 460
+934 316
+934 104
+934 102
+933 48
+933 242
+933 117
+932 909
+932 888
+932 725
+932 644
+932 47
+932 460
+932 46
+932 45
+932 44
+932 276
+932 275
+932 274
+932 273
+932 242
+932 187
+932 158
+932 145
+932 144
+932 137
+932 136
+931 795
+931 794
+931 793
+931 792
+931 791
+931 752
+931 554
+931 529
+931 358
+931 349
+931 348
+931 347
+931 245
+931 244
+931 242
+931 168
+931 130
+931 129
+931 128
+931 127
+931 126
+931 102
+930 85
+930 8
+930 711
+930 621
+930 485
+930 439
+930 438
+930 378
+930 375
+930 251
+930 245
+930 244
+930 242
+930 241
+930 240
+930 238
+930 237
+930 211
+930 193
+930 168
+930 110
+930 102
+9 3
+929 750
+929 356
+929 242
+929 241
+929 240
+929 238
+929 237
+929 168
+929 110
+929 102
+92 90
+928 636
+928 356
+928 347
+928 346
+928 242
+928 241
+928 240
+928 238
+928 237
+928 110
+928 10
+92 75
+927 356
+927 347
+927 250
+927 245
+927 244
+927 242
+927 241
+927 240
+927 238
+927 237
+927 193
+927 168
+927 110
+927 102
+926 582
+926 581
+926 557
+926 242
+925 8
+925 711
+925 621
+925 439
+925 438
+925 378
+925 375
+925 349
+925 348
+925 347
+925 346
+925 242
+925 211
+925 10
+924 923
+923 911
+923 4
+923 325
+92 3
+922 575
+922 574
+922 573
+922 572
+922 265
+922 264
+922 259
+922 258
+921 265
+921 264
+920 767
+920 764
+920 48
+920 47
+920 46
+920 45
+920 44
+920 390
+920 383
+920 265
+920 264
+920 137
+920 135
+920 122
+919 636
+919 532
+919 531
+919 530
+919 265
+919 264
+919 263
+919 262
+91 90
+918 910
+918 65
+918 482
+918 17
+918 16
+918 15
+917 910
+917 65
+91 75
+917 482
+917 17
+917 16
+917 15
+916 910
+916 65
+916 482
+916 17
+916 16
+916 15
+915 910
+915 65
+915 482
+915 17
+915 16
+915 15
+914 910
+914 65
+914 482
+914 17
+914 16
+914 15
+913 910
+913 65
+913 482
+913 17
+913 16
+913 15
+91 3
+912 910
+912 833
+912 767
+912 76
+912 756
+912 731
+912 730
+912 629
+912 580
+912 515
+912 509
+912 48
+912 474
+912 47
+912 46
+912 45
+912 44
+912 359
+912 295
+912 281
+912 23
+912 188
+912 156
+912 149
+912 140
+912 122
+912 111
+911 99
+911 910
+911 888
+911 884
+911 883
+911 512
+911 502
+911 466
+911 465
+911 44
+911 329
+911 3
+911 256
+911 245
+911 244
+911 237
+911 193
+911 179
+911 178
+911 177
+911 176
+911 168
+911 137
+910 727
+910 5
+910 325
+910 324
+910 171
+910 170
+910 169
+910 11
+9 1
+909 888
+909 881
+909 841
+909 763
+909 751
+909 729
+909 677
+909 654
+909 438
+909 376
+909 374
+909 373
+909 356
+909 325
+909 238
+909 237
+909 211
+909 203
+909 178
+909 160
+909 135
+908 841
+908 459
+908 238
+908 237
+908 168
+907 841
+907 459
+907 238
+907 237
+907 168
+906 841
+906 730
+90 66
+90 65
+906 102
+905 841
+905 801
+905 751
+905 460
+905 45
+905 44
+904 841
+904 527
+904 484
+904 119
+903 841
+903 751
+903 730
+903 58
+903 515
+903 511
+903 510
+903 509
+903 25
+903 238
+903 237
+903 102
+902 52
+901 330
+900 80
+900 669
+900 606
+900 330
+900 145
+899 330
+899 145
+89 87
+898 330
+898 145
+897 9
+89 78
+897 47
+897 420
+897 419
+897 330
+897 193
+897 179
+897 176
+897 145
+896 9
+896 47
+896 330
+896 193
+896 179
+896 176
+896 145
+895 92
+895 91
+895 665
+895 664
+895 343
+895 342
+895 341
+895 340
+895 339
+895 338
+895 337
+895 336
+895 335
+895 334
+895 332
+895 331
+895 330
+895 329
+895 328
+895 323
+895 322
+895 321
+895 320
+895 319
+895 197
+895 188
+895 152
+895 145
+894 330
+894 145
+893 359
+893 330
+893 145
+89 3
+892 89
+892 711
+892 681
+892 649
+892 492
+892 491
+892 439
+892 378
+892 331
+892 137
+891 89
+891 711
+891 681
+891 649
+891 492
+891 491
+891 439
+891 378
+891 331
+891 137
+890 842
+890 763
+890 727
+890 681
+890 651
+890 579
+890 521
+890 484
+890 479
+890 420
+890 358
+890 26
+890 238
+890 237
+890 221
+890 169
+890 149
+890 145
+890 109
+889 842
+889 77
+889 763
+889 76
+889 727
+889 681
+889 651
+889 579
+889 484
+889 479
+889 420
+889 358
+889 251
+889 238
+889 237
+889 221
+889 169
+889 149
+889 145
+889 109
+888 9
+888 804
+888 763
+888 751
+888 738
+88 87
+888 681
+888 655
+888 652
+888 649
+888 644
+888 625
+888 614
+888 59
+888 58
+888 559
+888 515
+888 498
+888 493
+888 491
+888 479
+888 460
+888 46
+888 4
+888 385
+888 384
+888 373
+888 356
+888 351
+888 324
+888 295
+888 260
+888 257
+888 25
+888 247
+888 237
+888 23
+888 2
+888 190
+888 178
+888 177
+888 169
+888 159
+888 158
+888 143
+888 137
+888 122
+888 111
+88 78
+887 593
+886 885
+885 447
+885 230
+884 882
+884 805
+884 512
+884 5
+884 324
+884 168
+883 882
+883 805
+883 512
+883 5
+883 48
+883 47
+883 466
+883 465
+883 46
+883 45
+883 44
+883 324
+883 168
+882 48
+882 47
+882 46
+882 45
+882 44
+882 324
+881 880
+881 606
+881 296
+881 268
+881 171
+881 170
+881 169
+879 876
+879 651
+879 58
+879 511
+879 510
+879 509
+879 48
+879 47
+879 46
+879 45
+879 44
+878 877
+878 876
+878 55
+87 85
+87 83
+87 81
+87 79
+877 876
+87 78
+877 55
+876 58
+876 54
+876 53
+876 494
+876 493
+87 64
+876 379
+876 237
+875 45
+874 281
+873 869
+87 38
+87 37
+87 36
+87 35
+87 34
+87 33
+872 869
+871 869
+870 869
+868 554
+868 54
+868 53
+868 102
+86 78
+867 555
+867 25
+866 462
+866 461
+866 460
+866 459
+866 458
+866 45
+866 2
+866 118
+865 96
+865 66
+865 65
+864 863
+864 8
+864 70
+864 68
+864 67
+864 44
+864 237
+863 58
+863 263
+863 262
+862 860
+861 860
+860 790
+860 789
+860 788
+860 360
+860 359
+859 543
+858 543
+85 79
+857 856
+85 78
+857 300
+857 298
+856 542
+856 541
+85 64
+85 63
+855 110
+854 87
+854 828
+854 467
+854 169
+854 158
+853 87
+853 828
+853 467
+853 169
+853 158
+852 87
+852 828
+852 472
+852 467
+852 169
+852 158
+851 87
+851 828
+851 472
+851 467
+851 371
+851 169
+851 158
+850 87
+850 828
+850 472
+850 467
+850 300
+850 299
+850 298
+850 297
+850 251
+850 169
+850 158
+849 87
+849 828
+849 472
+849 467
+849 371
+849 169
+849 158
+848 87
+848 828
+848 472
+848 467
+848 371
+848 169
+848 158
+847 87
+847 828
+84 78
+847 472
+847 467
+847 169
+847 158
+846 834
+846 828
+846 492
+846 249
+846 248
+846 135
+845 844
+845 831
+845 828
+845 4
+845 333
+845 325
+845 26
+845 257
+845 249
+845 248
+845 153
+844 828
+844 658
+844 593
+844 579
+844 535
+844 515
+844 331
+844 330
+844 326
+844 296
+844 277
+844 256
+844 188
+844 156
+844 153
+844 11
+843 439
+843 438
+843 375
+843 211
+842 26
+842 236
+842 234
+842 233
+841 840
+841 801
+841 762
+841 751
+841 749
+841 726
+841 70
+841 52
+841 461
+841 460
+841 459
+841 45
+841 44
+841 356
+841 245
+841 244
+841 238
+841 237
+841 236
+841 234
+841 233
+841 195
+841 193
+841 119
+840 460
+840 45
+840 44
+840 356
+840 236
+840 234
+840 233
+839 238
+839 237
+839 236
+839 235
+839 234
+839 233
+838 238
+838 237
+838 236
+838 235
+838 234
+838 233
+83 78
+837 238
+837 237
+837 236
+837 235
+837 234
+837 233
+836 238
+836 237
+836 236
+836 235
+836 234
+836 233
+835 832
+835 727
+835 677
+835 515
+835 44
+835 420
+835 419
+835 380
+835 295
+835 277
+835 238
+835 237
+835 188
+835 169
+835 149
+835 111
+834 832
+834 727
+833 832
+833 728
+833 61
+833 586
+833 509
+833 48
+833 47
+833 46
+833 45
+833 44
+833 371
+833 316
+833 296
+833 261
+833 251
+833 171
+833 170
+832 511
+832 510
+832 509
+832 48
+832 47
+832 46
+832 45
+832 44
+832 295
+832 255
+832 254
+832 253
+832 252
+832 168
+832 111
+831 828
+831 827
+831 658
+831 593
+831 579
+831 535
+831 515
+831 371
+831 331
+831 330
+831 326
+831 296
+831 277
+831 256
+831 188
+831 168
+831 156
+831 153
+831 152
+831 137
+831 11
+830 827
+8 3
+829 827
+828 87
+828 827
+828 734
+828 605
+828 472
+828 471
+828 467
+828 4
+828 371
+828 333
+828 326
+828 325
+828 301
+828 277
+828 27
+828 255
+828 254
+828 253
+828 252
+828 249
+828 248
+828 225
+828 224
+828 210
+828 196
+828 169
+828 137
+827 87
+82 78
+827 467
+827 178
+827 169
+826 23
+825 85
+825 823
+825 454
+825 453
+825 397
+825 396
+825 137
+824 823
+824 80
+824 668
+824 629
+824 454
+824 453
+824 446
+824 331
+824 188
+824 137
+823 67
+823 137
+822 816
+822 401
+821 816
+821 401
+820 816
+820 401
+8 2
+819 85
+819 816
+819 397
+819 396
+819 137
+818 816
+817 816
+81 78
+816 472
+816 401
+816 400
+815 696
+815 695
+815 694
+815 693
+815 692
+815 691
+815 690
+815 687
+814 696
+814 695
+814 694
+814 693
+814 692
+814 691
+814 690
+814 687
+813 696
+813 695
+813 694
+813 693
+813 692
+813 691
+813 690
+813 687
+812 696
+812 695
+812 694
+812 693
+812 692
+812 691
+812 690
+812 687
+811 696
+811 695
+811 694
+811 693
+811 692
+811 691
+811 690
+811 687
+810 696
+810 695
+810 694
+810 693
+810 692
+810 691
+810 690
+810 687
+8 1
+809 696
+809 695
+809 694
+809 693
+809 692
+809 691
+809 690
+809 687
+808 696
+808 695
+808 694
+808 693
+808 692
+808 691
+808 690
+808 687
+807 99
+80 79
+80 78
+807 743
+807 742
+807 741
+807 740
+807 739
+807 738
+807 72
+807 70
+80 77
+80 76
+807 567
+807 460
+807 387
+807 260
+807 237
+807 177
+807 176
+806 62
+806 568
+806 567
+806 566
+806 565
+806 512
+806 48
+80 64
+80 63
+806 168
+806 136
+805 636
+805 568
+805 567
+805 566
+805 565
+805 512
+805 48
+804 743
+804 627
+804 626
+804 625
+804 567
+804 260
+804 23
+804 168
+804 150
+804 140
+803 568
+803 567
+803 566
+803 565
+803 512
+803 48
+803 168
+803 136
+802 568
+802 567
+802 566
+802 565
+802 512
+802 48
+801 800
+801 751
+801 460
+801 45
+801 44
+801 356
+801 237
+801 236
+801 234
+801 233
+801 111
+800 47
+800 466
+800 465
+800 46
+800 45
+800 44
+800 349
+800 348
+800 347
+800 346
+800 122
+800 121
+800 10
+799 635
+799 634
+799 633
+799 632
+799 631
+798 790
+798 789
+798 788
+798 635
+798 634
+798 633
+798 632
+798 631
+798 466
+798 465
+798 460
+798 360
+798 359
+798 167
+798 166
+798 165
+798 164
+798 163
+79 78
+797 68
+797 67
+797 65
+797 563
+797 449
+797 421
+797 420
+797 419
+797 385
+797 383
+797 260
+797 245
+797 23
+797 229
+797 204
+797 203
+797 145
+797 140
+796 85
+796 460
+796 373
+796 331
+796 293
+796 292
+796 277
+796 260
+796 255
+796 254
+796 253
+796 252
+796 251
+796 204
+796 203
+796 188
+796 153
+796 140
+795 642
+795 552
+795 479
+795 352
+795 351
+795 263
+795 204
+795 203
+795 151
+794 642
+794 552
+794 479
+794 352
+794 351
+794 263
+794 204
+794 203
+794 151
+793 642
+793 552
+793 479
+793 352
+793 351
+793 263
+793 204
+793 203
+793 151
+792 642
+792 552
+792 479
+792 352
+792 351
+792 263
+792 204
+792 203
+792 151
+791 642
+791 552
+791 479
+791 420
+791 419
+791 352
+791 351
+791 263
+791 204
+791 203
+791 151
+790 755
+790 754
+790 658
+790 515
+790 46
+790 404
+790 403
+790 402
+790 385
+790 384
+790 383
+790 373
+790 331
+790 330
+790 274
+790 273
+790 260
+790 23
+790 204
+790 203
+790 188
+789 755
+789 754
+789 658
+789 515
+789 46
+789 404
+789 403
+789 402
+789 385
+789 384
+789 383
+789 373
+789 331
+789 330
+789 274
+789 273
+789 260
+789 23
+789 204
+789 203
+789 188
+788 755
+788 754
+788 658
+788 515
+788 46
+788 404
+788 403
+788 402
+788 385
+788 384
+788 383
+788 373
+788 331
+788 330
+788 293
+788 274
+788 273
+788 260
+788 23
+788 204
+788 203
+788 188
+788 169
+788 140
+787 96
+787 786
+787 66
+787 65
+787 649
+787 542
+787 541
+787 540
+787 456
+787 300
+787 188
+786 456
+786 446
+786 222
+785 781
+784 781
+783 781
+783 726
+783 554
+783 552
+783 458
+783 377
+783 375
+783 374
+783 2
+782 781
+782 741
+782 740
+782 739
+782 738
+782 726
+782 582
+782 581
+782 557
+782 554
+782 552
+782 54
+782 53
+782 458
+782 387
+782 377
+782 375
+782 374
+782 3
+782 2
+782 178
+782 177
+782 176
+780 552
+780 316
+780 251
+780 162
+780 149
+780 137
+779 656
+779 654
+779 651
+779 593
+779 438
+779 418
+779 380
+779 358
+779 356
+779 238
+779 23
+779 168
+779 162
+779 118
+779 102
+778 278
+778 153
+778 123
+777 466
+777 465
+777 238
+777 237
+777 109
+777 108
+777 107
+777 106
+777 104
+777 103
+776 58
+776 487
+776 349
+776 348
+776 347
+776 346
+776 238
+776 237
+776 109
+776 108
+776 107
+776 106
+776 104
+776 103
+776 102
+776 10
+775 556
+775 511
+775 510
+775 509
+775 111
+775 109
+775 108
+775 107
+775 104
+775 103
+775 102
+774 636
+774 556
+774 466
+774 465
+774 26
+774 111
+774 109
+774 108
+774 107
+774 104
+774 103
+774 102
+773 8
+773 751
+773 729
+773 623
+773 585
+773 582
+773 581
+773 580
+773 561
+773 560
+773 559
+773 557
+773 556
+773 555
+773 554
+773 553
+773 552
+773 54
+773 53
+773 527
+773 50
+773 49
+773 458
+773 441
+773 44
+773 439
+773 438
+773 380
+773 375
+773 373
+773 357
+773 356
+773 323
+773 322
+773 321
+773 320
+773 241
+773 238
+773 237
+773 23
+773 211
+773 2
+773 197
+773 145
+773 119
+773 111
+773 109
+773 108
+773 107
+773 104
+773 103
+772 771
+772 64
+772 263
+77 21
+770 8
+770 711
+770 710
+770 677
+770 177
+769 8
+769 711
+769 710
+769 677
+769 177
+769 137
+768 761
+768 740
+768 724
+768 460
+768 387
+768 168
+768 157
+767 761
+767 418
+767 118
+767 117
+766 761
+766 753
+766 640
+766 639
+766 137
+766 118
+766 117
+765 761
+765 466
+765 465
+765 26
+765 118
+765 117
+764 761
+764 118
+764 117
+76 4
+763 761
+763 607
+763 356
+763 296
+763 238
+763 237
+763 168
+763 137
+763 118
+763 117
+763 110
+762 761
+762 459
+762 389
+762 238
+762 237
+762 168
+762 118
+762 117
+76 21
+761 89
+761 88
+761 87
+761 86
+761 85
+761 83
+761 82
+761 81
+761 80
+761 79
+761 70
+761 629
+761 59
+761 58
+761 579
+761 562
+761 52
+761 502
+761 484
+761 48
+761 47
+761 466
+761 465
+761 46
+761 45
+761 44
+761 411
+761 410
+761 371
+761 359
+761 330
+761 257
+761 237
+761 23
+761 178
+761 176
+761 145
+761 138
+760 96
+760 757
+760 66
+760 65
+760 209
+760 208
+759 757
+759 209
+759 208
+758 757
+758 209
+758 208
+757 482
+757 403
+757 402
+757 169
+756 621
+75 66
+756 525
+75 65
+756 47
+756 377
+756 375
+756 358
+756 157
+755 68
+755 67
+755 525
+755 373
+755 360
+755 359
+755 324
+755 260
+755 221
+754 68
+754 67
+754 525
+754 373
+754 360
+754 359
+754 324
+754 260
+754 221
+753 741
+753 740
+753 739
+753 525
+753 4
+753 261
+753 237
+753 211
+752 711
+752 525
+752 493
+752 484
+752 464
+752 444
+752 437
+752 351
+75 21
+75 20
+75 19
+75 18
+751 711
+75 17
+75 16
+751 525
+751 52
+75 15
+751 460
+751 458
+751 45
+751 44
+751 437
+75 14
+751 316
+75 13
+751 278
+751 238
+751 234
+751 233
+751 137
+751 136
+751 124
+751 123
+751 111
+751 102
+750 726
+750 649
+750 57
+750 525
+750 52
+750 438
+750 437
+750 238
+750 237
+750 102
+749 8
+749 582
+749 581
+749 557
+749 54
+749 53
+749 525
+749 52
+749 439
+749 438
+749 376
+749 375
+749 358
+749 348
+749 347
+749 346
+749 211
+749 166
+749 165
+749 164
+749 163
+749 119
+749 118
+749 117
+749 110
+749 10
+748 76
+748 747
+748 629
+748 359
+748 188
+748 140
+747 515
+747 474
+747 23
+746 744
+74 65
+745 744
+743 737
+743 626
+743 59
+743 580
+743 58
+743 567
+743 260
+743 150
+742 737
+742 711
+74 27
+742 627
+742 621
+742 484
+742 48
+742 47
+742 46
+742 45
+742 44
+742 439
+742 438
+742 260
+742 2
+742 144
+742 143
+74 21
+741 737
+741 594
+741 593
+741 550
+741 54
+741 53
+741 443
+741 316
+741 238
+741 237
+741 102
+740 737
+740 624
+740 623
+740 614
+740 613
+740 594
+740 593
+740 550
+740 54
+740 53
+740 529
+740 488
+740 443
+740 439
+740 438
+740 375
+740 3
+740 238
+740 237
+740 211
+740 178
+740 177
+740 176
+740 118
+740 117
+739 737
+739 511
+739 510
+739 509
+739 238
+739 237
+738 737
+738 238
+738 237
+737 99
+737 72
+737 70
+737 567
+737 460
+737 387
+737 260
+737 237
+737 177
+737 176
+736 95
+736 575
+736 574
+736 573
+736 572
+73 65
+736 495
+736 259
+736 258
+735 95
+735 575
+735 573
+735 572
+735 495
+735 259
+734 495
+734 460
+734 371
+734 26
+734 195
+734 137
+733 508
+733 507
+733 498
+733 497
+733 496
+733 495
+733 494
+733 493
+733 492
+733 491
+733 48
+733 47
+733 46
+733 45
+733 201
+73 27
+732 495
+73 21
+731 508
+731 507
+731 498
+731 497
+731 496
+731 495
+731 494
+731 493
+731 492
+731 491
+731 47
+731 458
+731 383
+731 347
+731 331
+731 260
+731 237
+731 23
+731 203
+731 170
+730 563
+730 562
+730 515
+730 508
+730 507
+730 498
+730 497
+730 496
+730 495
+730 494
+730 493
+730 492
+730 491
+730 474
+730 47
+730 458
+730 383
+730 347
+730 331
+730 263
+730 262
+730 260
+730 245
+730 244
+730 237
+730 23
+730 203
+730 193
+730 170
+729 677
+729 649
+729 508
+729 507
+729 498
+729 497
+729 496
+729 495
+729 494
+729 493
+729 492
+729 491
+729 211
+728 651
+728 649
+728 586
+728 508
+728 507
+728 498
+728 497
+728 496
+728 495
+728 494
+728 493
+728 492
+728 491
+728 295
+728 237
+728 111
+727 77
+727 76
+727 635
+727 634
+727 633
+727 632
+727 631
+727 610
+727 609
+727 607
+727 594
+727 593
+727 588
+727 587
+727 585
+727 579
+727 574
+727 573
+727 572
+727 56
+727 554
+727 552
+727 55
+727 54
+727 53
+727 511
+727 510
+727 509
+727 508
+727 507
+727 498
+727 497
+727 496
+727 495
+727 494
+727 493
+727 492
+727 491
+727 466
+727 465
+727 379
+727 358
+727 344
+727 335
+727 276
+727 275
+727 274
+727 273
+727 259
+727 258
+727 256
+727 255
+727 254
+727 253
+727 252
+727 245
+727 244
+727 238
+727 237
+727 175
+727 168
+727 160
+727 152
+727 140
+727 136
+727 129
+727 128
+727 127
+727 126
+727 121
+727 110
+727 102
+726 8
+72 68
+72 67
+726 624
+726 623
+726 587
+726 586
+726 582
+726 581
+726 557
+726 554
+726 54
+726 53
+726 520
+726 519
+726 518
+726 508
+726 507
+726 498
+726 497
+726 496
+726 495
+726 494
+726 493
+726 492
+726 491
+726 439
+726 438
+72 64
+726 376
+726 375
+726 356
+726 349
+726 348
+726 347
+726 346
+726 323
+726 322
+726 321
+726 320
+726 3
+72 63
+726 238
+726 237
+726 211
+726 197
+726 178
+726 177
+726 176
+726 168
+726 138
+726 137
+726 130
+726 129
+726 128
+726 127
+726 126
+726 10
+725 608
+725 543
+725 508
+725 507
+725 506
+725 505
+725 504
+725 498
+725 497
+725 496
+725 495
+725 494
+725 493
+725 492
+725 491
+725 490
+725 488
+725 484
+725 464
+725 356
+725 323
+725 322
+725 321
+725 320
+725 314
+725 3
+725 238
+725 237
+725 2
+725 197
+725 178
+725 177
+725 176
+725 168
+725 115
+725 111
+72 48
+72 47
+72 46
+724 508
+724 507
+72 45
+724 498
+724 497
+724 496
+724 495
+724 494
+724 493
+724 492
+724 491
+72 44
+724 255
+724 254
+724 253
+724 252
+724 25
+723 30
+723 29
+723 28
+723 27
+722 30
+722 29
+722 27
+722 23
+72 21
+721 30
+721 29
+721 28
+721 27
+721 23
+720 361
+720 30
+720 29
+720 28
+720 27
+720 26
+720 23
+719 30
+719 29
+719 28
+719 27
+719 26
+719 25
+719 24
+719 23
+718 30
+718 29
+718 27
+718 26
+718 25
+718 24
+718 23
+717 575
+717 574
+717 573
+717 572
+717 30
+717 29
+717 27
+717 26
+717 259
+717 258
+717 25
+717 24
+717 23
+71 64
+716 30
+71 63
+716 29
+716 28
+716 27
+716 26
+716 25
+716 24
+716 23
+716 15
+715 30
+715 29
+715 28
+715 27
+715 26
+715 25
+715 24
+715 23
+715 15
+714 44
+713 420
+713 419
+712 575
+712 574
+712 573
+712 572
+712 448
+712 369
+712 361
+712 293
+712 292
+712 259
+712 258
+71 21
+71 2
+711 709
+711 578
+711 554
+711 534
+711 533
+711 466
+711 464
+711 458
+711 371
+711 349
+711 348
+711 347
+711 346
+711 30
+711 3
+711 296
+711 278
+711 26
+711 255
+711 254
+711 253
+711 252
+711 245
+711 244
+711 243
+711 178
+711 177
+711 176
+711 168
+711 149
+711 140
+711 124
+711 123
+711 110
+711 10
+71 10
+710 709
+710 300
+710 299
+710 298
+710 297
+710 179
+710 177
+7 1
+709 8
+709 677
+709 177
+709 137
+708 102
+707 702
+707 296
+70 68
+706 702
+70 67
+70 64
+70 63
+706 296
+705 702
+705 296
+704 702
+704 296
+703 702
+703 296
+702 86
+702 662
+702 296
+702 229
+70 21
+70 2
+701 542
+701 541
+701 540
+701 539
+701 538
+701 537
+701 536
+701 456
+701 30
+701 29
+701 28
+701 278
+701 27
+701 26
+701 25
+701 24
+701 15
+701 124
+701 123
+70 10
+700 542
+700 541
+700 540
+700 539
+700 538
+700 537
+700 536
+700 456
+700 30
+700 29
+700 28
+700 278
+700 27
+700 124
+700 123
+699 542
+699 541
+699 540
+699 539
+699 538
+699 537
+699 536
+699 456
+699 30
+699 29
+699 28
+699 278
+699 27
+699 26
+699 25
+699 24
+699 23
+699 124
+699 123
+698 542
+698 541
+698 540
+698 539
+698 538
+698 537
+698 536
+698 456
+698 278
+698 124
+698 123
+697 542
+697 541
+697 540
+697 539
+697 538
+697 537
+697 536
+697 456
+697 278
+697 124
+697 123
+696 539
+696 538
+696 537
+696 536
+696 456
+69 64
+69 63
+696 278
+696 124
+696 123
+695 539
+695 538
+695 537
+695 536
+695 456
+695 278
+695 124
+695 123
+694 87
+694 539
+694 538
+694 537
+694 536
+694 467
+694 456
+694 278
+694 169
+694 124
+694 123
+693 87
+693 539
+693 538
+693 537
+693 536
+693 467
+693 456
+693 278
+693 169
+693 124
+693 123
+692 87
+692 606
+692 539
+692 538
+692 537
+692 536
+692 467
+692 456
+692 278
+692 169
+692 124
+692 123
+69 21
+69 2
+691 87
+691 686
+691 605
+691 539
+691 538
+691 537
+691 536
+691 467
+691 456
+691 278
+691 169
+691 124
+691 123
+69 10
+690 539
+690 538
+690 537
+690 536
+690 456
+690 278
+690 124
+690 123
+689 539
+689 538
+689 537
+689 536
+689 456
+689 278
+689 124
+689 123
+688 539
+688 538
+688 537
+688 536
+688 471
+688 456
+688 278
+688 124
+688 123
+687 539
+687 538
+687 537
+687 536
+687 456
+687 278
+687 124
+687 123
+68 66
+686 539
+686 538
+686 537
+686 536
+68 65
+686 470
+686 456
+686 40
+68 64
+68 63
+686 278
+686 188
+686 169
+686 124
+686 123
+685 539
+685 538
+685 537
+685 536
+685 456
+685 278
+685 124
+685 123
+684 87
+68 48
+68 47
+68 46
+684 539
+684 538
+684 537
+684 536
+68 45
+684 467
+684 456
+68 44
+684 278
+684 169
+684 124
+684 123
+683 539
+683 538
+683 537
+683 536
+683 535
+683 456
+683 278
+683 188
+683 153
+683 124
+683 123
+682 539
+682 538
+682 537
+682 536
+682 535
+682 456
+682 278
+682 255
+682 254
+682 253
+682 252
+682 188
+682 153
+682 124
+682 123
+68 21
+68 17
+681 680
+681 636
+681 605
+68 16
+681 543
+681 521
+681 515
+681 508
+681 507
+681 506
+681 505
+681 504
+681 503
+681 502
+681 501
+681 500
+68 15
+681 499
+681 498
+681 497
+681 496
+681 495
+681 494
+681 493
+681 492
+681 491
+681 490
+681 484
+681 464
+681 460
+681 356
+681 314
+681 3
+681 26
+681 238
+681 237
+681 2
+681 178
+681 177
+681 176
+681 137
+681 136
+681 120
+681 119
+681 115
+681 111
+681 110
+680 438
+680 378
+680 375
+679 137
+678 406
+678 405
+678 404
+678 403
+678 402
+678 401
+678 400
+678 399
+677 676
+677 608
+677 576
+677 488
+677 466
+677 465
+677 278
+677 124
+677 123
+67 66
+676 575
+676 574
+676 573
+676 572
+67 65
+67 64
+67 63
+676 259
+676 258
+676 251
+675 674
+675 356
+675 238
+675 237
+675 145
+675 126
+675 102
+67 48
+67 47
+67 46
+67 45
+67 44
+674 378
+674 377
+674 268
+674 257
+674 237
+674 111
+673 672
+673 416
+673 414
+673 413
+673 353
+673 350
+673 29
+673 137
+672 84
+672 416
+672 353
+672 350
+672 188
+67 21
+67 17
+671 621
+67 16
+67 15
+670 66
+670 65
+669 95
+669 94
+669 93
+669 92
+669 91
+669 87
+669 668
+669 667
+669 537
+669 536
+669 472
+669 471
+669 467
+669 446
+669 39
+669 35
+669 34
+669 33
+669 278
+669 169
+669 124
+669 123
+668 95
+668 94
+668 93
+668 92
+668 91
+668 80
+668 629
+668 475
+668 474
+668 300
+668 299
+668 298
+668 255
+668 254
+668 253
+668 252
+667 95
+667 94
+667 93
+667 92
+667 91
+667 80
+667 666
+667 629
+667 475
+667 474
+667 383
+667 331
+667 330
+667 23
+667 203
+667 20
+667 188
+667 145
+666 95
+666 94
+666 93
+666 92
+666 91
+666 629
+666 446
+66 64
+66 63
+665 95
+665 94
+665 93
+665 65
+665 575
+665 574
+665 573
+665 572
+665 507
+665 48
+665 47
+665 460
+665 46
+665 45
+665 44
+665 259
+665 258
+665 219
+665 157
+665 140
+664 95
+664 94
+664 93
+664 65
+664 579
+664 575
+664 574
+664 573
+664 572
+664 507
+664 48
+664 47
+664 460
+664 46
+664 45
+664 44
+664 259
+664 258
+664 219
+664 157
+663 94
+663 93
+663 92
+663 91
+663 263
+663 262
+66 27
+66 26
+662 428
+662 427
+662 426
+662 421
+662 420
+662 419
+66 23
+66 21
+66 2
+66 19
+661 87
+66 18
+66 17
+66 16
+66 15
+661 435
+661 434
+661 433
+661 432
+661 431
+661 430
+661 429
+661 428
+661 427
+661 426
+661 425
+661 424
+661 423
+660 87
+660 449
+660 448
+660 447
+660 446
+660 435
+660 434
+660 433
+660 432
+660 431
+660 430
+660 429
+660 428
+660 427
+660 426
+660 425
+660 424
+660 423
+660 230
+660 226
+659 87
+659 449
+659 447
+659 446
+659 435
+659 434
+659 433
+659 432
+659 431
+659 430
+659 429
+659 428
+659 427
+659 426
+659 425
+659 424
+659 423
+659 230
+659 226
+658 657
+658 650
+658 474
+658 371
+658 360
+658 359
+658 261
+658 188
+658 137
+657 515
+657 261
+657 256
+657 137
+656 642
+656 521
+656 512
+656 48
+656 47
+656 46
+656 45
+656 44
+65 64
+656 3
+65 63
+656 253
+656 252
+656 179
+656 178
+656 177
+656 176
+656 168
+656 161
+656 160
+655 263
+655 262
+655 238
+655 237
+655 161
+655 160
+655 101
+655 100
+654 62
+654 61
+654 251
+654 245
+654 244
+654 242
+654 241
+654 240
+654 238
+654 237
+654 193
+654 168
+654 161
+654 160
+654 137
+654 136
+654 110
+653 161
+653 160
+65 27
+65 26
+652 587
+652 582
+652 581
+652 557
+652 54
+652 53
+65 23
+652 245
+652 244
+652 238
+652 237
+652 193
+652 161
+652 160
+652 119
+652 118
+652 117
+65 21
+65 2
+65 19
+65 18
+65 17
+651 639
+651 636
+65 16
+651 565
+651 535
+651 516
+651 508
+651 507
+651 506
+651 505
+651 504
+651 503
+651 502
+651 501
+651 500
+65 15
+651 499
+651 498
+651 497
+651 496
+651 495
+651 494
+651 493
+651 492
+651 491
+651 490
+651 466
+651 465
+651 464
+651 379
+651 356
+651 314
+651 3
+651 296
+651 26
+651 251
+651 238
+651 237
+651 2
+651 178
+651 177
+651 176
+651 161
+651 160
+651 153
+651 137
+651 115
+651 111
+650 87
+650 515
+650 514
+650 513
+650 503
+650 502
+650 501
+650 500
+650 499
+650 467
+650 3
+650 245
+650 244
+650 193
+650 179
+650 178
+650 177
+650 176
+650 169
+650 168
+650 161
+650 160
+649 87
+649 85
+649 639
+649 635
+649 634
+649 633
+649 632
+649 631
+649 603
+649 579
+649 570
+649 567
+649 565
+649 543
+649 535
+649 508
+649 507
+649 506
+649 505
+649 504
+649 503
+649 502
+649 501
+649 500
+649 499
+649 498
+649 497
+649 496
+649 495
+649 494
+649 493
+649 492
+649 491
+649 490
+649 489
+649 488
+649 484
+649 467
+649 466
+649 465
+649 464
+649 356
+649 333
+649 314
+649 3
+649 281
+649 261
+649 245
+649 244
+649 238
+649 237
+649 2
+649 179
+649 178
+649 177
+649 176
+649 171
+649 170
+649 169
+649 168
+649 161
+649 160
+649 153
+649 137
+649 136
+649 120
+649 118
+649 117
+649 115
+649 111
+649 110
+649 11
+649 102
+648 647
+648 447
+648 237
+648 230
+646 642
+64 59
+645 643
+645 44
+645 2
+644 71
+644 70
+644 69
+644 643
+644 54
+644 53
+644 516
+644 488
+644 358
+644 354
+644 349
+644 348
+644 347
+644 346
+644 263
+644 262
+644 238
+644 237
+644 181
+644 151
+644 143
+644 114
+644 113
+644 112
+644 102
+644 10
+643 441
+643 44
+643 346
+643 118
+643 117
+642 87
+642 641
+642 562
+642 506
+642 471
+642 420
+642 419
+642 371
+642 343
+642 342
+642 341
+642 340
+642 339
+642 338
+642 337
+642 300
+642 3
+642 299
+642 298
+642 297
+642 26
+642 23
+642 179
+642 178
+642 177
+642 176
+642 169
+642 136
+64 21
+64 19
+640 638
+639 638
+639 458
+639 44
+639 378
+639 237
+637 185
+636 630
+636 59
+636 529
+636 525
+636 511
+636 510
+636 509
+636 508
+636 507
+636 504
+636 501
+636 498
+636 497
+636 496
+636 495
+636 494
+636 493
+636 492
+636 491
+636 48
+636 47
+636 46
+636 45
+636 44
+636 380
+636 349
+636 332
+636 263
+636 262
+636 261
+636 23
+636 168
+636 145
+63 59
+635 630
+635 579
+635 494
+635 492
+635 45
+635 438
+635 332
+635 187
+635 176
+635 117
+634 630
+634 579
+634 494
+634 492
+634 45
+634 438
+634 332
+634 187
+634 176
+634 117
+633 630
+633 579
+633 494
+633 492
+633 45
+633 438
+633 332
+633 187
+633 176
+633 117
+632 630
+632 579
+632 494
+632 492
+632 45
+632 438
+632 332
+632 187
+632 176
+632 117
+63 21
+63 19
+631 630
+631 579
+631 508
+631 507
+631 498
+631 497
+631 496
+631 495
+631 494
+631 493
+631 492
+631 491
+631 45
+631 332
+631 187
+631 176
+631 117
+630 47
+630 460
+629 87
+629 80
+629 628
+629 475
+629 474
+629 446
+629 418
+629 360
+629 359
+629 169
+629 118
+629 117
+628 446
+627 617
+627 444
+627 263
+627 262
+627 260
+627 26
+627 245
+627 244
+627 150
+626 617
+626 444
+626 323
+626 322
+626 321
+626 320
+626 265
+626 264
+626 260
+626 245
+626 244
+626 197
+62 60
+625 617
+625 444
+625 265
+625 264
+625 260
+625 245
+625 244
+625 168
+62 48
+62 47
+624 621
+624 618
+624 617
+62 46
+624 587
+624 554
+624 552
+62 45
+624 495
+624 460
+624 42
+62 44
+624 356
+624 316
+624 238
+624 237
+624 211
+624 195
+624 157
+624 111
+623 621
+623 618
+623 617
+623 587
+623 554
+623 552
+623 495
+623 42
+623 356
+623 316
+623 238
+623 237
+623 211
+623 195
+623 157
+623 111
+62 3
+622 618
+622 617
+622 54
+622 53
+622 42
+622 316
+622 102
+621 617
+621 554
+621 534
+621 533
+621 464
+621 458
+621 30
+621 3
+621 296
+621 263
+621 262
+621 255
+621 254
+621 253
+621 252
+621 238
+621 237
+621 178
+621 177
+621 176
+621 168
+621 102
+620 617
+619 618
+619 617
+618 617
+618 560
+618 466
+618 465
+618 357
+618 356
+618 187
+618 168
+618 102
+617 466
+617 465
+617 357
+617 356
+617 245
+617 244
+617 238
+617 237
+617 193
+617 187
+617 168
+617 167
+617 166
+617 165
+617 164
+617 163
+617 150
+617 121
+617 102
+616 615
+616 484
+616 421
+616 420
+616 419
+616 328
+616 313
+616 188
+616 170
+61 60
+615 614
+615 613
+615 562
+615 527
+615 526
+615 490
+615 484
+615 423
+615 313
+615 170
+615 102
+615 101
+615 100
+61 48
+61 47
+61 46
+614 562
+614 526
+61 45
+614 490
+614 460
+61 44
+614 313
+614 238
+614 237
+614 168
+614 167
+614 166
+614 165
+614 164
+614 163
+614 101
+614 100
+613 562
+613 526
+613 490
+613 356
+613 313
+613 238
+613 237
+613 167
+613 166
+613 165
+613 164
+613 163
+613 101
+613 100
+612 251
+611 243
+611 110
+610 577
+610 479
+610 421
+610 420
+610 419
+610 3
+610 179
+610 178
+610 177
+610 176
+6 1
+609 577
+609 479
+609 421
+609 420
+609 419
+609 3
+609 179
+609 178
+609 177
+609 176
+608 579
+608 577
+608 260
+608 123
+607 81
+607 59
+607 577
+607 537
+607 507
+607 479
+607 438
+607 375
+607 316
+607 296
+607 211
+607 169
+607 140
+606 94
+606 89
+606 87
+606 80
+606 59
+606 577
+606 539
+606 538
+606 537
+606 536
+606 491
+606 477
+606 476
+606 475
+606 473
+606 472
+606 470
+606 468
+606 467
+606 456
+606 39
+606 35
+606 331
+606 330
+606 301
+606 294
+606 278
+606 253
+606 188
+606 179
+606 137
+606 124
+606 123
+605 577
+605 470
+604 577
+604 238
+603 577
+603 559
+603 277
+603 237
+603 169
+603 149
+602 577
+602 479
+602 474
+602 190
+602 137
+602 136
+602 135
+601 577
+601 479
+601 474
+601 190
+601 135
+600 577
+600 479
+600 474
+600 190
+600 135
+599 577
+599 479
+599 474
+599 190
+599 135
+598 577
+598 479
+598 474
+598 190
+598 135
+597 577
+597 479
+597 474
+597 190
+597 135
+596 577
+596 479
+596 474
+596 190
+596 135
+595 577
+595 479
+595 474
+595 190
+595 135
+59 51
+59 48
+59 47
+59 46
+594 577
+594 5
+59 45
+594 459
+594 45
+59 44
+594 387
+594 356
+594 3
+594 179
+594 178
+594 177
+594 176
+594 169
+594 168
+593 577
+593 574
+593 573
+593 572
+593 5
+593 48
+593 47
+593 466
+593 46
+593 459
+593 45
+593 44
+593 387
+593 356
+593 3
+593 259
+593 258
+593 247
+593 246
+593 193
+593 179
+593 178
+593 177
+593 176
+593 169
+593 168
+593 161
+593 160
+593 149
+593 137
+59 3
+592 577
+592 479
+592 474
+592 190
+592 157
+592 135
+591 577
+591 479
+591 474
+591 190
+591 157
+591 135
+590 577
+590 479
+590 474
+590 190
+590 157
+590 135
+589 577
+588 9
+588 577
+588 510
+588 47
+588 46
+588 45
+588 44
+588 358
+588 3
+588 244
+588 211
+588 178
+588 177
+588 176
+587 582
+587 577
+587 552
+587 458
+587 356
+587 238
+586 577
+586 565
+586 562
+586 559
+586 52
+586 509
+586 506
+586 356
+586 170
+58 56
+585 577
+58 55
+58 51
+584 577
+583 577
+58 3
+58 26
+582 577
+582 563
+582 562
+58 25
+582 466
+582 465
+582 458
+582 377
+582 352
+582 351
+582 3
+582 240
+582 238
+582 237
+582 178
+582 177
+582 176
+582 110
+582 109
+582 108
+582 107
+582 104
+582 103
+582 102
+581 580
+581 577
+581 563
+581 562
+581 466
+581 465
+581 458
+581 377
+581 352
+581 351
+581 240
+581 238
+581 237
+581 168
+581 161
+581 160
+581 119
+581 110
+581 109
+581 108
+581 107
+581 104
+581 103
+580 9
+580 8
+580 579
+580 577
+580 556
+580 552
+580 508
+580 507
+580 498
+580 496
+580 494
+580 493
+580 492
+580 491
+580 458
+580 380
+580 352
+580 237
+580 187
+580 176
+580 167
+580 159
+580 103
+579 9
+579 62
+579 577
+579 567
+579 521
+579 503
+579 502
+579 501
+579 500
+579 499
+579 488
+579 460
+579 379
+579 358
+579 349
+579 348
+579 347
+579 346
+579 261
+579 26
+579 257
+579 255
+579 254
+579 253
+579 252
+579 245
+579 244
+579 193
+579 187
+579 149
+579 136
+579 121
+579 118
+579 117
+579 102
+579 10
+578 95
+578 94
+578 92
+578 577
+578 508
+578 507
+578 497
+578 491
+578 378
+578 356
+578 328
+578 3
+578 238
+578 179
+578 178
+578 176
+577 99
+577 8
+577 575
+577 574
+577 573
+577 572
+577 571
+577 557
+577 554
+577 552
+577 544
+577 54
+577 53
+577 521
+577 515
+577 508
+577 507
+577 498
+577 497
+577 496
+577 495
+577 494
+577 493
+577 492
+577 491
+577 464
+577 439
+577 438
+577 379
+577 375
+577 356
+577 355
+577 335
+577 300
+577 299
+577 298
+577 297
+577 259
+577 258
+577 255
+577 254
+577 253
+577 252
+577 250
+577 238
+577 237
+577 211
+577 168
+577 160
+577 152
+577 140
+577 138
+577 137
+577 118
+577 117
+577 110
+577 102
+576 575
+576 574
+576 573
+576 572
+576 571
+576 259
+576 258
+576 251
+575 95
+575 571
+575 446
+575 251
+575 153
+575 145
+57 51
+574 96
+574 95
+574 66
+574 65
+574 571
+574 479
+574 446
+574 257
+574 153
+574 145
+573 96
+573 95
+573 66
+573 65
+573 571
+573 479
+573 446
+573 257
+573 153
+573 145
+572 96
+572 95
+572 66
+572 65
+572 571
+572 479
+572 446
+572 257
+572 153
+572 145
+571 259
+571 258
+57 10
+570 569
+570 421
+570 420
+570 419
+568 564
+568 521
+568 512
+568 506
+568 505
+568 504
+568 48
+568 47
+568 46
+568 45
+568 44
+568 314
+568 3
+568 179
+568 178
+568 177
+568 176
+568 168
+568 159
+568 158
+568 157
+567 564
+567 506
+567 505
+567 504
+567 47
+567 46
+567 44
+567 383
+567 331
+567 314
+567 295
+567 260
+567 23
+567 203
+567 168
+566 564
+566 511
+566 510
+566 509
+566 506
+566 505
+566 504
+566 48
+566 47
+566 46
+566 45
+566 44
+566 383
+566 331
+566 314
+566 203
+565 564
+565 511
+565 510
+565 509
+565 508
+565 507
+565 506
+565 505
+565 504
+565 498
+565 497
+565 496
+565 495
+565 494
+565 493
+565 492
+565 491
+565 48
+565 47
+565 46
+565 45
+565 44
+56 54
+565 314
+56 53
+565 276
+565 275
+565 274
+565 273
+565 237
+565 161
+565 160
+56 51
+564 512
+564 48
+564 3
+564 179
+564 178
+564 177
+564 176
+563 8
+563 561
+563 557
+563 551
+563 528
+563 511
+563 510
+563 509
+563 458
+563 438
+563 40
+563 362
+563 356
+563 238
+563 237
+563 211
+563 137
+563 103
+563 102
+562 8
+562 561
+562 557
+562 551
+562 527
+562 526
+562 515
+562 466
+562 465
+562 458
+562 44
+562 438
+562 40
+562 362
+562 356
+562 251
+562 245
+562 244
+562 238
+562 237
+562 211
+562 193
+562 168
+562 161
+562 160
+562 118
+562 117
+562 103
+561 556
+561 551
+561 484
+561 459
+561 458
+561 44
+561 119
+561 118
+561 117
+561 111
+560 69
+560 556
+560 551
+560 484
+560 466
+560 465
+560 44
+560 357
+560 237
+559 58
+559 551
+559 484
+559 466
+559 465
+559 44
+559 382
+559 381
+559 356
+559 352
+559 351
+559 251
+559 245
+559 244
+559 238
+559 237
+559 193
+559 168
+559 156
+559 126
+559 118
+559 117
+559 111
+559 102
+558 56
+558 551
+558 520
+558 519
+558 518
+558 437
+558 356
+558 2
+558 176
+558 167
+558 166
+558 165
+558 164
+558 163
+558 157
+557 551
+557 527
+557 526
+557 484
+557 466
+557 465
+557 458
+557 377
+557 352
+557 351
+557 242
+557 240
+557 238
+557 237
+557 137
+557 119
+557 118
+557 117
+557 110
+557 109
+557 108
+557 107
+557 104
+557 103
+556 551
+556 484
+556 459
+556 458
+556 380
+556 373
+556 237
+556 23
+556 2
+555 551
+555 484
+55 54
+55 53
+555 25
+55 51
+554 8
+554 551
+554 54
+554 53
+554 484
+554 458
+554 442
+554 439
+554 438
+554 437
+554 380
+554 378
+554 377
+554 376
+554 375
+554 349
+554 348
+554 347
+554 238
+554 237
+554 211
+554 111
+554 102
+553 551
+553 54
+553 53
+553 484
+552 551
+552 54
+552 535
+552 53
+552 503
+552 502
+552 501
+552 500
+552 499
+552 498
+552 494
+552 493
+552 484
+552 479
+552 466
+552 465
+552 460
+552 420
+552 42
+552 419
+552 358
+552 349
+552 348
+552 347
+552 346
+552 327
+552 296
+552 277
+552 255
+552 254
+552 253
+552 252
+552 250
+552 247
+552 246
+552 245
+552 244
+552 238
+552 237
+552 2
+552 193
+552 187
+552 153
+552 149
+552 111
+552 10
+551 8
+551 54
+551 53
+551 527
+551 458
+551 44
+551 439
+551 438
+551 375
+551 356
+551 241
+551 238
+551 237
+551 211
+551 2
+551 167
+551 166
+551 165
+551 164
+551 163
+551 145
+551 119
+551 111
+551 109
+551 108
+551 107
+551 104
+551 103
+551 102
+550 549
+550 54
+550 53
+550 3
+550 178
+550 177
+550 176
+549 42
+549 25
+548 547
+548 545
+548 481
+548 371
+548 317
+547 546
+547 545
+547 481
+546 545
+546 481
+546 371
+546 317
+546 26
+546 137
+54 52
+545 137
+54 51
+544 64
+544 523
+544 438
+544 153
+543 89
+543 523
+543 313
+543 195
+543 158
+542 85
+542 523
+54 25
+542 477
+542 476
+542 454
+542 453
+542 415
+542 40
+542 397
+542 303
+542 300
+542 30
+542 299
+542 298
+542 297
+542 279
+54 2
+541 85
+541 523
+541 477
+541 476
+541 454
+541 453
+541 415
+541 40
+541 397
+541 303
+541 300
+541 30
+541 299
+541 298
+541 297
+541 279
+540 85
+540 523
+540 477
+540 476
+540 454
+540 453
+540 415
+540 40
+540 397
+540 303
+540 30
+540 279
+539 85
+539 82
+539 58
+539 523
+539 477
+539 476
+539 454
+539 453
+539 415
+539 40
+539 397
+539 303
+539 30
+539 279
+539 221
+539 169
+538 87
+538 85
+538 82
+538 58
+538 523
+538 477
+538 476
+538 467
+538 454
+538 453
+538 415
+538 40
+538 397
+538 375
+538 303
+538 30
+538 279
+538 221
+538 169
+53 8
+537 92
+537 87
+537 85
+537 82
+537 58
+537 523
+537 477
+537 476
+537 467
+537 454
+537 453
+537 415
+537 40
+537 397
+537 375
+537 303
+537 30
+537 279
+537 221
+537 169
+536 92
+536 87
+536 85
+536 82
+536 58
+536 523
+536 477
+536 476
+536 467
+536 454
+536 453
+536 420
+536 415
+536 40
+536 397
+536 375
+536 303
+536 30
+536 296
+536 279
+536 221
+536 169
+535 89
+535 88
+535 523
+535 415
+535 371
+535 313
+535 293
+535 260
+535 238
+53 52
+535 169
+535 156
+535 137
+535 118
+53 51
+534 8
+534 523
+534 439
+534 438
+534 378
+534 375
+534 265
+534 264
+533 8
+533 523
+533 439
+533 438
+533 378
+533 375
+533 265
+533 264
+532 523
+53 25
+532 262
+53 2
+531 523
+531 263
+531 262
+530 523
+530 263
+530 262
+5 3
+529 523
+529 314
+528 525
+528 523
+528 438
+528 376
+528 243
+528 237
+528 110
+527 523
+527 509
+527 484
+527 459
+527 357
+527 313
+527 237
+526 523
+526 509
+526 459
+526 313
+525 66
+525 65
+525 524
+525 523
+525 440
+525 250
+525 168
+525 110
+52 51
+524 523
+523 59
+523 58
+523 52
+523 471
+523 456
+523 278
+523 276
+523 275
+523 274
+523 273
+523 153
+523 124
+523 123
+523 110
+523 102
+522 96
+522 66
+522 65
+522 317
+522 316
+521 59
+521 498
+521 491
+521 483
+521 44
+521 418
+521 373
+521 331
+521 319
+521 281
+521 260
+521 238
+521 23
+521 204
+521 203
+521 178
+521 177
+521 158
+521 137
+521 111
+520 9
+520 8
+520 508
+520 483
+520 46
+520 45
+520 44
+520 238
+520 211
+520 2
+520 167
+520 166
+520 164
+519 9
+519 8
+519 508
+519 483
+519 46
+519 45
+519 44
+519 238
+519 211
+519 2
+519 167
+519 166
+519 164
+519 140
+518 9
+518 8
+518 508
+518 483
+518 46
+518 45
+518 44
+518 238
+518 211
+518 2
+518 167
+518 166
+518 164
+518 140
+517 58
+517 483
+517 273
+517 158
+516 507
+516 494
+516 492
+516 491
+516 488
+516 483
+516 460
+516 439
+516 158
+515 484
+515 483
+515 48
+515 474
+515 47
+515 46
+515 45
+515 44
+515 418
+515 385
+515 383
+515 373
+515 371
+515 360
+515 359
+515 331
+515 277
+515 261
+515 23
+515 204
+515 203
+515 188
+515 168
+515 166
+515 165
+515 164
+515 163
+515 153
+515 149
+515 137
+514 483
+514 157
+513 483
+513 157
+512 62
+512 61
+512 506
+512 505
+512 504
+512 5
+512 483
+512 466
+512 465
+512 464
+512 44
+512 4
+512 388
+512 325
+512 324
+512 314
+512 168
+512 167
+512 162
+512 161
+512 160
+511 9
+511 508
+511 507
+511 498
+511 497
+511 496
+511 495
+511 494
+511 493
+511 492
+511 491
+511 483
+511 48
+511 47
+511 460
+511 46
+511 458
+511 45
+511 44
+511 316
+511 313
+511 245
+511 244
+511 243
+511 237
+511 195
+511 170
+511 158
+511 119
+511 104
+511 102
+510 9
+510 508
+510 507
+510 498
+510 497
+510 496
+510 495
+510 494
+510 493
+510 492
+510 491
+510 483
+510 48
+510 47
+510 460
+510 46
+510 458
+510 45
+510 44
+510 316
+510 313
+510 243
+510 237
+510 195
+510 170
+510 158
+510 119
+510 110
+510 104
+510 102
+5 1
+509 9
+509 508
+509 507
+509 498
+509 497
+509 496
+509 495
+509 494
+509 493
+509 492
+509 491
+509 483
+509 48
+509 47
+509 460
+509 46
+509 458
+509 45
+509 44
+509 316
+509 313
+509 295
+509 245
+509 244
+509 243
+509 237
+509 195
+509 170
+509 161
+509 160
+509 158
+509 119
+509 111
+509 110
+509 104
+508 77
+508 76
+508 59
+508 58
+508 483
+508 48
+508 47
+508 46
+508 45
+508 44
+508 439
+508 438
+508 392
+508 391
+508 390
+508 375
+508 371
+508 356
+508 349
+508 347
+508 335
+508 313
+508 261
+508 260
+508 247
+508 246
+508 245
+508 244
+508 238
+508 237
+508 211
+508 195
+508 193
+508 168
+508 158
+508 157
+508 152
+507 77
+507 76
+507 59
+507 58
+507 483
+507 48
+507 47
+507 46
+507 45
+507 44
+507 439
+507 438
+507 392
+507 391
+507 390
+507 375
+507 356
+507 349
+507 347
+507 335
+507 313
+507 300
+507 299
+507 298
+507 297
+507 277
+507 263
+507 262
+507 261
+507 260
+507 247
+507 246
+507 245
+507 244
+507 238
+507 237
+507 211
+507 195
+507 193
+507 174
+507 173
+507 172
+507 168
+507 158
+507 157
+507 155
+507 152
+506 483
+506 48
+506 313
+506 3
+506 195
+506 179
+506 178
+506 177
+506 176
+506 168
+506 158
+506 157
+505 483
+505 48
+505 466
+505 465
+505 313
+505 195
+505 168
+505 162
+505 158
+505 157
+504 483
+504 48
+50 44
+504 313
+504 3
+50 43
+504 195
+504 179
+504 178
+504 177
+504 176
+504 158
+504 157
+503 483
+503 460
+503 44
+503 245
+503 244
+503 158
+503 118
+503 117
+503 111
+502 5
+502 483
+502 466
+502 465
+502 44
+502 358
+502 324
+502 168
+502 161
+502 160
+502 158
+502 149
+502 118
+502 117
+502 111
+501 483
+501 44
+501 168
+501 158
+501 118
+501 117
+501 111
+500 483
+500 44
+500 158
+500 118
+500 117
+500 111
+499 483
+499 44
+499 158
+499 118
+499 117
+499 111
+498 77
+498 76
+498 59
+498 58
+498 483
+498 47
+498 462
+498 46
+498 45
+498 44
+498 439
+498 438
+498 392
+498 391
+498 390
+498 375
+498 356
+498 349
+498 348
+498 347
+498 346
+498 335
+498 313
+498 281
+498 261
+498 260
+498 250
+498 247
+498 246
+498 245
+498 244
+498 238
+498 237
+498 211
+498 195
+498 193
+498 158
+498 157
+498 152
+498 102
+498 10
+497 77
+497 76
+497 59
+497 58
+497 483
+497 439
+497 438
+497 392
+497 391
+497 390
+497 375
+497 356
+497 349
+497 347
+497 313
+497 261
+497 260
+497 247
+497 246
+497 245
+497 244
+497 238
+497 237
+497 211
+497 195
+497 193
+497 158
+497 157
+497 102
+496 77
+496 76
+496 59
+496 58
+496 483
+496 451
+496 439
+496 438
+496 392
+496 391
+496 390
+496 375
+496 356
+496 349
+496 347
+496 313
+496 278
+496 261
+496 260
+496 247
+496 246
+496 245
+496 244
+496 238
+496 237
+496 211
+496 195
+496 193
+496 168
+496 158
+496 157
+496 124
+496 123
+496 102
+495 99
+495 77
+495 76
+495 59
+495 58
+495 54
+495 53
+495 483
+495 439
+495 438
+495 392
+495 391
+495 390
+495 375
+495 356
+495 349
+495 347
+495 313
+495 260
+495 247
+495 246
+495 245
+495 244
+495 238
+495 237
+495 211
+495 195
+495 193
+495 168
+495 158
+495 157
+495 102
+494 77
+494 76
+494 59
+494 58
+494 483
+494 439
+494 438
+494 411
+494 410
+49 44
+494 392
+494 391
+494 390
+494 375
+494 356
+494 349
+494 348
+494 347
+494 346
+494 313
+494 3
+49 43
+494 261
+494 260
+494 251
+494 247
+494 246
+494 245
+494 244
+494 238
+494 237
+494 211
+494 195
+494 193
+494 179
+494 178
+494 177
+494 176
+494 168
+494 158
+494 157
+494 149
+494 102
+493 77
+493 76
+493 59
+493 58
+493 54
+493 53
+493 483
+493 439
+493 438
+493 392
+493 391
+493 390
+493 375
+493 356
+493 349
+493 347
+493 313
+493 261
+493 260
+493 255
+493 254
+493 253
+493 252
+493 247
+493 246
+493 245
+493 244
+493 238
+493 237
+493 211
+493 195
+493 193
+493 168
+493 158
+493 157
+493 137
+493 102
+492 77
+492 76
+492 59
+492 58
+492 483
+492 439
+492 438
+492 392
+492 391
+492 390
+492 375
+492 356
+492 349
+492 347
+492 313
+492 261
+492 260
+492 250
+492 247
+492 246
+492 245
+492 244
+492 238
+492 237
+492 211
+492 195
+492 193
+492 168
+492 158
+492 157
+492 149
+492 131
+492 130
+492 129
+492 128
+492 127
+492 126
+492 102
+491 77
+491 76
+491 59
+491 58
+491 483
+491 47
+491 46
+491 45
+491 44
+491 439
+491 438
+491 392
+491 391
+491 390
+491 375
+491 356
+491 349
+491 347
+491 313
+491 300
+491 299
+491 298
+491 297
+491 261
+491 260
+491 247
+491 246
+491 245
+491 244
+491 238
+491 237
+491 211
+491 195
+491 193
+491 158
+491 157
+491 137
+491 102
+490 62
+490 483
+490 441
+490 356
+490 313
+490 238
+490 237
+490 2
+490 195
+490 158
+490 157
+490 111
+490 106
+490 104
+490 101
+489 483
+489 169
+489 140
+488 8
+488 483
+488 466
+488 465
+488 461
+488 460
+488 458
+488 45
+488 44
+488 347
+488 26
+488 2
+488 168
+488 158
+488 152
+488 145
+488 140
+488 121
+488 120
+487 483
+486 483
+486 366
+486 365
+485 483
+485 479
+485 352
+485 245
+485 238
+485 107
+485 104
+484 8
+484 58
+484 54
+484 53
+484 483
+484 458
+484 44
+484 439
+484 438
+484 375
+484 356
+484 323
+484 322
+484 321
+484 320
+484 313
+48 43
+484 249
+484 248
+484 241
+484 238
+484 237
+484 211
+484 2
+484 197
+484 195
+484 168
+484 167
+484 166
+484 165
+484 164
+484 163
+484 158
+484 157
+484 145
+484 118
+484 117
+484 111
+484 109
+484 108
+484 107
+484 104
+484 103
+483 99
+483 466
+483 465
+483 464
+483 356
+483 349
+483 348
+483 347
+483 346
+483 314
+483 296
+483 276
+483 275
+483 274
+483 273
+483 26
+483 255
+483 254
+483 253
+483 252
+483 247
+483 246
+483 238
+483 237
+483 2
+483 177
+483 175
+483 168
+483 162
+483 161
+483 160
+483 137
+483 115
+483 111
+483 10
+48 3
+482 66
+482 65
+48 26
+482 480
+482 209
+482 208
+481 480
+481 192
+479 478
+479 281
+479 277
+479 259
+479 258
+479 174
+479 173
+479 172
+479 168
+479 155
+479 137
+479 136
+47 9
+477 87
+477 456
+477 40
+477 39
+477 38
+477 37
+477 36
+477 35
+477 33
+477 278
+477 169
+477 124
+477 123
+476 87
+476 456
+476 40
+476 39
+476 38
+476 37
+476 36
+476 35
+476 34
+476 33
+476 278
+476 169
+476 124
+476 123
+475 446
+475 40
+475 36
+475 35
+475 34
+475 331
+475 33
+475 300
+475 299
+475 298
+475 297
+475 255
+475 254
+475 253
+475 252
+475 188
+474 80
+474 48
+474 47
+474 46
+474 45
+474 446
+474 44
+474 418
+474 40
+474 383
+474 36
+474 35
+474 34
+474 331
+474 33
+47 43
+474 278
+474 23
+474 203
+474 188
+474 124
+474 123
+473 40
+473 39
+473 38
+473 37
+473 36
+473 35
+473 34
+473 33
+472 79
+472 64
+472 470
+472 469
+472 38
+472 37
+472 36
+472 35
+472 34
+472 33
+472 295
+471 85
+471 79
+471 64
+471 469
+471 467
+471 456
+471 438
+471 419
+471 313
+471 305
+471 302
+471 253
+471 169
+471 153
+470 87
+470 467
+470 460
+470 306
+470 305
+470 304
+470 303
+470 302
+470 301
+470 169
+469 87
+469 467
+469 311
+469 310
+469 309
+469 308
+469 307
+469 306
+469 305
+469 304
+469 303
+469 302
+469 301
+469 169
+46 9
+468 85
+468 80
+468 311
+468 310
+468 309
+468 308
+468 307
+468 306
+468 305
+468 304
+468 303
+468 302
+468 301
+468 295
+468 294
+468 171
+467 85
+467 83
+467 81
+467 79
+467 64
+467 435
+467 434
+467 411
+467 410
+467 38
+467 37
+467 366
+467 365
+467 363
+467 36
+467 35
+467 34
+467 33
+467 305
+467 301
+467 295
+467 137
+466 99
+466 9
+466 8
+466 72
+466 70
+466 58
+466 5
+466 48
+466 47
+466 463
+466 460
+466 46
+466 45
+466 44
+466 378
+466 356
+466 349
+466 313
+466 245
+466 244
+466 238
+466 237
+466 2
+466 195
+466 193
+466 187
+466 168
+466 167
+466 158
+466 143
+466 125
+466 122
+466 118
+466 117
+466 109
+466 108
+466 107
+466 104
+466 103
+465 99
+465 9
+465 72
+465 70
+465 58
+465 5
+465 48
+465 47
+465 463
+465 460
+465 46
+465 45
+465 44
+465 356
+465 245
+465 244
+465 238
+465 237
+465 2
+465 195
+465 193
+465 187
+465 168
+465 167
+465 158
+465 143
+465 125
+465 122
+465 118
+465 117
+465 109
+465 108
+465 107
+465 104
+465 103
+464 8
+464 463
+464 45
+464 44
+464 439
+464 438
+464 378
+464 375
+464 313
+46 43
+464 238
+464 237
+464 211
+464 195
+464 158
+464 157
+463 460
+463 237
+462 99
+46 26
+462 47
+462 460
+462 46
+462 457
+462 45
+461 460
+461 457
+461 236
+461 234
+461 233
+46 10
+460 9
+460 70
+460 58
+460 458
+460 457
+460 451
+460 44
+460 371
+460 359
+460 330
+460 291
+460 257
+460 238
+460 237
+460 219
+460 204
+460 188
+460 178
+460 177
+460 145
+460 144
+460 137
+460 136
+460 122
+460 102
+460 101
+460 100
+459 458
+459 457
+459 349
+459 348
+459 347
+459 346
+459 238
+459 237
+459 2
+459 168
+459 149
+459 10
+45 9
+458 8
+458 54
+458 53
+458 457
+458 439
+458 438
+458 380
+458 378
+458 376
+458 375
+458 374
+458 373
+458 349
+458 348
+458 347
+458 316
+458 3
+458 26
+458 238
+458 237
+458 23
+458 211
+458 2
+458 191
+458 178
+458 177
+458 176
+458 168
+458 149
+458 141
+458 136
+458 128
+458 127
+458 126
+458 119
+458 110
+458 102
+458 101
+458 100
+457 45
+457 2
+457 118
+456 85
+456 82
+456 58
+456 455
+456 454
+456 453
+456 415
+456 40
+456 397
+456 375
+456 303
+456 30
+456 279
+456 221
+456 169
+455 446
+455 222
+454 64
+454 452
+45 43
+454 278
+454 244
+454 124
+454 123
+453 64
+453 452
+453 278
+453 244
+453 124
+453 123
+452 85
+452 397
+452 396
+451 450
+451 251
+449 445
+449 428
+449 427
+449 426
+44 9
+448 445
+448 369
+448 268
+44 8
+447 87
+447 445
+447 296
+447 251
+447 199
+447 198
+447 169
+446 95
+446 94
+446 93
+446 92
+446 91
+446 80
+446 445
+446 383
+446 331
+446 330
+446 259
+446 258
+446 23
+446 203
+446 20
+446 188
+446 145
+445 87
+445 435
+445 434
+445 433
+445 432
+445 431
+445 430
+445 429
+445 428
+445 427
+445 426
+445 425
+445 424
+445 423
+445 230
+445 226
+44 5
+444 436
+444 379
+444 349
+444 348
+444 347
+44 43
+443 54
+443 53
+443 436
+442 54
+442 53
+442 436
+44 2
+441 54
+441 53
+441 436
+441 349
+441 348
+441 347
+441 346
+441 316
+441 238
+441 237
+441 10
+440 436
+439 53
+439 436
+439 377
+439 376
+439 30
+439 3
+439 296
+439 276
+439 275
+439 274
+439 273
+439 263
+439 262
+439 26
+439 251
+439 238
+439 237
+439 2
+439 178
+439 177
+439 176
+439 168
+438 85
+438 53
+438 436
+438 377
+438 376
+438 361
+438 30
+438 3
+438 296
+438 276
+438 275
+438 274
+438 273
+438 263
+438 262
+438 238
+438 237
+438 2
+438 178
+438 177
+438 176
+438 168
+438 161
+438 160
+438 149
+438 137
+437 55
+437 436
+437 373
+437 348
+437 316
+437 260
+437 23
+437 128
+437 127
+437 126
+436 375
+436 211
+435 87
+435 422
+435 169
+434 87
+434 422
+434 301
+434 169
+433 422
+432 422
+432 251
+431 422
+431 27
+431 228
+431 227
+431 225
+431 223
+431 210
+431 205
+431 196
+430 422
+430 27
+430 228
+430 227
+430 223
+430 210
+430 205
+430 196
+4 3
+429 422
+429 27
+429 228
+429 227
+429 225
+429 223
+429 210
+429 205
+429 196
+428 422
+428 419
+427 422
+427 419
+426 422
+426 419
+425 424
+425 422
+424 422
+42 41
+423 422
+423 328
+423 313
+423 188
+423 170
+422 87
+42 25
+421 417
+421 293
+421 292
+421 229
+420 418
+420 417
+420 371
+420 344
+420 296
+420 293
+420 292
+420 288
+420 278
+420 257
+420 250
+420 229
+420 216
+420 181
+420 157
+420 124
+420 123
+419 418
+419 417
+419 344
+419 296
+419 293
+419 292
+419 288
+419 257
+419 250
+419 229
+419 216
+419 181
+419 157
+418 76
+418 48
+418 47
+418 46
+418 45
+418 44
+418 417
+418 359
+418 23
+418 188
+418 171
+418 170
+418 161
+418 160
+418 140
+418 122
+418 11
+418 102
+417 80
+417 293
+417 292
+417 251
+417 169
+416 414
+416 413
+416 408
+416 353
+416 251
+415 408
+415 30
+415 29
+415 28
+415 278
+415 27
+415 153
+415 124
+415 123
+414 84
+414 408
+414 353
+414 350
+414 188
+413 84
+413 408
+413 353
+413 350
+413 188
+412 408
+412 237
+411 87
+411 408
+411 371
+411 169
+410 87
+410 408
+410 371
+410 169
+4 1
+409 408
+408 85
+408 84
+408 203
+407 401
+407 400
+407 398
+407 252
+406 401
+406 400
+406 398
+405 401
+405 400
+405 398
+404 7
+404 401
+404 400
+404 40
+404 398
+404 359
+404 221
+404 137
+40 39
+403 7
+40 35
+403 401
+403 400
+403 40
+403 398
+403 359
+403 324
+403 221
+403 209
+403 208
+40 32
+403 137
+402 7
+402 66
+402 65
+402 401
+402 400
+402 40
+402 398
+402 362
+402 359
+402 324
+402 221
+402 209
+402 208
+402 137
+401 400
+401 399
+401 398
+400 399
+400 398
+399 398
+397 395
+397 278
+397 229
+397 124
+397 123
+396 395
+396 229
+395 85
+395 137
+394 393
+39 37
+39 36
+39 35
+39 34
+39 33
+39 32
+392 48
+392 47
+392 46
+392 45
+392 217
+392 201
+391 48
+391 47
+391 46
+391 45
+391 265
+391 264
+391 217
+391 201
+390 48
+390 47
+390 46
+390 45
+390 217
+390 201
+390 149
+390 137
+389 238
+389 237
+389 217
+389 201
+388 238
+388 237
+388 217
+388 201
+387 54
+387 53
+387 349
+387 348
+387 347
+387 238
+387 237
+387 217
+387 201
+387 168
+386 3
+386 296
+386 260
+386 179
+386 178
+386 177
+386 176
+385 360
+385 359
+385 330
+385 276
+385 275
+385 274
+385 273
+385 263
+385 262
+385 245
+385 244
+385 193
+385 192
+385 168
+385 134
+385 133
+385 132
+385 131
+385 130
+385 129
+385 128
+385 127
+385 126
+384 360
+384 359
+384 330
+384 168
+384 137
+384 136
+384 134
+384 133
+384 132
+384 131
+384 130
+384 129
+384 128
+384 127
+384 126
+38 36
+38 35
+383 48
+383 47
+383 46
+383 45
+383 44
+38 34
+383 376
+383 360
+383 359
+383 336
+383 335
+383 330
+38 33
+383 276
+383 275
+383 274
+383 273
+383 265
+383 264
+38 32
+383 191
+383 168
+383 152
+383 134
+383 133
+383 132
+383 131
+383 130
+383 129
+383 128
+383 127
+383 126
+382 261
+382 134
+382 133
+382 132
+382 131
+382 130
+382 129
+382 128
+382 127
+382 126
+381 137
+381 134
+381 133
+381 132
+381 131
+381 130
+381 129
+381 128
+381 127
+381 126
+380 54
+380 53
+380 360
+380 359
+380 344
+380 330
+380 276
+380 275
+380 274
+380 273
+380 260
+380 251
+380 238
+380 237
+380 161
+380 160
+380 149
+380 134
+380 133
+380 132
+380 131
+380 130
+380 129
+380 128
+380 127
+380 126
+379 9
+379 58
+379 48
+379 47
+379 46
+379 45
+379 44
+379 237
+379 178
+379 134
+379 133
+379 132
+379 131
+379 130
+379 129
+379 128
+379 127
+379 126
+378 30
+378 3
+378 296
+378 278
+378 251
+378 179
+378 178
+378 177
+378 176
+378 137
+378 136
+378 134
+378 133
+378 132
+378 131
+378 130
+378 129
+378 128
+378 127
+378 126
+378 124
+378 123
+378 110
+378 102
+377 54
+377 53
+377 47
+377 46
+377 45
+377 376
+377 375
+377 356
+377 263
+377 262
+377 238
+377 237
+377 211
+377 168
+377 134
+377 133
+377 132
+377 131
+377 130
+377 129
+377 128
+377 127
+377 126
+377 102
+376 57
+376 54
+376 53
+376 375
+376 358
+376 331
+376 238
+376 237
+376 217
+376 211
+376 203
+376 134
+376 133
+376 132
+376 131
+376 130
+376 129
+376 128
+376 127
+376 126
+375 53
+375 30
+375 3
+375 296
+375 278
+375 26
+375 238
+375 237
+375 2
+375 178
+375 177
+375 176
+375 134
+375 133
+375 132
+375 131
+375 130
+375 129
+375 128
+375 127
+375 126
+375 124
+375 123
+374 58
+374 276
+374 275
+374 274
+374 273
+374 2
+374 168
+374 136
+374 133
+374 132
+374 131
+374 130
+374 129
+374 128
+374 127
+374 126
+374 110
+37 36
+37 35
+37 34
+373 360
+373 359
+373 357
+373 330
+37 33
+373 291
+373 265
+373 264
+373 263
+373 262
+373 260
+373 245
+373 244
+373 238
+373 237
+37 32
+373 145
+373 137
+373 134
+373 133
+373 132
+373 131
+373 130
+373 129
+373 128
+373 127
+373 126
+373 110
+373 102
+372 145
+372 144
+372 143
+372 134
+372 133
+372 132
+372 131
+372 130
+372 129
+372 128
+372 127
+372 126
+371 88
+371 87
+371 81
+371 370
+371 364
+371 295
+371 293
+371 26
+371 256
+371 251
+371 247
+371 237
+371 169
+371 153
+371 137
+371 118
+371 111
+370 367
+370 364
+370 251
+369 367
+369 364
+368 367
+368 364
+368 363
+368 360
+368 359
+368 355
+368 354
+368 353
+368 350
+368 263
+368 262
+368 255
+368 254
+368 253
+368 252
+367 345
+366 40
+366 345
+365 345
+364 345
+363 87
+363 345
+36 32
+363 169
+363 153
+362 40
+362 359
+362 345
+362 263
+362 203
+361 68
+361 345
+361 263
+361 262
+361 150
+360 46
+360 345
+360 331
+360 330
+360 274
+360 273
+360 260
+360 26
+360 23
+360 204
+360 203
+360 188
+359 46
+359 345
+359 331
+359 330
+359 274
+359 273
+359 260
+359 23
+359 221
+359 204
+359 203
+359 188
+359 169
+359 145
+359 118
+359 117
+358 99
+358 9
+358 44
+358 351
+358 345
+358 276
+358 275
+358 274
+358 273
+358 26
+358 244
+358 237
+358 23
+358 168
+358 161
+358 160
+358 149
+358 137
+358 111
+358 10
+357 71
+357 47
+357 46
+357 45
+357 44
+357 345
+357 23
+357 109
+357 107
+357 102
+356 8
+356 352
+356 346
+356 345
+356 316
+356 3
+356 296
+356 251
+356 245
+356 244
+356 242
+356 241
+356 240
+356 238
+356 237
+356 235
+356 233
+356 211
+356 178
+356 177
+356 176
+356 168
+356 167
+356 166
+356 164
+356 161
+356 160
+356 159
+356 158
+356 157
+356 149
+356 137
+356 136
+356 134
+356 133
+356 132
+356 131
+356 130
+356 129
+356 128
+356 127
+356 126
+356 119
+356 118
+356 108
+356 105
+356 103
+355 345
+354 345
+354 301
+354 255
+354 254
+354 253
+354 252
+354 169
+354 151
+354 149
+354 139
+354 137
+353 84
+353 345
+35 32
+352 57
+352 349
+352 348
+352 347
+352 346
+352 345
+352 26
+352 168
+352 167
+352 166
+352 165
+352 164
+352 163
+352 134
+352 133
+352 132
+352 131
+352 130
+352 129
+352 128
+352 127
+352 126
+352 114
+352 113
+352 112
+352 102
+352 10
+351 349
+351 348
+351 347
+351 346
+351 345
+351 263
+351 262
+351 168
+351 167
+351 166
+351 165
+351 164
+351 163
+351 134
+351 133
+351 132
+351 131
+351 130
+351 129
+351 128
+351 127
+351 126
+351 114
+351 113
+351 112
+351 102
+351 10
+350 345
+349 8
+349 71
+349 70
+349 69
+349 57
+349 46
+349 345
+349 25
+349 244
+349 242
+349 238
+349 237
+349 23
+349 158
+349 137
+349 122
+349 121
+349 111
+349 104
+349 103
+348 8
+348 71
+348 70
+348 69
+348 57
+348 46
+348 345
+348 25
+348 244
+348 242
+348 238
+348 237
+348 23
+348 168
+348 158
+348 122
+348 121
+348 111
+348 104
+348 103
+348 102
+347 8
+347 71
+347 70
+347 69
+347 57
+347 46
+347 345
+347 3
+347 25
+347 245
+347 244
+347 242
+347 238
+347 237
+347 23
+347 191
+347 179
+347 178
+347 177
+347 176
+347 168
+347 158
+347 128
+347 127
+347 126
+347 122
+347 121
+347 111
+347 104
+347 103
+347 102
+346 8
+346 71
+346 70
+346 69
+346 57
+346 46
+346 345
+346 25
+346 244
+346 238
+346 237
+346 236
+346 234
+346 233
+346 23
+346 168
+346 158
+346 136
+346 122
+346 121
+346 111
+346 104
+346 103
+346 102
+345 85
+345 71
+345 70
+345 69
+345 40
+345 263
+345 262
+345 221
+345 150
+345 10
+344 295
+344 293
+344 286
+344 285
+344 284
+344 283
+344 282
+344 188
+344 169
+344 111
+343 87
+343 318
+343 251
+34 32
+343 169
+342 318
+341 318
+340 318
+339 318
+339 251
+338 318
+338 251
+337 318
+337 251
+336 327
+336 318
+336 3
+336 237
+336 203
+335 45
+335 327
+335 318
+335 3
+335 237
+335 203
+334 318
+334 156
+333 9
+333 85
+333 324
+333 318
+333 300
+333 299
+333 298
+333 297
+333 278
+333 276
+333 275
+333 274
+333 273
+333 26
+333 257
+333 20
+33 32
+333 169
+332 318
+331 95
+331 94
+331 93
+331 92
+331 91
+331 48
+331 47
+331 46
+331 45
+331 44
+331 330
+331 318
+331 291
+331 278
+331 251
+331 191
+331 171
+331 170
+331 168
+331 137
+331 124
+331 123
+331 11
+331 102
+330 318
+330 300
+330 299
+330 298
+330 297
+330 261
+330 23
+330 204
+330 203
+330 188
+330 118
+330 117
+329 5
+329 4
+329 327
+329 325
+329 324
+329 318
+329 26
+328 323
+328 322
+328 321
+328 320
+328 318
+328 197
+327 318
+327 3
+327 256
+327 179
+327 178
+327 177
+327 176
+327 153
+327 152
+326 4
+326 325
+326 318
+326 257
+326 249
+326 248
+325 76
+325 318
+325 3
+325 256
+325 247
+325 246
+325 179
+325 178
+325 177
+325 176
+325 137
+324 99
+324 94
+324 93
+324 92
+324 91
+324 76
+324 44
+324 318
+324 256
+324 245
+324 244
+324 237
+324 193
+324 168
+324 137
+323 96
+323 94
+323 48
+323 319
+323 318
+323 3
+323 279
+323 237
+323 179
+323 178
+323 177
+323 176
+323 169
+323 158
+323 111
+322 96
+322 94
+322 48
+322 319
+322 318
+322 279
+322 237
+322 158
+322 111
+321 96
+321 94
+321 48
+321 319
+321 318
+321 279
+321 237
+321 158
+321 111
+320 96
+320 94
+320 48
+320 319
+320 318
+320 279
+320 237
+320 158
+320 111
+3 2
+319 318
+319 197
+318 92
+318 91
+318 4
+318 3
+318 197
+318 188
+318 176
+318 152
+318 145
+317 315
+316 99
+316 62
+316 315
+316 261
+316 238
+316 237
+316 167
+316 166
+316 165
+316 164
+316 163
+316 119
+316 118
+316 117
+316 102
+316 101
+316 100
+316 10
+314 48
+314 313
+314 312
+314 195
+314 168
+314 158
+314 157
+314 122
+314 121
+313 312
+313 3
+313 296
+313 247
+313 246
+313 238
+313 237
+313 2
+313 179
+313 178
+313 177
+313 176
+313 175
+313 168
+313 153
+313 137
+313 131
+313 130
+313 129
+313 128
+313 127
+313 126
+313 115
+313 111
+31 30
+31 29
+31 27
+312 66
+312 65
+31 23
+311 79
+311 64
+311 63
+311 303
+310 79
+310 64
+310 63
+310 303
+3 1
+309 79
+309 64
+309 63
+309 303
+308 79
+308 64
+308 63
+308 303
+30 8
+307 79
+307 64
+307 63
+307 303
+306 85
+306 79
+306 64
+306 63
+305 87
+305 79
+305 64
+305 63
+305 296
+305 169
+304 79
+304 64
+304 63
+303 79
+303 64
+303 63
+303 30
+303 278
+303 124
+303 123
+302 79
+302 64
+302 63
+302 40
+30 22
+301 87
+301 85
+301 79
+301 64
+301 63
+301 169
+300 93
+300 85
+300 63
+300 52
+300 37
+300 185
+300 145
+299 93
+299 85
+299 63
+299 52
+299 37
+299 185
+299 145
+298 93
+298 85
+298 63
+298 52
+298 37
+298 185
+298 145
+297 93
+297 85
+297 63
+297 52
+297 37
+297 185
+297 145
+296 87
+296 81
+296 8
+296 64
+296 63
+296 44
+296 3
+296 295
+296 278
+296 230
+296 229
+296 211
+296 200
+296 199
+296 198
+296 195
+296 181
+296 179
+296 178
+296 177
+296 176
+296 170
+296 169
+296 137
+296 124
+296 123
+296 111
+295 87
+295 79
+295 64
+295 63
+295 61
+295 48
+295 47
+295 46
+295 45
+295 44
+295 261
+295 170
+295 169
+295 168
+294 79
+294 64
+294 63
+294 251
+293 88
+293 63
+293 290
+293 287
+293 251
+293 228
+293 190
+293 188
+293 165
+293 153
+292 88
+292 63
+292 290
+292 287
+292 251
+292 228
+29 22
+292 190
+292 188
+292 165
+292 153
+291 64
+291 63
+291 277
+291 260
+291 251
+291 204
+291 203
+291 188
+291 153
+291 140
+290 66
+290 64
+290 63
+290 251
+290 137
+289 64
+289 63
+289 149
+288 64
+288 63
+288 149
+287 64
+287 63
+287 149
+286 64
+286 63
+286 149
+285 64
+285 63
+285 149
+284 64
+284 63
+284 149
+283 64
+283 63
+283 149
+282 64
+282 63
+28 22
+282 149
+281 85
+281 77
+281 76
+281 64
+281 63
+281 245
+281 244
+281 193
+281 181
+281 158
+281 137
+280 96
+280 66
+280 65
+280 64
+280 63
+279 77
+279 76
+279 64
+279 63
+279 30
+279 29
+279 28
+279 278
+279 27
+279 26
+279 197
+279 124
+279 123
+278 92
+278 85
+278 82
+278 8
+278 63
+278 58
+278 40
+278 30
+278 23
+278 221
+278 169
+278 149
+278 140
+277 63
+277 4
+277 3
+277 263
+277 257
+277 199
+277 179
+277 178
+277 177
+277 176
+277 149
+277 140
+277 137
+276 64
+276 63
+276 59
+276 58
+276 52
+276 47
+276 46
+276 45
+276 245
+276 244
+276 237
+276 203
+276 193
+276 177
+276 143
+275 64
+275 63
+275 59
+275 58
+275 52
+275 47
+275 46
+275 45
+275 245
+275 244
+275 237
+275 203
+275 193
+275 177
+275 143
+275 136
+274 64
+274 63
+274 59
+274 58
+274 52
+274 47
+274 46
+274 45
+274 263
+274 262
+274 245
+274 244
+274 237
+274 203
+274 193
+274 177
+274 143
+273 64
+273 63
+273 59
+273 58
+273 52
+273 47
+273 46
+273 45
+273 263
+273 262
+273 245
+273 244
+273 237
+273 203
+273 193
+273 177
+273 143
+272 64
+272 63
+27 22
+271 64
+271 63
+270 64
+270 63
+270 30
+270 29
+270 27
+270 26
+270 25
+270 24
+270 23
+269 64
+269 63
+26 9
+268 64
+268 63
+268 251
+268 199
+268 198
+268 169
+268 140
+267 68
+267 67
+267 64
+267 63
+267 265
+267 264
+266 66
+266 65
+266 64
+266 63
+265 64
+265 63
+265 47
+265 46
+265 263
+265 262
+265 190
+265 173
+265 170
+264 64
+264 63
+264 47
+264 46
+264 263
+264 262
+264 190
+264 173
+264 170
+263 77
+263 76
+263 64
+263 63
+263 46
+263 260
+263 221
+263 211
+263 203
+263 20
+263 191
+263 187
+263 150
+263 143
+262 64
+262 63
+262 46
+26 23
+262 260
+262 211
+262 203
+26 22
+262 191
+262 187
+262 150
+262 143
+26 20
+261 77
+261 76
+261 64
+261 63
+261 56
+26 15
+261 48
+261 47
+261 46
+261 45
+261 217
+261 201
+261 187
+261 157
+261 145
+261 111
+260 77
+260 76
+260 68
+260 67
+260 64
+260 63
+260 59
+260 58
+260 48
+260 47
+260 46
+260 45
+260 44
+260 3
+260 245
+260 244
+260 23
+260 193
+260 179
+260 178
+260 177
+260 176
+260 168
+260 167
+260 166
+260 165
+260 164
+260 163
+260 153
+260 150
+260 145
+259 96
+259 95
+259 66
+259 65
+259 64
+259 63
+259 257
+259 251
+259 153
+259 145
+258 96
+258 95
+258 66
+258 65
+258 64
+258 63
+258 257
+258 256
+258 153
+258 145
+257 64
+257 63
+257 181
+257 179
+257 169
+257 137
+257 118
+257 117
+256 64
+256 63
+256 5
+256 255
+256 254
+256 253
+256 252
+256 23
+256 203
+256 137
+255 95
+255 94
+255 93
+255 85
+255 58
+255 3
+255 239
+255 238
+255 221
+255 203
+255 199
+255 177
+255 176
+255 137
+255 111
+254 95
+254 94
+254 93
+254 85
+254 58
+254 3
+254 239
+254 238
+254 221
+254 203
+254 177
+254 176
+254 137
+254 111
+253 95
+253 94
+253 93
+253 85
+253 58
+253 3
+253 239
+253 238
+253 221
+253 203
+253 177
+253 176
+253 137
+253 111
+252 95
+252 94
+252 93
+252 85
+252 58
+252 3
+252 239
+252 238
+252 221
+252 203
+25 22
+252 177
+252 176
+252 111
+251 89
+251 72
+251 64
+251 63
+251 48
+251 46
+251 45
+251 27
+251 246
+251 239
+251 237
+251 230
+251 228
+251 227
+251 211
+251 210
+251 199
+251 198
+251 196
+251 166
+251 164
+251 158
+251 157
+251 149
+251 141
+251 137
+251 124
+25 10
+250 8
+250 72
+250 239
+250 238
+250 187
+250 169
+250 140
+249 45
+249 239
+249 165
+248 45
+248 239
+248 165
+247 5
+247 47
+247 245
+247 244
+247 239
+247 217
+247 201
+247 193
+247 157
+247 137
+247 122
+247 118
+246 5
+246 47
+246 245
+246 239
+246 217
+246 201
+246 157
+246 137
+246 122
+246 118
+245 9
+245 70
+245 62
+245 61
+245 58
+245 5
+245 47
+245 44
+245 239
+245 238
+245 237
+245 23
+245 2
+245 168
+245 161
+245 145
+245 140
+244 9
+244 70
+244 62
+244 61
+244 58
+244 5
+244 48
+244 47
+244 46
+244 45
+244 44
+244 239
+244 238
+244 237
+244 23
+244 2
+244 168
+244 161
+244 145
+244 140
+244 137
+244 10
+243 240
+243 239
+243 238
+243 237
+243 102
+242 56
+242 241
+242 240
+242 239
+242 238
+24 22
+242 168
+242 118
+242 117
+241 62
+241 61
+241 239
+241 238
+241 237
+241 168
+240 62
+240 239
+240 238
+240 237
+240 168
+240 110
+239 62
+239 61
+239 54
+239 53
+239 238
+239 237
+239 193
+239 137
+239 110
+238 9
+238 8
+238 71
+238 70
+238 57
+238 56
+238 55
+238 52
+238 45
+238 44
+238 3
+238 25
+238 234
+238 232
+238 23
+238 211
+238 2
+238 195
+238 193
+238 187
+238 178
+238 177
+238 176
+238 165
+238 164
+238 163
+238 161
+238 160
+238 158
+238 157
+238 153
+238 149
+238 137
+238 119
+238 118
+238 117
+238 115
+238 110
+238 109
+238 108
+238 107
+238 103
+238 102
+238 10
+237 99
+237 9
+237 8
+237 77
+237 76
+237 71
+237 70
+237 62
+237 61
+237 58
+237 57
+237 56
+237 55
+237 52
+237 5
+237 45
+237 44
+237 3
+237 26
+237 25
+237 234
+237 232
+237 23
+237 211
+237 2
+237 197
+237 195
+237 191
+237 187
+237 178
+237 177
+237 176
+237 168
+237 166
+237 165
+237 164
+237 163
+237 161
+237 160
+237 158
+237 157
+237 152
+237 137
+237 136
+237 119
+237 118
+237 117
+237 115
+237 110
+237 109
+237 108
+237 107
+237 103
+237 10
+236 44
+236 232
+235 44
+235 232
+234 45
+234 44
+234 232
+234 167
+234 166
+234 165
+234 164
+234 163
+234 136
+233 45
+233 44
+233 232
+233 167
+233 166
+233 165
+233 164
+233 163
+233 119
+233 118
+233 117
+23 22
+231 97
+231 96
+231 66
+231 65
+23 11
+23 10
+230 97
+230 96
+230 87
+230 66
+230 65
+230 226
+230 199
+230 198
+230 169
+229 97
+229 96
+229 66
+229 65
+228 97
+228 96
+228 66
+228 65
+228 185
+227 97
+227 96
+227 66
+227 65
+227 185
+226 97
+226 96
+226 66
+226 65
+226 199
+226 140
+225 97
+225 96
+225 66
+225 65
+225 185
+224 97
+224 96
+224 66
+224 65
+224 185
+224 169
+223 97
+223 96
+223 66
+223 65
+223 185
+222 97
+222 96
+222 66
+222 65
+222 140
+221 97
+221 96
+221 66
+221 65
+221 40
+221 203
+221 124
+221 123
+220 97
+220 96
+220 77
+220 76
+220 66
+220 65
+220 52
+219 97
+219 96
+219 66
+219 65
+218 97
+218 96
+218 66
+218 65
+218 147
+217 97
+217 96
+217 66
+217 65
+217 48
+217 47
+217 46
+217 45
+217 44
+216 97
+216 96
+216 66
+216 65
+215 97
+215 96
+215 66
+215 65
+214 97
+214 96
+214 66
+214 65
+213 97
+213 96
+213 66
+213 65
+212 97
+212 96
+212 66
+212 65
+211 97
+211 96
+211 66
+211 65
+211 53
+211 30
+211 3
+211 2
+21 12
+211 178
+211 177
+211 176
+211 168
+211 114
+211 113
+211 112
+210 97
+210 96
+210 66
+210 65
+210 185
+2 1
+209 97
+209 96
+209 66
+209 65
+209 184
+209 183
+209 169
+208 97
+208 96
+208 66
+208 65
+207 97
+207 96
+207 66
+207 65
+206 97
+206 96
+206 66
+206 65
+205 97
+205 96
+205 66
+205 65
+205 185
+205 184
+205 183
+204 97
+204 96
+204 66
+204 65
+204 48
+204 47
+204 46
+204 45
+204 44
+203 97
+203 96
+203 66
+203 65
+203 48
+203 47
+203 46
+203 45
+203 44
+203 191
+203 152
+203 149
+203 136
+203 134
+203 133
+203 132
+203 131
+203 130
+203 129
+203 128
+203 127
+203 126
+202 97
+202 96
+202 65
+201 97
+201 96
+201 66
+201 65
+201 47
+201 46
+201 45
+201 44
+20 12
+201 169
+200 97
+200 96
+200 66
+200 65
+199 97
+199 96
+199 66
+199 65
+199 140
+198 97
+198 96
+198 66
+198 65
+198 175
+198 169
+198 140
+197 97
+197 96
+197 94
+197 66
+197 65
+197 48
+197 158
+197 111
+196 97
+196 96
+196 66
+196 65
+196 64
+196 63
+196 185
+195 3
+195 2
+195 194
+195 179
+195 178
+195 177
+195 176
+195 168
+195 115
+195 111
+194 93
+194 92
+194 91
+194 75
+194 177
+193 9
+193 70
+193 62
+193 61
+193 58
+193 5
+193 44
+193 3
+193 2
+193 189
+193 179
+193 178
+193 177
+193 176
+193 161
+193 140
+193 137
+193 136
+192 189
+19 14
+19 13
+19 12
+191 189
+191 170
+190 189
+190 171
+190 170
+190 151
+190 137
+190 11
+189 137
+188 186
+188 171
+188 170
+188 169
+188 137
+188 11
+187 62
+187 186
+187 168
+187 118
+187 117
+187 102
+186 9
+186 169
+1858 237
+1857 621
+1856 192
+1855 237
+1854 467
+1853 677
+185 27
+1852 460
+185 182
+1851 140
+1850 560
+1850 1009
+1849 621
+1848 149
+1847 9
+1846 9
+1845 677
+1844 52
+1844 458
+1843 58
+1842 621
+184 182
+1841 23
+1840 140
+1839 677
+1838 181
+1837 1345
+1836 621
+1835 961
+1834 52
+1833 144
+1833 143
+1832 458
+183 182
+1831 44
+1830 1176
+182 97
+182 96
+1829 460
+1828 1827
+1827 1768
+182 66
+182 65
+1826 1662
+1825 52
+1825 458
+1824 461
+1823 881
+1822 881
+1821 881
+182 169
+1820 881
+1819 881
+1818 881
+1817 881
+1816 1815
+1814 881
+1813 492
+181 3
+1812 45
+18 12
+181 180
+181 179
+181 178
+181 177
+181 176
+1811 579
+1810 964
+1809 23
+1808 752
+1807 1499
+1806 989
+1806 229
+1805 464
+1805 237
+1804 23
+1803 448
+1803 251
+180 26
+1802 251
+1801 1791
+1800 184
+1800 183
+1799 352
+179 92
+179 91
+179 9
+179 89
+1798 1291
+1797 52
+1796 909
+1796 621
+1796 439
+1796 438
+1796 1781
+1796 149
+179 59
+179 58
+1795 439
+1795 438
+1795 375
+179 5
+179 48
+1794 439
+1794 438
+1794 375
+1794 211
+179 4
+1793 439
+1793 438
+1793 375
+1793 211
+1792 536
+179 2
+1791 93
+179 17
+179 16
+179 158
+179 154
+1791 536
+179 15
+179 149
+179 143
+179 140
+179 137
+179 122
+179 121
+1790 1397
+1789 383
+1789 331
+1789 203
+178 92
+1789 1077
+178 91
+178 9
+178 89
+1788 1246
+1788 1061
+178 8
+1787 1246
+1787 1061
+178 62
+1786 1291
+178 59
+178 58
+1785 753
+178 5
+178 48
+1784 753
+178 4
+1783 115
+1782 1313
+178 2
+178 17
+178 168
+178 16
+178 158
+178 157
+178 154
+178 15
+178 149
+178 143
+178 140
+178 137
+1781 325
+178 122
+178 121
+178 119
+178 118
+1781 1762
+178 117
+1781 1565
+1781 149
+1781 1455
+1780 110
+1779 371
+177 92
+177 91
+177 9
+177 89
+1778 371
+177 8
+1777 121
+1776 560
+177 62
+1776 118
+1776 117
+1776 1011
+1775 99
+177 59
+177 58
+1775 1774
+177 5
+177 48
+177 4
+1773 903
+1773 237
+1772 605
+177 26
+177 2
+177 17
+177 168
+177 161
+177 160
+177 16
+177 158
+177 157
+177 154
+177 15
+177 149
+177 143
+177 140
+177 137
+1771 347
+177 128
+177 127
+177 126
+177 122
+177 121
+177 119
+1770 1658
+1769 44
+176 92
+176 91
+176 9
+176 89
+1768 1767
+176 8
+176 62
+1766 1246
+1766 1061
+176 59
+176 58
+1765 260
+176 5
+176 48
+176 44
+1764 260
+176 4
+1763 987
+1763 741
+1763 260
+1762 909
+176 26
+1762 325
+1762 261
+1762 260
+1762 1565
+1762 145
+1762 1185
+176 2
+176 17
+176 16
+176 158
+176 157
+176 154
+176 15
+176 149
+1761 44
+176 143
+176 140
+176 137
+176 136
+1761 268
+1761 249
+1761 248
+176 122
+176 121
+176 118
+176 117
+1760 371
+1759 1758
+1759 1757
+175 9
+1758 1757
+1757 52
+1756 87
+1755 831
+1755 1198
+1754 1753
+1752 1738
+1751 87
+175 154
+1751 467
+175 140
+1751 169
+1750 87
+1750 169
+1749 87
+1749 169
+1748 87
+1748 371
+1748 169
+1747 184
+1747 183
+1747 169
+1747 140
+1746 169
+1745 169
+1745 140
+174 48
+1744 753
+1744 169
+1743 325
+1743 261
+1743 260
+1743 1565
+1743 145
+1743 1185
+1742 622
+174 170
+174 154
+1741 1621
+1741 1620
+1740 460
+1739 1735
+173 9
+1738 912
+1738 677
+1738 579
+1738 492
+1738 474
+1738 149
+1737 912
+1736 912
+1736 149
+1735 256
+173 48
+1734 448
+1734 251
+1733 1247
+1732 4
+1732 1211
+173 170
+173 154
+1731 1678
+1730 559
+1730 168
+17 3
+1729 881
+172 9
+1728 293
+1728 292
+1727 961
+1727 293
+1727 292
+1727 237
+1726 1247
+1726 1021
+1725 570
+172 48
+1724 44
+1723 145
+1722 140
+172 170
+1721 699
+172 154
+1721 415
+1721 30
+1720 699
+1720 415
+1720 30
+1719 582
+1719 581
+1719 557
+1719 110
+1718 1291
+171 79
+1717 561
+1717 560
+1717 1312
+1717 118
+1717 117
+171 64
+171 63
+1716 118
+171 6
+1715 950
+1714 950
+1713 331
+1713 188
+1713 137
+1713 1037
+1713 1036
+1712 439
+1712 438
+1712 375
+171 23
+1712 211
+17 12
+1711 563
+1711 562
+171 154
+171 149
+1711 458
+1711 383
+171 137
+1711 347
+1711 331
+1711 245
+1711 244
+1711 237
+1711 203
+1711 193
+1711 1584
+1710 615
+1710 562
+1710 458
+1710 1208
+1709 484
+1708 484
+1707 99
+1707 484
+1707 47
+1706 512
+170 6
+1705 512
+170 48
+170 47
+170 46
+1704 512
+170 45
+170 44
+1703 537
+1702 58
+1702 460
+170 23
+170 155
+170 154
+170 149
+1701 331
+1701 188
+170 111
+1701 1037
+1701 1036
+1700 317
+1700 316
+1699 169
+1698 950
+169 89
+169 88
+169 85
+169 83
+169 81
+169 79
+1697 80
+169 7
+1696 66
+1696 65
+169 64
+1696 1480
+1695 66
+1695 65
+1694 87
+1694 472
+1694 467
+1694 169
+1693 87
+169 38
+169 37
+169 36
+169 35
+1693 472
+1693 467
+169 34
+169 33
+1693 169
+1692 87
+1692 817
+169 27
+1692 472
+1692 169
+1691 87
+1691 817
+169 156
+169 154
+169 153
+169 152
+1691 472
+169 141
+169 140
+169 137
+169 124
+169 123
+1691 169
+169 11
+1690 944
+1690 1345
+168 99
+1689 87
+1689 817
+1689 472
+1689 169
+168 9
+1688 87
+1688 66
+1688 65
+1688 296
+1688 171
+1688 170
+1688 169
+1688 11
+1687 576
+1687 352
+168 72
+1687 1092
+168 70
+1686 547
+168 62
+1686 1685
+1686 1662
+1685 677
+168 55
+168 5
+168 48
+168 47
+168 46
+1684 512
+168 45
+168 44
+1683 237
+1683 1682
+168 3
+168 26
+168 25
+1682 490
+1682 460
+1682 237
+1682 1092
+168 2
+1681 87
+168 167
+168 166
+168 164
+168 163
+168 162
+168 161
+168 160
+168 158
+168 154
+168 143
+1681 371
+168 122
+168 118
+1681 169
+168 111
+1680 945
+1679 945
+1678 1677
+1676 1098
+1675 749
+1674 738
+1674 726
+1674 438
+1674 375
+1674 110
+1673 738
+1673 726
+1673 438
+1673 375
+1673 110
+1672 16
+1672 15
+167 159
+167 154
+167 118
+167 117
+1671 16
+1671 15
+1670 23
+1669 66
+1669 65
+1668 52
+1667 888
+1667 665
+1667 664
+1667 582
+1667 581
+1667 557
+1666 1499
+1665 796
+1665 291
+166 44
+1664 181
+1664 110
+1663 1176
+1662 998
+1662 87
+1662 411
+1662 410
+1662 169
+166 159
+166 154
+1661 411
+1661 410
+1661 251
+1661 1159
+1660 411
+1659 411
+1659 410
+1658 1657
+1656 8
+1656 420
+1656 1036
+1655 8
+1655 420
+1655 1036
+1654 8
+1654 726
+1653 8
+1653 726
+1652 8
+1651 8
+1651 615
+165 159
+1651 562
+165 154
+1651 458
+1651 439
+1651 438
+1651 375
+165 136
+1651 211
+1651 1208
+1650 238
+1650 176
+1649 762
+1649 238
+1649 237
+1649 1479
+1649 1475
+1648 238
+1648 237
+1647 888
+1647 44
+1647 238
+1647 237
+1646 648
+1645 977
+1645 648
+1644 977
+1644 648
+1643 260
+1642 1641
+164 159
+164 154
+164 151
+1641 293
+1641 292
+1640 1013
+1639 296
+1639 1013
+1638 40
+1638 260
+1637 40
+1637 260
+1636 40
+1635 40
+1634 40
+1633 548
+1633 546
+1632 460
+1632 371
+163 159
+163 154
+163 118
+163 117
+1631 1600
+1630 1600
+16 3
+1629 1600
+1628 59
+1628 58
+1628 150
+1627 156
+1626 96
+1626 66
+1626 65
+1625 952
+1624 1623
+1622 636
+1621 636
+162 161
+162 160
+162 154
+1621 460
+162 122
+1620 636
+1619 222
+1618 111
+1617 451
+1617 1066
+1616 516
+1616 514
+1616 513
+1616 168
+1615 1499
+1614 945
+16 14
+1613 383
+1613 331
+1613 203
+1613 1077
+16 13
+1612 3
+161 23
+1612 169
+1612 152
+1612 1424
+16 12
+1611 87
+1611 82
+161 154
+1611 472
+1611 467
+161 137
+1611 27
+161 118
+1611 1098
+1610 80
+1610 418
+1610 169
+1609 515
+1609 168
+1609 167
+1609 166
+1609 165
+1609 164
+1609 163
+1608 44
+1608 238
+1608 237
+1608 167
+1608 166
+1608 165
+1608 164
+1608 163
+1608 118
+1608 117
+1608 101
+1608 100
+1607 762
+1607 238
+1607 237
+1607 1479
+1607 1475
+1606 462
+1606 461
+1606 460
+1606 459
+1606 45
+1606 44
+1606 238
+1606 237
+1606 2
+1606 118
+1605 462
+1605 461
+1605 460
+1605 459
+1605 458
+1605 45
+1605 2
+1605 1312
+1605 118
+1604 835
+1604 344
+1604 1220
+1603 1602
+1603 1601
+160 23
+1602 1601
+160 154
+160 149
+160 137
+160 118
+1600 1599
+1598 371
+1598 137
+1597 462
+1597 461
+1597 460
+1597 459
+1597 458
+1597 45
+1597 2
+1597 118
+1596 168
+1595 689
+1595 688
+1595 319
+1594 552
+1593 552
+1592 552
+1592 333
+1592 257
+1591 58
+1591 578
+1591 562
+1591 552
+159 154
+159 144
+1591 281
+1591 260
+1591 238
+1591 1216
+1591 1213
+1590 763
+1590 582
+1590 581
+1590 557
+1590 552
+1590 511
+1590 510
+1590 509
+1590 358
+1590 245
+1590 244
+1590 238
+1590 237
+1589 782
+1589 552
+1588 352
+1587 796
+1587 291
+1586 636
+1586 1303
+1585 648
+1584 731
+1584 730
+1584 515
+1584 191
+1583 298
+158 3
+158 26
+1582 548
+1582 546
+158 2
+1581 938
+1581 937
+1581 936
+1581 935
+1581 904
+1581 741
+1581 70
+1581 654
+158 154
+1581 460
+158 137
+1581 316
+158 119
+158 115
+1581 1314
+158 111
+1581 104
+158 110
+158 10
+1580 987
+1579 1121
+1578 753
+1577 433
+1577 432
+1577 1472
+1577 1471
+1576 433
+1576 432
+1576 251
+1576 1472
+1576 1471
+1575 85
+157 58
+1575 397
+1575 396
+1575 137
+1574 85
+1574 397
+1574 396
+1574 137
+1573 85
+1573 454
+1573 453
+1573 397
+1573 396
+1573 137
+157 3
+1572 85
+1572 454
+1572 453
+1572 397
+1572 396
+1572 137
+157 2
+1571 85
+157 154
+1571 454
+1571 453
+1571 397
+1571 396
+157 119
+157 115
+157 111
+1570 108
+156 99
+1569 582
+1569 581
+1569 557
+1569 356
+1569 238
+1569 237
+1569 1327
+1569 121
+1568 356
+1568 1292
+156 77
+156 76
+1567 251
+156 7
+1566 738
+1566 726
+156 66
+156 65
+1566 438
+1566 375
+1566 110
+1565 845
+1565 552
+1565 4
+1565 326
+1565 277
+1565 257
+1565 250
+1565 1564
+1565 149
+1565 1455
+1564 652
+1564 4
+156 44
+1564 277
+1564 237
+1564 149
+1564 1391
+1564 137
+1563 1562
+156 154
+156 153
+1561 1206
+1560 156
+1560 1206
+1559 626
+1559 260
+1559 1135
+1558 347
+1558 10
+1557 401
+1557 1268
+1557 1267
+1557 1254
+1557 1251
+1557 1037
+1557 1036
+1557 1017
+1556 743
+1556 149
+1555 1359
+1554 86
+1554 707
+1554 706
+1554 705
+1554 704
+1554 703
+1554 662
+1554 296
+1554 229
+1553 86
+1553 707
+1553 706
+1553 705
+1553 704
+1553 703
+1553 662
+1553 296
+1553 229
+1552 86
+1552 707
+1552 706
+1552 705
+1552 704
+1552 703
+1552 662
+1552 296
+1552 229
+1551 87
+155 154
+1551 467
+1551 297
+1551 296
+1551 169
+1550 888
+1550 804
+1550 66
+1550 65
+1550 260
+1550 23
+1550 168
+1549 622
+1549 323
+1549 322
+1549 321
+1549 320
+1549 238
+1549 237
+1549 197
+1549 110
+1548 9
+1548 762
+1548 70
+1548 458
+1548 237
+1548 23
+1548 1116
+1548 1091
+1547 383
+1547 331
+1547 203
+1547 1506
+1547 140
+1546 783
+1546 782
+1546 552
+1546 374
+1545 2
+1544 87
+1544 169
+1543 244
+154 3
+1542 461
+1542 110
+1541 260
+154 11
+1540 622
+1540 238
+1540 237
+1540 149
+1540 110
+1539 89
+1539 725
+1539 649
+1539 621
+1539 579
+1539 439
+1539 438
+1539 375
+1539 1015
+153 89
+153 88
+1538 649
+1538 195
+1538 158
+1538 157
+1537 727
+1537 725
+1537 649
+1537 579
+1537 498
+1536 903
+1536 649
+1535 460
+1535 458
+1535 102
+1534 102
+1533 528
+1533 356
+1533 1292
+1533 102
+1532 888
+1532 102
+153 148
+153 137
+1531 238
+1531 237
+153 118
+1531 102
+1530 336
+1530 335
+1530 152
+15 3
+1529 1324
+1528 8
+1528 420
+1528 1036
+1527 1525
+1526 1525
+152 45
+1524 1523
+152 3
+1522 751
+1522 145
+1521 801
+1521 751
+152 148
+152 11
+152 109
+1520 881
+1519 749
+1519 636
+1519 552
+1519 168
+1519 1312
+1519 110
+1518 912
+1517 1206
+1516 562
+1516 552
+1516 1216
+1516 1213
+1515 79
+1515 228
+1514 79
+1514 228
+15 14
+1513 1260
+15 13
+1512 1511
+15 12
+151 148
+151 137
+1510 64
+1510 147
+1509 64
+1509 147
+1508 460
+1508 356
+1508 1292
+1507 689
+1507 688
+1507 319
+1506 371
+1506 198
+1506 176
+1506 175
+1506 140
+1505 950
+150 59
+150 58
+1504 87
+150 48
+150 47
+150 46
+150 45
+1504 467
+150 44
+1504 169
+1503 461
+1503 1086
+1502 942
+1502 941
+1502 940
+1502 458
+1502 374
+1502 2
+150 148
+150 140
+150 139
+150 125
+1501 102
+150 109
+150 108
+150 107
+150 104
+150 103
+1500 987
+1500 249
+1500 248
+1500 1243
+1499 1498
+1497 579
+1496 711
+1496 621
+1495 711
+1495 621
+149 5
+1494 711
+1493 711
+149 3
+1492 711
+149 23
+149 2
+149 148
+149 140
+149 137
+149 124
+149 123
+1491 114
+1491 113
+1491 112
+149 11
+1490 988
+1490 941
+1490 931
+1490 782
+1490 726
+1490 52
+1490 441
+1490 375
+1490 1021
+1490 1020
+1490 1002
+1489 629
+1489 433
+1489 432
+1489 251
+1489 1472
+1489 1471
+1488 667
+1488 629
+1488 446
+1487 629
+1487 446
+1486 629
+1486 446
+1486 1260
+148 59
+1485 668
+1485 667
+1485 629
+1485 446
+1484 1065
+1483 177
+1482 75
+1482 195
+1482 177
+148 140
+148 139
+148 138
+148 137
+148 125
+1481 144
+1481 143
+148 109
+148 108
+148 107
+148 104
+148 103
+1480 755
+1480 618
+1480 358
+1480 1293
+147 97
+1479 618
+1479 615
+147 96
+1479 44
+1479 389
+1479 356
+1479 238
+1479 237
+1479 119
+1479 101
+1479 100
+1478 711
+1478 439
+1478 438
+1477 711
+1477 439
+1477 438
+1477 378
+1476 8
+1476 621
+147 66
+1476 579
+147 65
+1476 438
+147 64
+1476 378
+147 63
+1476 211
+1475 8
+1475 711
+1475 621
+1475 439
+1475 438
+1475 389
+1475 378
+1475 375
+1475 356
+1475 238
+1475 237
+1475 211
+1475 167
+1475 166
+1475 165
+1475 164
+1475 163
+1474 782
+1474 622
+1474 378
+1473 296
+1472 251
+1472 1376
+147 146
+1471 251
+1471 1376
+1470 629
+1470 460
+1470 45
+1470 44
+1470 360
+1470 359
+1470 331
+1470 237
+1470 176
+1469 790
+1469 789
+1469 788
+1469 360
+1469 359
+1469 159
+1469 158
+1469 157
+1468 909
+1468 790
+1468 789
+1468 788
+1468 360
+1468 359
+1467 790
+1467 789
+1467 788
+1467 658
+1467 515
+1467 360
+1467 359
+1467 137
+146 64
+1466 237
+1465 879
+1465 614
+1465 613
+1465 379
+1465 238
+1465 237
+1465 1143
+1465 1142
+1465 114
+1465 113
+1465 112
+1465 102
+1464 614
+1464 613
+1464 510
+1464 509
+1464 238
+1464 237
+1463 1462
+1461 562
+1461 552
+1461 1216
+1461 1213
+1460 169
+1460 140
+1459 1458
+1457 324
+1457 176
+1457 117
+1456 324
+1456 176
+1456 117
+1455 325
+1455 324
+1455 261
+1455 260
+1455 145
+1455 1185
+1454 677
+145 44
+1453 27
+1453 228
+1453 227
+1453 225
+1453 223
+1453 210
+1453 205
+1453 196
+145 23
+1452 27
+1452 228
+1452 227
+1452 225
+1452 223
+1452 210
+1452 205
+1452 196
+1451 552
+1451 46
+145 142
+1451 377
+1451 352
+145 134
+1451 331
+145 133
+145 132
+145 131
+145 130
+145 129
+145 128
+145 127
+145 126
+1451 203
+145 118
+145 117
+1451 1325
+1451 117
+1450 48
+1450 47
+1450 46
+1450 45
+1450 44
+1450 261
+1450 122
+1449 48
+1449 47
+1449 46
+1449 45
+1449 44
+1448 511
+1448 510
+1448 509
+1448 48
+1448 47
+1448 46
+1448 45
+1448 44
+1447 48
+1447 47
+1447 46
+1447 45
+1447 44
+1447 244
+1446 511
+1446 510
+1446 509
+1446 48
+1446 47
+1446 46
+1446 45
+1446 44
+1445 48
+1445 47
+1445 46
+1445 45
+1445 44
+144 48
+144 47
+144 46
+144 45
+1444 48
+1444 47
+1444 46
+1444 45
+1444 44
+144 44
+1443 932
+1443 511
+1443 510
+1443 509
+1443 48
+1443 47
+1443 46
+1443 45
+1443 44
+1443 150
+1443 1441
+1442 48
+1442 47
+1442 46
+1442 45
+1442 44
+1442 389
+1442 388
+1442 387
+1442 247
+1442 246
+1441 644
+1441 48
+1441 47
+1441 46
+1441 45
+1441 44
+144 142
+144 118
+144 117
+1441 145
+1441 137
+1441 1200
+1440 801
+1440 47
+1440 46
+1440 45
+1440 44
+1440 346
+1440 122
+1440 121
+1439 47
+1439 46
+1439 45
+1439 44
+143 9
+1438 47
+1438 46
+1438 45
+1438 44
+1437 932
+1437 47
+1437 46
+1437 45
+1437 44
+1436 932
+1436 47
+1436 46
+1436 45
+1436 44
+1435 47
+1435 460
+1435 46
+1435 45
+1435 44
+1434 47
+1434 46
+1434 45
+1434 44
+1433 47
+1433 46
+1433 45
+1433 44
+143 3
+1432 47
+1432 46
+1432 45
+1432 44
+1432 356
+1432 1292
+1431 578
+1431 47
+1431 46
+1431 45
+1431 44
+143 142
+143 134
+143 133
+143 132
+143 131
+143 130
+143 129
+143 128
+143 127
+143 126
+1431 168
+1431 1236
+1431 122
+1431 121
+1430 48
+1430 47
+1430 46
+1430 45
+1430 44
+1430 2
+1429 48
+1429 47
+1429 46
+1429 45
+1429 44
+1429 383
+1429 331
+1429 203
+1429 137
+1429 1077
+1428 1426
+1427 1426
+1426 1319
+1425 237
+142 47
+142 46
+142 45
+142 44
+1424 336
+1424 335
+1424 276
+1424 275
+1424 274
+1424 273
+1424 245
+1424 244
+1424 193
+1424 152
+1423 276
+1423 275
+1423 274
+1423 273
+1423 245
+1423 244
+1423 193
+1422 276
+1422 275
+1422 274
+1422 273
+1422 245
+1422 244
+1422 193
+1421 276
+1421 275
+1421 274
+1421 273
+1421 245
+1421 244
+1421 193
+1420 276
+1420 275
+1420 274
+1420 273
+141 98
+1419 649
+1419 511
+1419 510
+1419 509
+1419 276
+1419 275
+1419 274
+1419 273
+1418 909
+1418 790
+1418 789
+1418 788
+1418 460
+1418 360
+1418 359
+1418 276
+1418 275
+1418 274
+1418 273
+1417 168
+1417 1354
+1417 1353
+1417 1352
+1417 1351
+1417 1350
+1417 1349
+1416 184
+1416 183
+1415 942
+1415 941
+1415 940
+1414 460
+1413 942
+1413 941
+1413 940
+1413 458
+1413 374
+1413 2
+1412 738
+1412 726
+1412 438
+1412 375
+1412 110
+14 12
+1411 579
+141 108
+1410 881
+140 98
+1409 64
+140 94
+1409 263
+1408 1291
+1407 575
+1406 8
+1406 783
+1406 782
+1406 711
+1406 621
+1406 441
+1406 439
+1406 438
+1406 378
+1406 375
+1406 356
+1406 211
+1406 168
+1406 114
+1406 113
+1406 112
+1406 1003
+1406 1002
+1406 1001
+140 59
+140 58
+1405 66
+1405 65
+1405 1322
+1404 846
+1403 3
+1403 179
+1403 178
+1403 177
+1403 176
+140 3
+140 26
+1402 3
+1402 179
+1402 178
+1402 177
+1402 176
+1401 998
+1401 997
+1401 370
+1401 354
+140 124
+140 123
+1401 179
+1401 1171
+1400 521
+1400 3
+1400 179
+1400 178
+1400 177
+1400 176
+1400 171
+1400 170
+1400 168
+1399 909
+139 98
+1399 521
+1399 3
+1399 179
+1399 178
+1399 177
+1399 176
+1399 159
+1399 158
+1399 157
+1398 3
+1398 179
+1398 178
+1398 177
+1398 176
+1397 847
+1397 831
+1397 179
+1396 726
+1396 3
+1396 179
+1396 178
+1396 177
+1396 176
+139 59
+139 58
+1395 3
+1395 179
+1395 178
+1395 177
+1395 176
+1394 3
+1394 179
+1394 178
+1394 177
+1394 176
+1393 3
+1393 179
+1393 178
+1393 177
+1393 176
+1392 909
+1392 888
+1392 512
+1392 329
+1392 3
+1392 179
+1392 178
+1392 177
+1392 176
+1392 137
+1391 753
+1391 512
+1391 329
+1391 3
+1391 256
+1391 179
+1391 178
+1391 177
+1391 176
+1391 1386
+1390 65
+138 98
+1389 1043
+1389 1042
+1389 1041
+1389 102
+1388 99
+1388 911
+1388 9
+1388 70
+1388 460
+1388 4
+1388 324
+1388 244
+1388 1377
+138 8
+1387 211
+1386 965
+1386 911
+1386 803
+1386 648
+1386 237
+1386 17
+1386 16
+1386 15
+1385 378
+1384 608
+1384 485
+138 44
+1384 296
+1384 260
+1384 136
+1383 795
+1383 794
+1383 793
+1383 792
+1383 791
+1383 644
+1383 354
+1383 316
+1383 181
+1383 151
+1383 149
+1383 1216
+1382 988
+1382 982
+1382 278
+1382 251
+1382 1326
+1381 982
+1381 458
+1381 3
+1381 278
+138 118
+1381 179
+1381 178
+1381 177
+1381 176
+1380 648
+137 98
+1379 535
+137 94
+1379 323
+1379 322
+1379 321
+1379 320
+1379 197
+1379 153
+137 9
+137 87
+1378 535
+1378 156
+1378 153
+1377 888
+1377 77
+1377 76
+1377 479
+1377 418
+1377 331
+1377 325
+137 72
+137 70
+1376 536
+1376 433
+1376 432
+137 64
+137 63
+1376 278
+1376 124
+1376 123
+137 59
+137 58
+1375 536
+1375 278
+1375 124
+1375 123
+137 5
+1374 79
+137 46
+1374 536
+1374 278
+1374 228
+1374 124
+1374 123
+1373 535
+1373 278
+1373 153
+1373 123
+137 3
+137 25
+137 23
+1372 278
+1372 169
+1372 124
+1372 123
+1371 535
+137 135
+1371 278
+137 119
+137 117
+1371 153
+1371 124
+1371 123
+137 109
+137 107
+137 10
+1370 96
+1370 796
+1370 66
+1370 65
+1370 535
+1370 291
+1370 278
+1370 251
+1370 153
+1370 124
+1370 123
+136 98
+1369 1368
+136 9
+1367 211
+1367 176
+1366 908
+1366 907
+1366 762
+1366 563
+1366 562
+1366 561
+1366 556
+1366 527
+1366 526
+1366 458
+1366 245
+1366 244
+1366 193
+1366 137
+1366 1227
+1366 1040
+1365 85
+136 58
+1365 397
+1365 396
+136 52
+1365 137
+1364 1250
+1363 942
+1363 941
+1363 940
+136 23
+1362 292
+1362 1158
+136 2
+136 135
+1361 278
+136 118
+136 117
+1361 124
+1361 123
+136 107
+136 104
+136 10
+1360 372
+1360 143
+1359 983
+135 98
+1359 521
+1359 333
+1359 3
+1359 179
+1359 178
+1359 177
+1359 176
+1359 175
+1359 1358
+1357 881
+135 77
+135 76
+1356 280
+1355 95
+1355 93
+1355 92
+1355 91
+1355 1258
+1354 512
+1354 1348
+1353 512
+1353 1348
+1352 512
+1352 1348
+1351 512
+1351 238
+1351 237
+1351 1348
+1350 512
+1350 238
+1350 237
+1350 1348
+134 98
+1349 512
+1349 1348
+134 9
+1348 648
+1348 529
+1348 168
+1348 1195
+1348 119
+1347 515
+1346 52
+1345 844
+1345 831
+1345 606
+1345 1223
+1345 1222
+134 46
+1344 1223
+1344 1222
+1343 371
+134 3
+1342 324
+134 23
+1342 102
+1341 30
+1341 1068
+134 102
+1340 897
+1340 896
+1340 665
+1340 664
+1339 897
+1339 896
+133 98
+1339 665
+1339 664
+1339 169
+1339 140
+133 9
+1338 897
+1338 896
+1337 293
+1337 292
+1337 251
+1337 1158
+1336 294
+1336 251
+1336 1335
+1335 251
+133 46
+1334 27
+1334 228
+1334 227
+1334 225
+1334 223
+1334 210
+1334 205
+1334 196
+1333 23
+133 3
+1332 796
+133 23
+1332 291
+1332 1331
+1331 579
+1331 358
+1330 156
+1330 1329
+1329 844
+1329 831
+132 98
+1329 323
+1329 322
+1329 321
+1329 320
+1329 293
+1329 292
+1329 197
+1329 174
+1329 173
+1329 172
+132 9
+1328 834
+1328 466
+1328 465
+1327 888
+1327 563
+1327 562
+1327 466
+1327 465
+1327 352
+1327 351
+1327 238
+1327 237
+1327 118
+1327 117
+1326 466
+1326 465
+1326 356
+1326 245
+1326 244
+1326 193
+1326 168
+1325 466
+1325 465
+1325 356
+1325 245
+1325 244
+1325 238
+1325 237
+1325 193
+1325 168
+1325 118
+1325 117
+1325 1043
+1325 1042
+1325 1041
+132 46
+1324 466
+1324 465
+1324 459
+1324 458
+1324 3
+1324 245
+1324 244
+1324 238
+1324 237
+1324 193
+1324 178
+1324 177
+1324 176
+1324 102
+1323 62
+1323 466
+1323 465
+1323 245
+1323 244
+1323 238
+1323 237
+1323 193
+132 3
+1322 987
+1322 543
+132 23
+1321 87
+1321 543
+1321 467
+1321 169
+132 102
+1320 606
+1320 543
+131 98
+1319 54
+1319 53
+131 9
+1318 54
+1318 53
+1318 281
+1318 238
+1318 237
+1317 54
+1317 53
+1316 782
+1316 763
+1316 753
+1316 54
+1316 53
+1316 238
+1316 237
+1316 168
+1316 1077
+1316 1076
+1315 904
+1315 54
+1315 53
+1315 441
+1315 238
+1315 237
+1315 1096
+1315 1095
+1314 904
+1314 614
+1314 613
+131 46
+1314 54
+1314 53
+1314 511
+1314 510
+1314 509
+1314 441
+1314 238
+1314 237
+1314 118
+1314 117
+1314 1096
+1314 1095
+1313 615
+1313 582
+1313 581
+1313 557
+1313 554
+1313 54
+1313 53
+1313 458
+1313 44
+1313 167
+1313 166
+1313 165
+1313 164
+1313 163
+1313 137
+1313 119
+1313 102
+131 3
+1312 988
+1312 942
+1312 941
+1312 940
+1312 8
+1312 751
+1312 726
+1312 582
+1312 581
+1312 557
+1312 554
+1312 54
+1312 53
+1312 458
+1312 439
+1312 438
+1312 383
+1312 377
+1312 375
+1312 353
+1312 350
+1312 331
+131 23
+1312 211
+1312 203
+1312 1207
+1312 119
+1312 118
+1312 117
+1312 1096
+1312 1095
+1312 1082
+131 2
+13 12
+1311 554
+1311 54
+1311 53
+1311 42
+1311 102
+1310 749
+1310 56
+1310 55
+1310 54
+1310 53
+1310 458
+130 98
+1309 615
+1309 554
+1309 54
+1309 53
+1309 111
+130 9
+1308 942
+1308 941
+1308 940
+1308 54
+1308 53
+1307 374
+1306 665
+1306 664
+1306 575
+1306 574
+1306 573
+1306 572
+1306 259
+1306 258
+1305 844
+1305 831
+1305 575
+1305 574
+1305 573
+1305 572
+1305 296
+1305 259
+1305 258
+130 46
+1304 575
+1304 574
+1304 573
+1304 572
+1304 259
+1304 258
+1303 724
+1303 179
+1303 1250
+130 3
+1302 554
+1302 54
+1302 53
+130 23
+1302 1301
+130 2
+1301 554
+1301 115
+130 102
+1300 80
+1300 399
+129 98
+1299 54
+1299 53
+1299 238
+1299 237
+129 9
+1298 746
+1298 745
+1298 1296
+1298 1295
+1297 746
+1297 745
+1297 1296
+1297 1295
+1296 746
+1296 745
+1295 746
+1295 745
+129 46
+1294 593
+1293 845
+1293 593
+1293 464
+1293 460
+1293 257
+129 3
+1292 594
+1292 593
+1292 45
+129 23
+1292 118
+1292 117
+129 2
+1291 563
+1291 562
+1291 488
+1291 168
+1291 1290
+129 102
+1290 316
+1289 980
+1289 979
+128 98
+128 9
+1288 77
+1288 76
+1287 1121
+1286 521
+1286 48
+1286 47
+1286 46
+1286 45
+1286 44
+1286 175
+1286 168
+1286 159
+1286 158
+1286 157
+1286 1285
+128 58
+128 46
+1284 52
+1283 948
+128 3
+1282 649
+1282 47
+128 23
+1282 260
+1282 23
+1282 203
+1282 1281
+1282 1149
+128 2
+128 103
+128 102
+1280 68
+1280 67
+1280 66
+1280 65
+1280 623
+127 98
+1279 68
+1279 67
+1279 66
+1279 65
+127 9
+1278 908
+1278 907
+1278 864
+1278 762
+1278 68
+1278 67
+1278 594
+1278 593
+1278 561
+1278 556
+1278 527
+1278 526
+1278 458
+1278 249
+1278 248
+1278 238
+1278 237
+1278 1040
+1277 185
+1276 185
+127 58
+1275 185
+127 46
+1274 185
+1273 185
+127 3
+1272 950
+127 23
+127 2
+1271 621
+1271 1270
+1271 1260
+1271 1014
+127 103
+127 102
+1270 829
+1270 297
+1270 1167
+126 98
+1269 211
+1269 153
+1269 1209
+126 9
+1268 822
+1268 820
+1268 80
+1268 446
+1268 400
+1268 1266
+1268 1036
+1267 822
+1267 820
+1267 80
+1267 446
+1267 400
+1267 1266
+1267 1036
+1266 87
+1266 606
+1266 475
+1266 474
+1266 472
+1266 467
+1266 169
+1266 1254
+1266 1251
+1266 1037
+1266 1036
+1266 1017
+126 58
+1265 649
+1265 479
+1265 458
+1264 87
+126 46
+1264 467
+126 44
+1264 252
+1264 169
+1263 829
+1263 293
+1263 252
+1263 238
+126 3
+1262 85
+126 23
+1262 255
+1262 254
+1262 253
+1262 252
+126 2
+1261 990
+1261 255
+1261 254
+1261 253
+1261 252
+1261 238
+126 103
+126 102
+1260 87
+1260 668
+1260 606
+1260 467
+1260 255
+1260 254
+1260 253
+1260 252
+1260 169
+1260 1167
+1260 1151
+125 98
+1259 52
+1259 255
+1259 254
+1259 253
+1259 252
+1258 255
+1258 254
+1258 253
+1258 252
+1257 845
+1257 326
+1257 268
+1257 255
+1257 254
+1257 253
+1257 252
+1257 169
+1256 255
+1256 254
+1256 253
+1256 252
+125 59
+125 58
+1255 578
+1255 47
+1255 460
+1255 46
+1255 45
+1255 44
+1255 255
+1255 254
+1255 253
+1255 252
+1255 168
+1254 822
+1254 820
+1254 80
+125 48
+125 47
+125 46
+1254 536
+125 45
+1254 446
+1254 400
+125 44
+1254 278
+1254 255
+1254 254
+1254 253
+1254 252
+1254 124
+1254 123
+1254 1036
+1253 888
+1253 790
+1253 789
+1253 788
+1253 54
+1253 53
+1253 360
+1253 359
+1253 276
+1253 275
+1253 274
+1253 273
+1253 255
+1253 254
+1253 253
+1253 252
+1253 238
+1253 237
+1253 114
+1253 113
+1253 112
+1252 987
+1252 255
+1252 254
+1252 253
+1252 252
+1251 822
+1251 820
+1251 80
+1251 446
+1251 400
+1251 255
+1251 254
+1251 253
+1251 252
+1251 1036
+1250 736
+1250 735
+1250 665
+1250 664
+1250 575
+1250 574
+1250 573
+1250 572
+1250 511
+1250 510
+1250 509
+1250 261
+1250 259
+1250 258
+1250 255
+1250 254
+1250 253
+1250 252
+1250 168
+1250 119
+124 98
+1249 550
+1249 443
+124 92
+1249 1110
+1249 1109
+1249 1108
+1249 1107
+1249 1020
+1248 550
+124 85
+1248 443
+124 82
+1248 1110
+1248 1109
+1248 1108
+1248 1107
+1248 1020
+124 8
+1247 550
+1247 443
+1247 238
+1247 237
+1247 1110
+1247 1109
+1247 1108
+1247 1107
+1247 1020
+1247 102
+124 63
+1246 1245
+124 58
+1245 1061
+1244 439
+124 40
+1243 846
+1243 44
+1243 268
+1243 249
+1243 248
+1243 1242
+1243 122
+124 30
+1242 987
+124 23
+1241 985
+124 118
+1241 1240
+123 98
+1239 77
+1239 76
+1239 52
+123 92
+1238 669
+1238 536
+123 85
+1238 475
+1238 474
+1238 278
+123 82
+1238 124
+1238 123
+1238 1037
+1238 1036
+123 8
+1237 636
+1236 920
+1236 62
+1236 48
+1236 47
+1236 466
+1236 465
+1236 46
+1236 45
+1236 44
+1236 314
+1236 3
+123 63
+1236 179
+1236 178
+1236 177
+1236 176
+1236 168
+1235 920
+123 58
+1235 59
+1235 58
+1235 460
+1235 1047
+1234 920
+1234 137
+1234 1047
+123 40
+1233 87
+1233 169
+123 30
+1232 873
+1232 677
+123 23
+1232 211
+1231 712
+123 118
+1231 1180
+1231 1179
+1230 712
+1230 448
+122 99
+122 98
+1229 45
+1228 52
+1227 460
+1227 1226
+1226 70
+1226 622
+122 62
+1226 192
+1226 1083
+1225 579
+1225 179
+1225 137
+1225 135
+1224 965
+122 47
+122 46
+1224 576
+122 45
+1224 45
+122 44
+1224 17
+1224 16
+1224 15
+1224 135
+1224 1047
+1224 1014
+1223 787
+1223 688
+1223 40
+122 3
+1222 787
+1222 688
+1222 40
+1221 511
+1221 510
+1221 509
+122 10
+1220 796
+1220 1219
+1220 1013
+1219 835
+121 98
+1219 344
+1218 244
+1218 193
+1218 1217
+1218 1215
+1217 1215
+1216 3
+1216 260
+1216 244
+121 62
+1216 193
+1216 179
+1216 178
+1216 177
+1216 176
+1216 1215
+1215 562
+1215 552
+1215 1213
+1214 171
+1214 170
+1214 1103
+1214 11
+1213 846
+1213 790
+1213 789
+1213 788
+1213 48
+1213 47
+1213 46
+1213 45
+1213 44
+1213 360
+1213 359
+1213 319
+1213 245
+1213 244
+1213 198
+1213 193
+1213 151
+1213 149
+1213 1103
+121 3
+1212 30
+1212 1068
+1211 966
+1211 491
+121 10
+1210 559
+1210 249
+1210 248
+1210 247
+1210 246
+1210 168
+1210 156
+120 98
+1209 787
+1209 231
+1209 222
+1208 458
+1208 442
+1208 376
+1208 1177
+1207 376
+1207 1177
+1207 1096
+1206 1205
+120 58
+1204 336
+1204 335
+1204 152
+1203 548
+1203 546
+1203 137
+1202 87
+1202 169
+1201 54
+1201 53
+1201 238
+1201 237
+1201 128
+1201 127
+1201 126
+1200 932
+1200 48
+1200 47
+1200 460
+1200 46
+1200 45
+1200 44
+1200 145
+1200 126
+1199 85
+119 98
+1199 736
+1199 735
+1199 447
+1199 230
+1198 447
+1198 230
+119 8
+1197 447
+1197 230
+1196 336
+1196 335
+1196 230
+1196 152
+1195 447
+1195 237
+1195 230
+1194 52
+1193 251
+1193 140
+1193 1192
+1193 1013
+119 3
+1192 976
+1192 796
+1192 291
+1192 260
+119 2
+1191 85
+1191 406
+1191 405
+1191 404
+1191 403
+1191 402
+1191 401
+1191 221
+119 103
+1190 406
+1190 405
+1190 404
+1190 403
+1190 402
+1190 401
+1190 400
+1190 399
+118 98
+1189 760
+1189 759
+1189 758
+1189 482
+1189 403
+1189 402
+118 89
+118 88
+1188 760
+1188 759
+1188 758
+118 87
+118 86
+118 85
+1188 482
+1188 403
+1188 402
+118 83
+118 82
+118 81
+118 80
+118 79
+1187 760
+1187 759
+1187 758
+1187 482
+1187 403
+1187 402
+1187 355
+1187 184
+1187 183
+1187 169
+118 70
+1186 760
+1186 759
+1186 758
+1186 482
+1186 403
+1186 402
+118 59
+118 58
+1185 66
+1185 65
+118 56
+118 52
+1185 1184
+1184 712
+118 44
+1184 325
+1184 261
+1184 260
+1184 145
+1184 1137
+1183 624
+1183 623
+1183 44
+1183 238
+1183 237
+1182 624
+1182 623
+118 26
+1182 458
+1182 380
+1182 356
+118 23
+1182 237
+1181 238
+1181 237
+118 111
+1181 1095
+118 103
+118 101
+118 100
+1180 1178
+117 98
+1179 1178
+117 89
+117 88
+117 87
+117 86
+117 85
+117 83
+117 82
+117 81
+117 80
+1177 988
+117 79
+1177 726
+1177 554
+1177 54
+1177 53
+1177 458
+1177 383
+1177 377
+1177 353
+1177 350
+1177 331
+1177 203
+1177 134
+1177 133
+1177 131
+1177 130
+1177 129
+1177 128
+1177 127
+1177 126
+1177 1096
+1177 1095
+1177 1077
+1177 102
+117 70
+1176 135
+1176 1175
+117 59
+117 58
+117 56
+117 52
+1174 988
+117 44
+1174 2
+1174 1173
+1173 756
+1173 550
+1173 52
+1173 443
+1173 276
+1173 275
+1173 274
+1173 273
+1173 249
+1173 248
+1173 238
+1173 237
+1173 1110
+1173 1109
+1173 1108
+1173 1107
+1173 1020
+117 26
+1172 300
+117 23
+1172 299
+1172 298
+1171 87
+1171 467
+1171 300
+1171 299
+1171 298
+1171 297
+1171 296
+1171 169
+117 111
+117 103
+117 101
+117 100
+1170 300
+1170 299
+1170 298
+1170 297
+1169 87
+1169 85
+116 98
+1169 467
+1169 300
+1169 299
+1169 298
+1169 297
+1169 238
+1169 23
+1169 169
+1168 87
+1168 606
+1168 537
+1168 467
+1168 363
+1168 300
+1168 299
+1168 298
+1168 297
+1168 169
+1167 300
+1167 299
+1167 298
+1167 297
+1167 1014
+1166 300
+1166 299
+1166 298
+1166 297
+1165 421
+1165 420
+1165 419
+1164 421
+1164 420
+1164 419
+1163 421
+1163 420
+1163 419
+1162 421
+1162 420
+1162 419
+1161 421
+1161 420
+1161 419
+1160 421
+1160 420
+1160 419
+1160 296
+11 6
+115 98
+1159 421
+1159 420
+1159 419
+1159 371
+1158 983
+1158 712
+1158 419
+1157 421
+1157 420
+1157 419
+1156 421
+1156 420
+1156 419
+1156 411
+1156 410
+1155 420
+1155 419
+1154 420
+1154 419
+1153 420
+1153 419
+1152 552
+1152 420
+1152 419
+1152 293
+1152 292
+1151 420
+1151 419
+1151 293
+1151 292
+1150 420
+1150 419
+1150 169
+114 98
+1149 420
+1149 419
+1148 971
+1148 77
+1148 76
+1148 420
+1148 419
+1148 333
+1148 169
+1148 1070
+1147 87
+1147 81
+1147 474
+1147 295
+1147 178
+1147 169
+1146 912
+114 69
+1146 833
+1146 748
+1146 515
+1146 474
+1146 418
+1146 295
+1146 23
+1146 111
+1145 81
+114 57
+1145 145
+1144 511
+1144 510
+1144 509
+1144 373
+1144 260
+1144 23
+1143 563
+1143 562
+1143 373
+1143 362
+1143 238
+1143 237
+1143 23
+1143 110
+1143 1086
+1142 615
+1142 563
+1142 562
+1142 373
+1142 362
+1142 238
+1142 237
+1142 23
+1142 110
+1142 1086
+1142 102
+1141 782
+1141 238
+1141 237
+1141 121
+114 10
+1140 461
+1140 110
+1139 965
+113 98
+1139 793
+1139 791
+1139 77
+1139 76
+1139 68
+1139 48
+1139 47
+1139 352
+1139 263
+1139 262
+1139 260
+1139 237
+1139 16
+1139 150
+1139 15
+1138 965
+1138 793
+1138 791
+1138 68
+1138 48
+1138 47
+1138 263
+1138 262
+1138 260
+1138 16
+1138 150
+1138 15
+1137 352
+1137 325
+1137 262
+1137 260
+1137 237
+113 69
+1136 66
+1136 65
+1136 559
+1136 511
+1136 510
+1136 509
+1136 485
+1136 263
+1136 262
+1136 245
+1136 244
+113 57
+1135 559
+1135 323
+1135 322
+1135 321
+1135 320
+1135 263
+1135 262
+1135 261
+1135 197
+1134 790
+1134 789
+1134 788
+1134 360
+1134 359
+1134 276
+1134 275
+1134 274
+1134 273
+1134 263
+1134 262
+1133 888
+1133 782
+1133 263
+1133 262
+1133 238
+1133 237
+1133 168
+1132 888
+1132 782
+1132 768
+1132 458
+1132 263
+1132 262
+1132 238
+1132 237
+1132 114
+1132 113
+1132 112
+1131 263
+1131 262
+113 10
+1130 815
+1130 814
+1130 813
+1130 812
+1130 811
+1130 810
+1130 809
+1130 808
+1129 815
+1129 814
+1129 813
+1129 812
+1129 811
+1129 810
+1129 809
+1129 808
+112 98
+1128 815
+1128 814
+1128 813
+1128 812
+1128 811
+1128 810
+1128 809
+1128 808
+1127 815
+1127 814
+1127 813
+1127 812
+1127 811
+1127 810
+1127 809
+1127 808
+112 69
+1126 667
+1126 629
+1126 446
+112 57
+1125 570
+1125 1123
+1124 1123
+1123 570
+1123 179
+1122 822
+1122 821
+1122 820
+1122 818
+1122 817
+1122 472
+1122 401
+1122 400
+1121 818
+1120 435
+1120 434
+1120 433
+1120 432
+111 98
+1119 20
+1118 536
+1118 278
+1118 124
+1118 123
+1117 782
+1117 587
+1117 238
+1117 237
+1117 102
+1116 888
+1116 751
+1116 587
+1116 511
+1116 510
+1116 509
+1116 488
+1116 462
+1116 316
+1116 3
+1116 238
+1116 237
+1116 178
+1116 177
+1116 176
+1116 168
+1116 102
+111 61
+1115 85
+1115 454
+1115 453
+1115 397
+1115 396
+1114 871
+111 42
+1113 642
+1113 491
+1113 488
+1113 46
+1113 145
+1113 1106
+1112 642
+1112 491
+1112 488
+1112 46
+1112 145
+1112 1106
+1111 1106
+111 102
+1110 741
+1110 740
+1110 54
+1110 53
+1110 119
+1110 1106
+1110 1021
+11 1
+110 98
+1109 741
+1109 740
+1109 54
+1109 53
+1109 1106
+1109 1021
+1108 741
+1108 740
+1108 54
+1108 53
+1108 1106
+1108 1021
+1107 741
+1107 740
+1107 54
+1107 53
+1107 1106
+1107 1021
+1106 550
+1106 52
+1106 443
+1106 276
+1106 275
+1106 274
+1106 273
+1106 238
+1106 237
+1106 1020
+110 58
+1105 361
+1105 263
+1105 262
+110 52
+1104 325
+1104 1100
+1103 801
+1103 796
+1103 497
+1103 363
+1103 291
+1103 198
+1103 181
+1103 137
+1103 1100
+1102 892
+1102 891
+1102 604
+1102 578
+1102 47
+1102 460
+1102 46
+1102 45
+1102 44
+1102 168
+1102 138
+1102 137
+1102 1100
+1101 238
+1101 237
+1101 1100
+110 109
+110 108
+110 107
+110 106
+110 104
+110 103
+110 102
+1100 8
+1100 642
+1100 44
+1100 352
+1100 327
+1100 279
+1100 237
+1100 176
+1100 1013
+109 98
+1099 179
+1099 140
+1098 1097
+1097 87
+1097 82
+1097 472
+1097 467
+1097 27
+1097 169
+1096 938
+1096 904
+1096 376
+1096 1094
+1095 904
+109 59
+109 58
+1095 376
+1095 1094
+1094 904
+1094 54
+1094 53
+1094 441
+109 44
+1094 238
+1094 237
+1094 166
+1094 165
+1094 164
+1094 163
+1093 579
+1093 3
+1093 260
+1092 91
+1092 752
+1092 624
+1092 623
+1092 466
+1092 465
+1092 356
+1092 349
+1092 348
+1092 347
+1092 346
+1092 261
+1092 167
+1092 166
+1092 165
+1092 164
+1092 163
+1092 121
+1092 10
+1091 627
+1091 626
+1091 625
+1091 622
+1091 621
+1091 620
+1091 619
+1091 618
+1091 358
+1091 357
+1091 356
+1091 349
+1091 348
+1091 347
+1091 346
+1091 245
+1091 244
+1091 238
+1091 237
+1091 187
+1091 167
+1091 166
+1091 165
+1091 164
+1091 163
+1091 1043
+1091 1042
+1091 1041
+1091 102
+1091 10
+109 106
+109 102
+1090 644
+1090 349
+108 98
+1089 644
+1089 349
+1088 644
+1088 349
+1087 644
+1087 349
+1087 348
+1087 347
+1087 346
+1087 10
+1086 71
+1086 70
+1086 69
+1086 644
+1086 349
+1086 348
+1086 347
+1086 346
+1086 238
+1086 237
+1086 114
+1086 113
+1086 112
+1086 110
+1086 102
+1086 10
+108 59
+108 58
+1085 783
+1085 782
+1085 356
+1085 349
+1085 348
+1085 347
+1085 346
+1085 316
+1085 168
+1084 8
+1084 711
+1084 621
+1084 58
+1084 439
+1084 438
+1084 378
+1084 375
+1084 349
+1084 348
+1084 347
+1084 346
+1084 211
+1083 462
+1083 461
+1083 460
+1083 459
+1083 458
+1083 45
+1083 349
+1083 348
+1083 347
+1083 346
+1083 238
+1083 237
+1083 2
+1083 118
+1083 1043
+1083 1042
+1083 1041
+1083 102
+1082 749
+108 26
+1082 56
+1082 55
+1082 349
+1082 348
+1082 347
+1082 1079
+1082 1076
+1081 624
+1081 623
+1081 356
+1081 349
+1081 348
+1081 347
+1081 346
+1081 316
+1081 1080
+1081 10
+108 106
+1080 349
+1080 348
+1080 347
+1080 346
+1080 238
+1080 237
+1080 10
+107 98
+1079 349
+1079 348
+1079 347
+1078 349
+1078 348
+1078 347
+1077 833
+1077 801
+1077 8
+1077 739
+1077 711
+1077 55
+1077 45
+1077 439
+1077 383
+1077 378
+1077 261
+1077 251
+1077 207
+1077 203
+1076 935
+1076 739
+1076 52
+107 59
+1075 85
+107 58
+1075 471
+1075 454
+1075 453
+1075 397
+1075 396
+1074 87
+1074 543
+1074 535
+1074 472
+1074 471
+1074 467
+1074 169
+1074 153
+1073 669
+1073 668
+1073 667
+1073 666
+1073 665
+1073 664
+1073 578
+1073 536
+1073 471
+1073 446
+1073 331
+1073 278
+1073 124
+1073 123
+1072 57
+1072 54
+1072 53
+1072 111
+1071 889
+1071 420
+1071 419
+1071 371
+1071 293
+1071 292
+1071 290
+107 106
+1070 404
+1070 403
+1070 402
+1070 290
+1070 251
+1070 221
+1070 150
+106 98
+1069 512
+1068 717
+1068 716
+1068 715
+1068 699
+1068 698
+1068 270
+1067 798
+1067 245
+1067 244
+1067 193
+1067 168
+1067 136
+1066 766
+1066 451
+1066 45
+1066 179
+1066 137
+106 58
+1065 766
+1065 594
+1065 593
+1065 479
+1065 3
+1065 179
+1065 178
+1065 177
+1065 176
+1064 349
+1064 348
+1064 347
+1064 346
+1064 102
+1064 10
+1063 1059
+1062 66
+1062 65
+1062 64
+1062 263
+1062 1059
+1061 1059
+106 104
+106 103
+106 102
+1060 1059
+105 98
+1059 5
+1059 324
+1058 780
+1058 552
+1058 420
+1058 419
+1058 371
+1058 169
+1057 748
+1057 515
+1057 474
+1056 336
+1056 335
+1056 230
+1056 152
+1055 1054
+1053 881
+1052 251
+1052 207
+1051 512
+105 102
+1050 87
+1050 467
+1050 300
+1050 299
+1050 298
+1050 297
+1050 296
+1050 169
+104 98
+1049 504
+1049 158
+1048 504
+1048 158
+1047 768
+1047 767
+1047 764
+1047 390
+1047 137
+1047 135
+1046 444
+1046 349
+1046 348
+1046 347
+1046 346
+1046 10
+104 59
+104 58
+1045 444
+1045 443
+1045 442
+1045 441
+1045 440
+1045 439
+1045 438
+1045 437
+1045 375
+1045 211
+1044 444
+1044 443
+1044 442
+1044 441
+1044 440
+1044 439
+1044 438
+1044 437
+104 44
+1044 375
+1044 211
+1043 613
+1043 44
+1043 347
+1043 1039
+1042 613
+1042 44
+1042 347
+1042 1039
+1041 613
+1041 44
+1041 347
+1041 1039
+104 102
+104 10
+1040 936
+1040 935
+1040 904
+1040 741
+1040 70
+1040 460
+1040 459
+1040 316
+1040 238
+1040 237
+1040 104
+1040 1039
+1040 102
+1039 909
+1039 908
+1039 907
+103 98
+1039 762
+1039 561
+1039 556
+1039 527
+1039 526
+1039 511
+1039 510
+1039 509
+1039 458
+1039 3
+1039 247
+1039 246
+1039 238
+1039 237
+1039 178
+1039 177
+1039 176
+1039 119
+1038 833
+1038 295
+1038 111
+1037 824
+1037 822
+1037 820
+1037 80
+1037 668
+1037 667
+1037 446
+1036 824
+1036 822
+1036 820
+1036 80
+1036 668
+1036 667
+1036 606
+1036 446
+1036 1017
+103 59
+1035 825
+1035 824
+103 58
+1035 67
+1034 825
+1034 824
+1034 67
+1034 137
+1033 825
+1033 824
+1033 67
+1033 137
+1032 825
+1032 824
+1032 67
+103 26
+1032 137
+1031 825
+1031 824
+1031 67
+1031 137
+103 10
+1030 673
+1030 23
+1030 203
+102 98
+1029 673
+1029 366
+1029 365
+1029 23
+1029 203
+1028 673
+1027 750
+1027 238
+1027 237
+1026 750
+1026 238
+1026 237
+1026 114
+1026 113
+1026 112
+1025 782
+1025 750
+1025 263
+1025 262
+1025 238
+1025 237
+1024 750
+1024 665
+1024 664
+1024 582
+1024 581
+1024 557
+102 42
+1023 750
+1023 511
+1023 510
+1023 509
+1023 439
+1023 438
+1023 375
+1023 262
+1023 238
+1023 237
+1023 211
+1023 168
+1023 1003
+1023 1002
+1023 1001
+1022 904
+1022 750
+1022 58
+1022 57
+1022 439
+1022 438
+1022 375
+102 23
+1022 211
+1022 114
+1022 113
+1022 112
+102 2
+1021 550
+1021 443
+1021 238
+1021 237
+1021 1020
+1021 1019
+1020 741
+1020 740
+1020 352
+1020 351
+1020 349
+1020 348
+1020 347
+1020 346
+1020 1019
+1020 10
+1019 988
+1019 941
+1019 931
+101 98
+1019 782
+1019 726
+1019 52
+1019 441
+1019 375
+1019 1002
+1018 748
+1018 59
+1018 58
+1018 515
+1018 474
+1017 890
+1017 889
+1017 822
+1017 820
+1017 80
+1017 446
+1017 400
+1017 255
+1017 254
+1017 253
+1017 252
+1016 890
+1016 889
+1016 649
+1016 511
+1016 510
+1016 509
+1016 48
+1016 47
+1016 46
+1016 45
+1016 44
+1016 276
+1016 275
+1016 274
+1016 273
+1016 263
+1016 262
+1016 150
+1015 890
+1015 889
+1015 87
+1015 834
+1015 59
+1015 58
+1015 514
+1015 513
+1015 512
+1015 48
+1015 47
+1015 467
+1015 46
+1015 45
+1015 44
+1015 3
+1015 247
+1015 246
+1015 179
+1015 178
+1015 177
+1015 176
+1015 169
+1015 168
+1015 137
+1014 909
+1014 763
+1014 622
+1014 603
+101 44
+1014 356
+1014 278
+1014 238
+1014 237
+1014 168
+1014 137
+1014 124
+1014 123
+1014 118
+1014 117
+1014 110
+1014 102
+1013 796
+1013 763
+1013 603
+1013 559
+1013 378
+1013 291
+1013 290
+1013 251
+1012 603
+1012 378
+1012 375
+1012 3
+1012 179
+1011 159
+1011 1010
+1011 1009
+1011 1008
+1011 1007
+1010 349
+1010 348
+1010 347
+1010 1007
+10 1
+100 98
+1009 1007
+1008 1007
+1007 560
+1006 867
+1006 25
+1005 25
+100 44
+1004 349
+1004 348
+1004 347
+1004 346
+1004 25
+1004 110
+1004 102
+1004 10
+1003 8
+1003 782
+1003 726
+1003 54
+1003 53
+1003 52
+1003 439
+1003 438
+1003 375
+1003 25
+1003 211
+1002 782
+1002 726
+1002 54
+1002 53
+1002 52
+1002 25
+1001 782
+1001 726
+1001 54
+1001 53
+1001 52
+1001 25
+1000 550
+1000 42
+1000 25
diff --git a/data/input_graphs/Hamsterster/metadata b/data/input_graphs/Hamsterster/metadata
new file mode 100644
index 0000000..b3ffb4a
--- /dev/null
+++ b/data/input_graphs/Hamsterster/metadata
@@ -0,0 +1,15 @@
+wname: Hamsterster friendships
+code: Shf
+category: Social
+description: User–user friendship
+extr: petster
+long-description: This Network contains friendships between users of the website hamsterster.com.
+entity-names: user
+relationship-names: friendship
+
+n3-prefix-m: konect_petster_friendships_hamster: .
+n3-type-m: foaf:Person
+n3-edgedata-1: $m foaf:knows $n .
+n3-edgedata-2: $n foaf:knows $m .
+
+
diff --git a/data/input_graphs/Hamsterster/nodes b/data/input_graphs/Hamsterster/nodes
new file mode 100644
index 0000000..bc5d8c2
--- /dev/null
+++ b/data/input_graphs/Hamsterster/nodes
@@ -0,0 +1,1857 @@
+ent|dat.name|dat.joined|dat.species|dat.coloring|dat.gender|dat.birthday|dat.age|dat.hometown|dat.favorite_toy|dat.favorite_activity|dat.favorite_food
+"1"|"Dexter"|"August, 2006"|"Hamster (Dwarf)"|"Blonde"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Vernon Hills, IL United States"|"Toilet Paper, paper towels, etc"|"Toilet Paper, paper towels, etc"|"Lettuce"
+"2"|"Tonks"|"April, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"wooden hamster bunker"|"wooden hamster bunker"|"just about anything"
+"3"|"Bunny-Rabbit"|"October, 2004"|"Hamster (Syrian)"|"Black"|"Female"|"August, 2002"|"Gone to Hamster Heaven"|"Chatsworth, GA United States"|"Carpet?"|"Carpet?"|"Doritoes"
+"4"|"Nana"|"June, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"My wheel"|"My wheel"|"Corn and broccoli"
+"5"|"Julia"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"Wooden block"|"Wooden block"|"Sunflower seeds"
+"6"|"Fang"|"July, 2006"|"Hamster (Unknown)"|"Cream"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Manhattan, NY United States"|"My husband likes to put a treat on a string and hang it from the top bar of Fang's cage. He bats at it like a pinata, and then nibbles at it."|"My husband likes to put a treat on a string and hang it from the top bar of Fang's cage. He bats at it like a pinata, and then nibbles at it."|"Fang will eat just about anything, but only if he thinks no one is watching. He doesn't like to have an audience when he eats."
+"7"|"Bella"|"July, 2006"|"Hamster (Syrian)"|"Sable"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"toilet roll tubes"|"toilet roll tubes"|"Sunflower seeds"
+"8"|"October"|"July, 2004"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"sock"|"sock"|"carrots"
+"9"|"Raoul"|"April, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"People! To play with! Friends!"|"People! To play with! Friends!"|"Hamster food. Grape skins. Hates all other human food."
+"10"|"Colonel Angus"|"December, 2004"|"Hamster (Teddy Bear)"|"Honey"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"bathrobe strings"|"bathrobe strings"|"peanut butter"
+"11"|"Ramsey"|"June, 2006"|"Hamster (Syrian)"|"Orange"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Bournemouth, United Kingdom"|"Wheel"|"Wheel"|"Banana, Melon, Monkey nuts"
+"12"|"Mie"|"August, 2006"|"Hamster (Dwarf)"|"Pearl"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"running wheel"|"running wheel"|"chocolates!"
+"13"|"Cream"|"August, 2006"|"Hamster (Unknown)"|"White"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Sunflower Seeds"
+"14"|"Cookie"|"August, 2006"|"Hamster (Unknown)"|"Grey"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"
+"15"|"Tofu"|"June, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Corn"
+"16"|"Sushi"|"June, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Corn"
+"17"|"Dumpling"|"June, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Sunflower seeds"
+"18"|"Moonlight"|"July, 2006"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"wheel"|"wheel"|"white balls and sunflower seeds"
+"19"|"Shadow"|"July, 2006"|"Hamster (Dwarf)"|"Black Banded"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"wheel"|"wheel"|"white balls and sunflower seeds"
+"20"|"Toasty"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wheel"|"Wheel"|"Sunflower seeds"
+"21"|"aH toO"|"August, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Aljunied, Singapore"|"woOdeN pLaygRounD"|"woOdeN pLaygRounD"|"sUnfLoweR seEds"
+"22"|"Stuart"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wheel"|"Wheel"|"All stuff"
+"23"|"Tom"|"October, 2004"|"Hamster (Dwarf)"|"Blue"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"His exercise wheel."|"His exercise wheel."|"Fresh vegetables - especially broccoli, cucumber, and cauliflower."
+"24"|"xiao jin"|"February, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"everything except my owner's fingers"|"everything except my owner's fingers"|"carrots, cabbage, bread, nuts etc"
+"25"|"Nibbles"|"June, 2004"|"Hamster (Dwarf)"|"Cream"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Costa Mesa, CA United States"|"the Wheel"|"the Wheel"|"the Wheel"
+"26"|"peanut"|"August, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Newark, DE United States"|"hamster ball"|"hamster ball"|"peanut has a lot of favorite foods, she likes peanuts carrots celery peaches grapes dougnuts cookies blueberry pie sunflower seeds cashews corn popcorn peanutbutter potato chips waffles pumikn seeds pumkin pie pankakes pet grass candy corn and starbursts"
+"27"|"Lemon"|"August, 2006"|"Hamster (Dwarf)"|"Pearl"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Tissue paper :)"|"Tissue paper :)"|"Brocolli and dried Daffodils"
+"28"|"mini"|"August, 2007"|"Hamster (Roborovskii)"|"Beige"|"Male"|"August, 2007"|"54 months"|"Singapore, Singapore"|"toliet roll"|"toliet roll"|"toliet roll"
+"29"|"Mormor and Horhor"|"July, 2007"|"Hamster (Common)"|"Grey"|"Male"|"July, 2007"|"55 months"|"Singapore, Singapore"|"Tv House"|"Tv House"|"Apples"
+"30"|"Dixiebell"|"April, 2008"|"Hamster (Dwarf)"|"Cinnamon Banded"|"Female"|"December, 2007"|"50 months"|"Sinagpore, Singapore"|"pigsy"|"pigsy"|"sunflower seeds"
+"31"|"White Retardy"|"November, 2006"|"Hamster (Dwarf)"|"White"|"Male"|"August, 2006"|"66 months"|"Singapore, Singapore"|"Drinking bottle"|"Drinking bottle"|"All food"
+"32"|"Luiz"|"March, 2008"|"Hamster (Syrian)"|"Golden"|"Male"|"November, 2006"|"63 months"|"Kolding, Denmark"|"hamster ball"|"hamster ball"|"yoghurt drops"
+"33"|"Dixie"|"March, 2008"|"Hamster (Syrian)"|"White"|"Female"|"January, 2008"|"49 months"|"Edinburgh, United Kingdom"|"toilet roll tubes"|"toilet roll tubes"|"grapes"
+"34"|"Spot"|"March, 2008"|"Hamster (Syrian)"|"Silver"|"Female"|"January, 2008"|"49 months"|"Edinburgh, United Kingdom"|"wheel"|"wheel"|"raisins"
+"35"|"Delilah"|"March, 2008"|"Hamster (Syrian)"|"Silver"|"Female"|"November, 2007"|"51 months"|"Edinburgh, United Kingdom"|"wheel"|"wheel"|"peanuts"
+"36"|"Pip"|"March, 2008"|"Hamster (Syrian)"|"Tortoise Shell"|"Female"|"January, 2008"|"49 months"|"Edinburgh, United Kingdom"|"wheel"|"wheel"|"carrots"
+"37"|"Kirby"|"March, 2008"|"Hamster (Siberian)"|"Agouti"|"Female"|"March, 2007"|"59 months"|"Naples, FL United States"|"She loves her lookout tower"|"She loves her lookout tower"|"Yogies (but she doesn't get those often)"
+"38"|"Sonic"|"March, 2008"|"Hamster (Russian)"|"Black"|"Female"|"September, 2007"|"53 months"|"Naples, FL United States"|"Her wheel"|"Her wheel"|"Yogies, of course"
+"39"|"Mishka"|"March, 2008"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"January, 2008"|"Gone to Hamster Heaven"|"Santa Barbara, CA United States"|"paper towel rolls"|"paper towel rolls"|"peanuts, sunflower seeds, corn."
+"40"|"Wasabi"|"March, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"March, 2008"|"47 months"|"Miami, FL United States"|"his new TV hide-out"|"his new TV hide-out"|"Nutriphase wild berry yogurt drops and Kaytee Healthy Bits!"
+"41"|"Ueki"|"August, 2004"|"Hamster (Common)"|"Brown"|"Female"|"May, 2002"|"Gone to Hamster Heaven"|"Scotch Plains, NJ United States"|"Tissue Paper"|"Tissue Paper"|"Yogurt Drops"
+"42"|"Anisoara"|"June, 2004"|"Hamster (Common)"|"Nutmeg"|"Female"|"April, 2002"|"Gone to Hamster Heaven"|"Port Moody, BC Canada"|"Electric cord"|"Electric cord"|"Sunflower seeds"
+"43"|"geena"|"August, 2005"|"Hamster (Russian)"|"Cream"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Tunkhannock, PA United States"|"wheel"|"wheel"|"yogies"
+"44"|"Luna"|"January, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Wheel!"|"Wheel!"|"Broccoli"
+"45"|"Brownie"|"March, 2005"|"Hamster (Syrian)"|"Orange"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Wheel"|"Wheel"|"Sunflowers"
+"46"|"Soli"|"May, 2005"|"Hamster (Dwarf)"|"Grey"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Wheel"|"Wheel"|"Sunflowers"
+"47"|"Estrella"|"May, 2005"|"Hamster (Dwarf)"|"Smoke Pearl"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Toilet roll"|"Toilet roll"|"Pellets"
+"48"|"La Negra"|"July, 2005"|"Hamster (Syrian)"|"Brown"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Wheel"|"Wheel"|"Celery"
+"49"|"Ham-Ham"|"August, 2005"|"Hamster (Dwarf)"|"Opal"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Shenandoah, PA United States"|"hamster wheel"|"hamster wheel"|"pumpikin seed"
+"50"|"Rookie"|"August, 2005"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Shenandoah, PA United States"|"hamster wheel"|"hamster wheel"|"sunflower seed"
+"51"|"Moby"|"June, 2004"|"Hamster (Syrian)"|"White"|"Female"|"June, 2002"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Cage's metal bars"|"Cage's metal bars"|"sunflower seeds, apples, carrots"
+"52"|"Mabo"|"May, 2004"|"Hamster (Syrian)"|"Silver"|"Male"|"May, 2002"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Small bits of ham"
+"53"|"Caleb"|"July, 2004"|"Hamster (Syrian)"|"Black Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"East Wareham, MA United States"|"Ball."|"Ball."|"Brocolli,green grapes and apples."
+"54"|"Kenzye"|"July, 2004"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"East Wareham, MA United States"|"Ball and wheel"|"Ball and wheel"|"Grapes and Carrots"
+"55"|"Granite"|"July, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"June, 2001"|"Gone to Hamster Heaven"|"Fredericksburg, VA United States"|"His food dish"|"His food dish"|"Sunflower Seeds"
+"56"|"Joey"|"July, 2004"|"Hamster (Unknown)"|"Albino"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Fredericksburg, VA United States"|"Wheel"|"Wheel"|"Everything"
+"57"|"Meemee"|"December, 2004"|"Hamster (Syrian)"|"White"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Yokohama, Japan"|"chopstick"|"chopstick"|"chinese cabbage"
+"58"|"Hamlet"|"November, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Pasadena, CA United States"|"Cage bars"|"Cage bars"|"Nut-flavored stick treats"
+"59"|"Logan"|"August, 2005"|"Hamster (Syrian)"|"White"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Pasadena, CA United States"|"Pasadena, CA United States"|"Pasadena, CA United States"|"Berry-flavored stick treats"
+"60"|"Ham & Cheese"|"December, 2005"|"Hamster (Unknown)"|"Agouti"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"New York, NY United States"|"New York, NY United States"|"New York, NY United States"|"New York, NY United States"
+"61"|"Leela"|"December, 2005"|"Hamster (Syrian)"|"Honey"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"Brooklyn, NY United States"|"Brooklyn, NY United States"|"anything tasty"
+"62"|"Johnny Cash"|"December, 2005"|"Hamster (Syrian)"|"Black"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"wheel"|"wheel"|"pretzel shaped doggy biscuits"
+"63"|"Mrs. Hamster"|"July, 2006"|"Hamster (Roborovskii)"|"White"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Highland Park, NJ United States"|"Cotton Balls"|"Cotton Balls"|"sunflower seeds"
+"64"|"Mr. Man"|"July, 2006"|"Hamster (Roborovskii)"|"White"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Highland Park, NJ United States"|"The hamster tubing attatched to his cage"|"The hamster tubing attatched to his cage"|"Sunflower seeds"
+"65"|"Sugar Pea"|"July, 2006"|"Hamster (Roborovskii)"|"Orange"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Wheel"|"Wheel"|"Whole Millet"
+"66"|"Almond"|"July, 2006"|"Hamster (Chinese)"|"Fawn"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Coconut shell"|"Coconut shell"|"Whole wheat, fresh baked, sweet, bread."
+"67"|"Haley"|"August, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Her purple wheel"|"Her purple wheel"|"Apples"
+"68"|"Newton"|"August, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Blue wheel to chew on"|"Blue wheel to chew on"|"Sunflower seeds"
+"69"|"chunky"|"December, 2004"|"Hamster (Siberian)"|"Cinnamon"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Imus, Cavite, Philippines"|"wheel"|"wheel"|"sunflower seeds"
+"70"|"empoy"|"December, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Imus, Cavite, Philippines"|"his yellow hamster mobile (ball)"|"his yellow hamster mobile (ball)"|"popcorn & pistachios"
+"71"|"chinky"|"December, 2004"|"Hamster (Siberian)"|"Nutmeg"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Imus, Cavite, Philippines"|"chunky"|"chunky"|"chunky, ate honey's finger"
+"72"|"utoy"|"November, 2005"|"Hamster (Teddy Bear)"|"Nutmeg"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Imus, Cavite, Philippines"|"his running ball, wheel and running dish"|"his running ball, wheel and running dish"|"sunflower seeds, bread, cornflakes and popcorn"
+"73"|"Sugar"|"July, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"., TX United States"|"., TX United States"|"., TX United States"|"peanuts"
+"74"|"Strawberry Short Cake"|"July, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"., TX United States"|"., TX United States"|"., TX United States"|"sunflower seeds"
+"75"|"Mer"|"August, 2006"|"Hamster (Dwarf)"|"Sapphire"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"running wheel"|"running wheel"|"corn cobs!"
+"76"|"Cheeky"|"June, 2006"|"Hamster (Common)"|"Sable Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Run - Around - In - Ball, Maze, Leash, and my favourite piece of cloth -_- (It's all shreddies now)"|"Run - Around - In - Ball, Maze, Leash, and my favourite piece of cloth -_- (It's all shreddies now)"|"Treats. Peanut Butter. Veggies."
+"77"|"Bebe"|"June, 2006"|"Hamster (Common)"|"Golden Banded"|"Female"|"February, 2003"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Toilet Tubes"|"Toilet Tubes"|"Sunflower Seeds"
+"78"|"Tofu"|"June, 2007"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Male"|"April, 2007"|"58 months"|"Santa Cruz, CA United States"|"Santa Cruz, CA United States"|"Santa Cruz, CA United States"|"Lettuce and pumpkin seeds"
+"79"|"Fatso Baby"|"September, 2007"|"Hamster (Roborovskii)"|"White"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Highland Park, NJ United States"|"FOOD"|"FOOD"|"If it's edible she'll eat it"
+"80"|"Ookiimaru"|"March, 2007"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"November, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The corners of his cage XD"|"The corners of his cage XD"|"Rice, yoghurt drops, peanut butter, carrot flavoured dog biscuit, carrots, porridge, anything besides his staple grains really."
+"81"|"Princess Peach"|"April, 2007"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"March, 2007"|"Gone to Hamster Heaven"|"Thomaston, GA United States"|"The Wheel"|"The Wheel"|"Seeds"
+"82"|"Moose"|"September, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"April, 2007"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Wheel"|"Wheel"|"Anything really :)"
+"83"|"Milou"|"August, 2007"|"Hamster (Syrian)"|"Cream"|"Male"|"June, 2007"|"56 months"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Anything, really!"
+"84"|"Theodore"|"July, 2007"|"Hamster (Syrian)"|"Agouti"|"Male"|"June, 2007"|"Gone to Hamster Heaven"|"Red Deer, AB Canada"|"Treak-Ka-Bob, Timber Hide-A-Way"|"Treak-Ka-Bob, Timber Hide-A-Way"|"Milk Bones, Banana Chips, Yogurt Drops, Sunflower Seeds"
+"85"|"Crisco"|"June, 2007"|"Hamster (Syrian)"|"Honey"|"Male"|"April, 2007"|"58 months"|"Fawn Twp, PA United States"|"Hamster Ball, and wheel"|"Hamster Ball, and wheel"|"Sunflower Seeds"
+"86"|"Baby Girl"|"June, 2007"|"Hamster (Teddy Bear)"|"White"|"Female"|"August, 2006"|"Gone to Hamster Heaven"|"Grove City, PA United States"|"ball or kleenex box"|"ball or kleenex box"|"cantaloupe and peanuts"
+"87"|"Miss Sherbet"|"May, 2007"|"Hamster (Syrian)"|"Honey"|"Female"|"April, 2007"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"Wheel"|"Wheel"|"Meal Worms"
+"88"|"Twelve o'clock"|"March, 2007"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Conway, SC United States"|"Wires of her cage"|"Wires of her cage"|"sunflower seeds"
+"89"|"Peetu"|"February, 2007"|"Hamster (Syrian)"|"Cream"|"Female"|"January, 2007"|"61 months"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"pizza crusts"
+"90"|"chanito"|"December, 2006"|"Hamster (Dwarf)"|"Platinum"|"Male"|"November, 2006"|"63 months"|"Villahermosa, Tabasco, Mexico"|"her wheel"|"her wheel"|"mmm all?"
+"91"|"Queen Kuma von Keiken"|"August, 2006"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"She refuses to chew on any toy we give her unless it is some kind of food. She's very fat and proud of it."|"She refuses to chew on any toy we give her unless it is some kind of food. She's very fat and proud of it."|"Anything big. She hates those little seeds in her food and throws them out of her cage"
+"92"|"Lady Panda von Kuechen"|"August, 2006"|"Hamster (Syrian)"|"Calico"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Chewing sticks and cardboard."|"Chewing sticks and cardboard."|"What cha got?"
+"93"|"Baroness SnowflakevonFuzzyButt"|"August, 2006"|"Hamster (Russian)"|"White"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"The bars on her cage"|"The bars on her cage"|"Anything and everything"
+"94"|"Duke Tipsy von Taro"|"August, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"He doesn't care for toys very much."|"He doesn't care for toys very much."|"Corn!!"
+"95"|"Baron Digger Von Fuzzy Butt"|"December, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"August, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"His bedding."|"His bedding."|"Seasame seed treats!!!!!!!!!"
+"96"|"Halo"|"August, 2006"|"Hamster (Chinese)"|"Agouti"|"Female"|"March, 2003"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Wheel, Coconut shell, anything new and intersting."|"Wheel, Coconut shell, anything new and intersting."|"Sunflower seeds"
+"97"|"Sugar Pea Profile: II"|"September, 2006"|"Hamster (Roborovskii)"|"Orange"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Wheel"|"Wheel"|"Millet. Though it is out of favor for the time being."
+"98"|"Nismo"|"November, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"May, 2003"|"Gone to Hamster Heaven"|"Frisco, TX United States"|"Frisco, TX United States"|"Frisco, TX United States"|"Yogurt drops"
+"99"|"Humphrey"|"November, 2005"|"Hamster (Teddy Bear)"|"Calico"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Fargo, ND United States"|"Toothbrush"|"Toothbrush"|"Banana Chips"
+"100"|"Alfie"|"February, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Bardstown, KY United States"|"his wheel and his activity ball"|"his wheel and his activity ball"|"cucumbers"
+"101"|"Stewie"|"February, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Bardstown, KY United States"|"her activity ball, her chew sticks, the wheel, tissues."|"her activity ball, her chew sticks, the wheel, tissues."|"sunflower seeds, apples."
+"102"|"Dee-dee"|"February, 2005"|"Hamster (Mongolian)"|"Cream"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Jakarta, Indonesia"|"mainan puter-puter"|"mainan puter-puter"|"carrot"
+"103"|"Delphi"|"September, 2004"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"April, 2003"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"
+"104"|"Hazel"|"September, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"The Water Bottle"|"The Water Bottle"|"The Water Bottle"
+"105"|"Miles Davis"|"December, 2004"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Lilburn, GA United States"|"His hamster Wheel"|"His hamster Wheel"|"bread"
+"106"|"Nutmeg"|"November, 2004"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Anything chewable"|"Anything chewable"|"Peanuts"
+"107"|"Peach"|"September, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"A Ringing Ball"|"A Ringing Ball"|"A Ringing Ball"
+"108"|"Parmie"|"September, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"
+"109"|"Zeus"|"September, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"
+"110"|"Mandy"|"August, 2004"|"Hamster (Teddy Bear)"|"Silver"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Va Beach, VA United States"|"Wheel"|"Wheel"|"Brocclii"
+"111"|"Baron Baxter Von Baxter"|"May, 2004"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Crittertrail Revolution"|"Crittertrail Revolution"|"Bananas and cucumbers"
+"112"|"Pippin Galadriel Moonchild"|"November, 2004"|"Hamster (Russian)"|"Slate"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Cary, NC United States"|"Cary, NC United States"|"Cary, NC United States"|"yogurt"
+"113"|"Rebecca"|"November, 2004"|"Hamster (Russian)"|"Argente"|"Female"|"March, 2003"|"Gone to Hamster Heaven"|"Cary, NC United States"|"hamster ball"|"hamster ball"|"banana chip"
+"114"|"Ivy"|"November, 2004"|"Hamster (Russian)"|"Albino"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Cary, NC United States"|"cage bars"|"cage bars"|"pumpkin seed"
+"115"|"Peaches"|"August, 2004"|"Hamster (Syrian)"|"Blonde"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"Purple Wheel"|"Purple Wheel"|"apples and carrots"
+"116"|"Peachy"|"January, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"May, 2002"|"Gone to Hamster Heaven"|"Ocean, NJ United States"|"Peachy's wheel"|"Peachy's wheel"|"grapes, broccoli, apples"
+"117"|"Teddy"|"February, 2005"|"Hamster (Teddy Bear)"|"Sable"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Santa Cruz, CA United States"|"carrot chew"|"carrot chew"|"cashews and yogurt drops"
+"118"|"Paz"|"February, 2005"|"Hamster (Syrian)"|"Cream"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Santa Cruz, CA United States"|"Santa Cruz, CA United States"|"Santa Cruz, CA United States"|"yogurt drops"
+"119"|"Gary Gilmore"|"January, 2005"|"Hamster (Syrian)"|"Sable"|"Male"|"May, 2003"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Sadly, it was the inside of our office wall"|"Sadly, it was the inside of our office wall"|"poop"
+"120"|"Kurtis"|"April, 2005"|"Hamster (Teddy Bear)"|"Honey"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Hicksville, NY United States"|"his ball"|"his ball"|"sunflower seeds"
+"121"|"Meatloaf"|"May, 2005"|"Hamster (Dwarf)"|"Argente"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Morgantown, WV United States"|"Wheel"|"Wheel"|"Carrots"
+"122"|"Stinky McPatterson"|"May, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Morgantown, WV United States"|"Hamster ball aka "space pod""|"Hamster ball aka "space pod""|"Fruit Flavored Yogies"
+"123"|"James (RIP)"|"June, 2005"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Hamster-wheel"|"Hamster-wheel"|"Prestige hamsterfood, cucumber, banana, appel"
+"124"|"Muis (RIP)"|"June, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"August, 2001"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Hamster ball and wheel"|"Hamster ball and wheel"|"Sunflower seeds"
+"125"|"Jezebel"|"August, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"|"Bellflower, CA United States"
+"126"|"Mr Sprinkles"|"August, 2005"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"His exercise wheel"|"His exercise wheel"|"Spinach, suger free strawberry yogurt"
+"127"|"Chunk"|"August, 2005"|"Hamster (Russian)"|"Agouti"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"Exercise saucer"|"Exercise saucer"|"Pumpkin seeds, sugar-free breakfast cereal"
+"128"|"Mr. Boogity"|"August, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"Rolling Jingly Ball"|"Rolling Jingly Ball"|"Colored biscuits in food mix, wheat crackers"
+"129"|"Splinter"|"August, 2005"|"Hamster (Russian)"|"Agouti"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"My finger, and spaghetti noodles"|"My finger, and spaghetti noodles"|"Peanuts, broccoli"
+"130"|"Sweet Pea"|"August, 2005"|"Hamster (Dwarf)"|"Argente"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"Her wheel"|"Her wheel"|"peas, peanuts, pumpkin seeds, cereal"
+"131"|"Tweedle Dee"|"August, 2005"|"Hamster (Dwarf)"|"Dove"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"Anyone's hand but his mommie's. and his rolly jingly ball thingie"|"Anyone's hand but his mommie's. and his rolly jingly ball thingie"|"anything, he is a fattie. He loves sunflower seeds, like all hammies though."
+"132"|"Chrysanthemum"|"August, 2005"|"Hamster (Dwarf)"|"Platinum"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"Her daughter, Mopsy, and her wheel"|"Her daughter, Mopsy, and her wheel"|"Lentils, rice krispies, any veggies"
+"133"|"Mopsy"|"August, 2005"|"Hamster (Dwarf)"|"Platinum"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"her wheel, or her little " doghouse""|"her wheel, or her little " doghouse""|"lentils and carrots"
+"134"|"Dinky"|"August, 2005"|"Hamster (Dwarf)"|"Black"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"his house"|"his house"|"anything, he loves to eat for such a tiny thing."
+"135"|"Alfred (R.I.P)"|"April, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Edmonton, AB Canada"|"I loved my Blue Ball that I run in daily."|"I loved my Blue Ball that I run in daily."|"I loved Carrots, Celery, Apples and My regular seeds and nutrablocks."
+"136"|"cupcake"|"June, 2006"|"Hamster (Dwarf)"|"Cream"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Denver, CO United States"|"tons of tubes"|"tons of tubes"|"yogurt drops"
+"137"|"Bogart"|"August, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Angeles City, Philippines"|"My exercise wheel and toy car"|"My exercise wheel and toy car"|"grapes, bananas, potato chips, cheese, peanut brittle"
+"138"|"Fredrick"|"September, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Corona, CA United States"|"Wheel"|"Wheel"|"apples"
+"139"|"Cobra"|"September, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"His food bowl."|"His food bowl."|"Seeds"
+"140"|"Digdug"|"September, 2006"|"Hamster (Dwarf)"|"Golden Banded"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"46055, IN United States"|"Grass"|"Grass"|"sunflower seeds and carrots"
+"141"|"Dusty"|"October, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Wheel"|"Wheel"|"Cilantro and owner's shirt"
+"142"|"Socrates"|"July, 2005"|"Hamster (Dwarf)"|"Calico"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Okc, OK United States"|"Okc, OK United States"|"Okc, OK United States"|"Sunflower Seeds"
+"143"|"Hamtaro"|"June, 2005"|"Hamster (Teddy Bear)"|"Tortoise Shell"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Oklahoma City, OK United States"|"Oklahoma City, OK United States"|"Oklahoma City, OK United States"|"sunflower seeds"
+"144"|"No-ku"|"April, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Hillsborough, NC United States"|"Excercise Wheel"|"Excercise Wheel"|"sunflower seeds, melon, cantelope"
+"145"|"Zoe"|"August, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"Run-about Ball"|"Run-about Ball"|"Sunflower seeds and baby carrots"
+"146"|"Thumper's First Five"|"October, 2008"|"Hamster (Russian)"|"Grey"|"Female"|"March, 2008"|"47 months"|"Vilas, NC United States"|"the wheel"|"the wheel"|"sunflower seeds without the shell"
+"147"|"Bubba Moham"|"December, 2006"|"Hamster (Chinese)"|"White"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"SIngapore, Singapore"|"ME!"|"ME!"|"Watermelon Seeds"
+"148"|"Cheese"|"May, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Frisco, TX United States"|"Tubes"|"Tubes"|"Creme sandwich cookie dog treats"
+"149"|"Howard W. Hamster"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Algona, IA United States"|"Wheel"|"Wheel"|"Strawberry Yogurt Drops"
+"150"|"Yosho"|"December, 2005"|"Hamster (Dwarf)"|"Brown"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Costa Mesa, CA United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"151"|"professor frink farnsworth"|"October, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Kamloops, BC Canada"|"the neighbor mouse yuki"|"the neighbor mouse yuki"|"the vegetarian chips i'm not supposed to have"
+"152"|"Puff"|"September, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Suffolk, VA United States"|"My TV"|"My TV"|"Carrot Crunchies and Hamster and Gerbil Blend"
+"153"|"Taco"|"July, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Cartago, Costa Rica"|"Una bola donde la ponía para que pudiera correr libremente por la casa / A plastic ball where I put her, because she liked to run a lot!"|"Una bola donde la ponía para que pudiera correr libremente por la casa / A plastic ball where I put her, because she liked to run a lot!"|"Semillas de girasol (sunflower seeds), pan (bread), fresa (strawberry), lechuga (lettuce)"
+"154"|"Kenneth"|"January, 2006"|"Hamster (Syrian)"|"Sable"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"155"|"Peaches"|"August, 2007"|"Hamster (Unknown)"|"Golden Banded"|"Female"|"June, 2007"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Screen Top on my cage"|"Screen Top on my cage"|"I love it all"
+"156"|"Boludillin"|"August, 2006"|"Hamster (Common)"|"Honey"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Mexico City, Mexico"|"Su bola y su jaula"|"Su bola y su jaula"|"Semillas de girasol, brocoli, zanahorias, cacahuates y manzana"
+"157"|"Abigail"|"November, 2004"|"Hamster (Syrian)"|"Albino"|"Female"|"September, 2003"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"any and all treats"
+"158"|"Madrigal"|"August, 2004"|"Hamster (Unknown)"|"Cinnamon"|"Female"|"September, 2002"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"159"|"Daisy"|"November, 2004"|"Hamster (Syrian)"|"Brown"|"Female"|"April, 2001"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Her litterbox and wheel"|"Her litterbox and wheel"|"Fresh vegetables"
+"160"|"Sunny"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Franklin, MA United States"|"The platforms in her cage!!!"|"The platforms in her cage!!!"|"Almost everything!!!"
+"161"|"Dexter"|"January, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Franklin, MA United States"|"His Wheel"|"His Wheel"|"peanuts"
+"162"|"Milton"|"January, 2006"|"Hamster (Syrian)"|"Grey"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Saint Louis, MO United States"|"Wooden Block"|"Wooden Block"|"Banana Treats"
+"163"|"Pepper"|"February, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Hamster, MI United States"|"Wheel"|"Wheel"|"Vanilla yogurt treats"
+"164"|"Snowball"|"February, 2005"|"Hamster (Teddy Bear)"|"Albino"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Hamster, MI United States"|"Wheel"|"Wheel"|"Sunflower seeds"
+"165"|"Oreo"|"February, 2005"|"Hamster (Dwarf)"|"Black Banded"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Hamster, MI United States"|"her coconut canaba"|"her coconut canaba"|"Lettuce"
+"166"|"Nieko"|"February, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Hamster, MI United States"|"Wheel"|"Wheel"|"Sunflower seeds, strawberry or vanilla yogurt treats, and lettuce"
+"167"|"Whiskers"|"February, 2005"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Hamster, MI United States"|"Wheel"|"Wheel"|"Sunflower seeds"
+"168"|"Fluffy"|"April, 2006"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Saint John, NB Canada"|"Wheel"|"Wheel"|"spinach"
+"169"|"Mr. Hammi Pants"|"September, 2006"|"Hamster (Syrian)"|"Beige"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"Hamster ball"|"Hamster ball"|"Animal crackers, meal worms, and fruit."
+"170"|"Geoffrey"|"October, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Bournemouth, United Kingdom"|"Ball"|"Ball"|"Monkey nuts and banana"
+"171"|"Cindy"|"May, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Bournemouth, United Kingdom"|"Wheel and her pipes"|"Wheel and her pipes"|"Monkey nuts, fruity bites"
+"172"|"Sasha Angelina"|"July, 2006"|"Hamster (Unknown)"|"Black"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Circle tunnel"|"Circle tunnel"|"Strawberry yogurt drops & cheese cakes"
+"173"|"Zander"|"July, 2006"|"Hamster (Unknown)"|"Grey"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Kansas City, MO United States"|"Kansas City, MO United States"|"Hawaiin fruit treats"
+"174"|"Bailey Anne"|"July, 2006"|"Hamster (Unknown)"|"Calico"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Run-around-ball"|"Run-around-ball"|"Blueberry yogurt drops and peanuts in the shell"
+"175"|"BUTTERS"|"September, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"August, 2006"|"66 months"|"Champaign, IL United States"|"My Wheel! Yay!"|"My Wheel! Yay!"|"Dog Food"
+"176"|"Smidget"|"October, 2004"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Chatsworth, GA United States"|"Chatsworth, GA United States"|"Chatsworth, GA United States"|"Fruit Loops"
+"177"|"Kissie-Face"|"October, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Chatsworth, GA United States"|"Cage? (She chews on it.)"|"Cage? (She chews on it.)"|"Anything cheesy or sweet."
+"178"|"Phooey"|"October, 2004"|"Hamster (Unknown)"|"Cinnamon Banded"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Chatsworth, GA United States"|"Chatsworth, GA United States"|"Chatsworth, GA United States"|"Fruit Loops"
+"179"|"Harry Bob"|"June, 2006"|"Hamster (Teddy Bear)"|"Dove"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Chatsworth, GA United States"|"Toilet Paper Roll"|"Toilet Paper Roll"|"nilla wafers"
+"180"|"Peaches"|"August, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Bellingham, WA United States"|"Wheel"|"Wheel"|"Banana Chip"
+"181"|"Melanie"|"August, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Portland, OR United States"|"She loves her ball and our brown chair!"|"She loves her ball and our brown chair!"|"Fuji Apples and seeds"
+"182"|"Duchess of Tofu"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"September, 2006"|"65 months"|"Singapore, Singapore"|"My fingernails :s"|"My fingernails :s"|"I haven't discovered hers yet :P"
+"183"|"Peanut"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"my hand O.o"|"my hand O.o"|"raddichio"
+"184"|"Butter"|"October, 2006"|"Hamster (Dwarf)"|"Mottled"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Puzzle playset"|"Puzzle playset"|"pumkpin seeds"
+"185"|"Ovaltine"|"March, 2008"|"Hamster (Russian)"|"Pudding"|"Male"|"February, 2008"|"48 months"|"Hong Kong, Hong Kong"|"wooden globe"|"wooden globe"|"oatmeal"
+"186"|"Dixie"|"November, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Her wheel"|"Her wheel"|"Lettuce and Yogurt drops"
+"187"|"Yummy"|"January, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"May, 2000"|"Gone to Hamster Heaven"|"New York, NY United States"|"Yankee cap ice cream cup, orange ball"|"Yankee cap ice cream cup, orange ball"|"spaghetti, rice, apple pie crust"
+"188"|"Matilda"|"May, 2006"|"Hamster (Syrian)"|"Grey"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Wodent Wheel."|"Wodent Wheel."|"Boiled rice."
+"189"|"Cornflower"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"her food bowl"|"her food bowl"|"biting her master's older sister's finger"
+"190"|"Gandolf the White"|"May, 2006"|"Hamster (Syrian)"|"Albino"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Lakeland, FL United States"|"The Wheel"|"The Wheel"|"Yogies"
+"191"|"Pokie"|"March, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Scotland, United Kingdom"|"ball"|"ball"|"cheese & grapes"
+"192"|"will"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"green and yellow hamster wheel"|"green and yellow hamster wheel"|"sunflower seeds"
+"193"|"Numa"|"January, 2006"|"Hamster (Syrian)"|"Grey"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"
+"194"|"Max"|"August, 2006"|"Hamster (Syrian)"|"Brown"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Sunderland, United Kingdom"|"Hamster play block"|"Hamster play block"|"Cheese on toast & nuts"
+"195"|"Amelia"|"August, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"196"|"Tako"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Paper rolls :)"|"Paper rolls :)"|"Pumpkin seeds, brocolli and peanuts :)"
+"197"|"Spider"|"September, 2006"|"Hamster (Unknown)"|"White"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Peanuts"
+"198"|"Tule"|"September, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"the ball!"|"the ball!"|"egg"
+"199"|"grasshopper"|"September, 2006"|"Hamster (Russian)"|"Slate"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"the wheel"|"the wheel"|"carrots"
+"200"|"Amaryllis"|"January, 2006"|"Gerbil (Mongolian)"|"Golden"|"Female"|"January, 2004"|"Gone to Gerbil Heaven"|"Cincinnati, OH United States"|"corrugated cardboard"|"corrugated cardboard"|"banana chips"
+"201"|"Arenita"|"August, 2005"|"Gerbil (Unknown)"|"Brown"|"Female"|"July, 2004"|"Gone to Gerbil Heaven"|"Villahermosa, Tabasco, Mexico"|"rollos de papel y su rueda"|"rollos de papel y su rueda"|"semillas de girasol y maíz tierno"
+"202"|"Ashley"|"August, 2006"|"Hamster (Dwarf)"|"Smoke Pearl"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Wheel"|"Wheel"|"Scooby Snacks"
+"203"|"Benjamin"|"March, 2006"|"Hamster (Dwarf)"|"Champagne"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"His ping pong ball."|"His ping pong ball."|"Broccoli."
+"204"|"Freddie"|"December, 2005"|"Hamster (Dwarf)"|"Black"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"His red play brick."|"His red play brick."|"Broccoli."
+"205"|"Mochi"|"October, 2006"|"Hamster (Dwarf)"|"Pudding"|"Male"|"September, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"His two sisters :P"|"His two sisters :P"|"Broccoli"
+"206"|"Jana"|"November, 2006"|"Hamster (Chinese)"|"Grey"|"Female"|"September, 2006"|"65 months"|"Kentwood, MI United States"|"Petting Loft"|"Petting Loft"|"Sunflower seeds"
+"207"|"Angie"|"November, 2006"|"Hamster (Chinese)"|"Grey"|"Female"|"September, 2006"|"65 months"|"Kentwood, MI United States"|"Wheel"|"Wheel"|"Raviolos"
+"208"|"Gaëlle Marguerite"|"October, 2006"|"Gerbil (Mongolian)"|"Mottled"|"Female"|"August, 2006"|"66 months"|"Tolland, CT United States"|"Wheel (so far)."|"Wheel (so far)."|"Unknown."
+"209"|"Catrina Bunny"|"October, 2006"|"Hamster (Dwarf)"|"Beige"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Tolland, CT United States"|"Wheel."|"Wheel."|"Veggies."
+"210"|"Pepsi"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Fiddlesticks"|"Fiddlesticks"|"Brocolli and dried Daffodils"
+"211"|"Dandelion"|"April, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"August, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"212"|"Aura"|"July, 2006"|"Hamster (Siberian)"|"Cream"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Mansfield, CT United States"|"tubes"|"tubes"|"watermelon"
+"213"|"Babies"|"July, 2006"|"Hamster (Siberian)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Mansfield, CT United States"|"foods"|"foods"|"milk"
+"214"|"Chela"|"July, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Mansfield, CT United States"|"bedding, i love to dig"|"bedding, i love to dig"|"broccoli"
+"215"|"dulce"|"December, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Villahermosa, Tabasco, Mexico"|"everytihing to chew"|"everytihing to chew"|"sunflower seeds"
+"216"|"nana"|"December, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Villahermosa, Tabasco, Mexico"|"food?"|"food?"|"sunflowers seeds"
+"217"|"Pelusa Pelota"|"August, 2005"|"Hamster (Dwarf)"|"Beige"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Villahermosa, Tabasco, Mexico"|"su rana donde duerme.. su hermana XD ajaja, y su rueda de ejercicio"|"su rana donde duerme.. su hermana XD ajaja, y su rueda de ejercicio"|"semillas de girasol"
+"218"|"Enrique Iglesias"|"December, 2006"|"Hamster (Syrian)"|"Silver"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Hamster Ball"|"Hamster Ball"|"Honey sticks"
+"219"|"Socrates"|"December, 2006"|"Hamster (Siberian)"|"White"|"Male"|"October, 2006"|"64 months"|"San Diego, CA United States"|"Big fluffy mushroom bed"|"Big fluffy mushroom bed"|"Anything salty!"
+"220"|"smokey"|"November, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Christchurch, New Zealand"|"the other hamster"|"the other hamster"|"lettuce"
+"221"|"Hamlet"|"November, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"August, 2006"|"66 months"|"Ottawa, ON Canada"|"doggy treats"|"doggy treats"|"carrots, sunflower seeds"
+"222"|"rascal"|"October, 2006"|"Hamster (Dwarf)"|"Fawn"|"Male"|"August, 2006"|"Gone to Hamster Heaven"|"Allen, TX United States"|"swing"|"swing"|"paypaya"
+"223"|"Tarako"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"September, 2006"|"65 months"|"Singapore, Singapore"|"LOLO Lime, Popcorn flavour"|"LOLO Lime, Popcorn flavour"|"Broccoli and Apple Chips"
+"224"|"Tori"|"August, 2006"|"Hamster (Dwarf)"|"Pudding"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Paper boxes :)"|"Paper boxes :)"|"Brocolli and Strawberries"
+"225"|"Tofu"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Water bottle"|"Water bottle"|"Peanuts and Salmon jerky"
+"226"|"Ginger Spot"|"January, 2007"|"Gerbil (Mongolian)"|"Fawn"|"Male"|"October, 2005"|"Gone to Gerbil Heaven"|"Albuquerque, NM United States"|"cardboard tubes"|"cardboard tubes"|"sunflower seeds"
+"227"|"Salami"|"January, 2007"|"Hamster (Roborovskii)"|"White"|"Male"|"November, 2006"|"63 months"|"Singapore, Singapore"|"He loves to munch on their litter box lid :s"|"He loves to munch on their litter box lid :s"|"Honey and Milk flavoured yoghurt drops."
+"228"|"Sashimi"|"January, 2007"|"Hamster (Roborovskii)"|"White"|"Female"|"November, 2006"|"63 months"|"Singapore, Singapore"|"Tissues"|"Tissues"|"Salmon and Cheese Jerky"
+"229"|"Ginger"|"April, 2007"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"February, 2007"|"60 months"|"Manila, Philippines"|"Wheel"|"Wheel"|"Vitakraft"
+"230"|"In loving Memory of Milo"|"February, 2007"|"Gerbil (Mongolian)"|"Argente"|"Male"|"July, 2003"|"Gone to Gerbil Heaven"|"Central, NJ United States"|"Exersize ball"|"Exersize ball"|"Grilled Eggplant"
+"231"|"Ben"|"December, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"September, 2006"|"65 months"|"Poteet, TX United States"|"Wheel"|"Wheel"|"Sunflower seeds"
+"232"|"Jackie"|"April, 2005"|"Gerbil (Unknown)"|"Grey"|"Female"|"December, 2004"|"Gone to Gerbil Heaven"|"Corvallis, OR United States"|"Wheel"|"Wheel"|"Wheel"
+"233"|"Teddy (R.I.P.)"|"March, 2005"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Corvallis, OR United States"|"His wheel"|"His wheel"|"Anything he can stuff in his cheeks"
+"234"|"Paris (R.I.P.)"|"March, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Corvallis, OR United States"|"The slide in his crittertrail X"|"The slide in his crittertrail X"|"Sunflower seeds"
+"235"|"Lola"|"February, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Hermitage, TN United States"|"Rolling Ball"|"Rolling Ball"|"Carrots"
+"236"|"Bella (R.I.P.)"|"April, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Corvallis, OR United States"|"Her ball & wheel"|"Her ball & wheel"|"Peanuts.. the plastic on her cage"
+"237"|"Hammie"|"March, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Daly City, CA United States"|"her wheel and blankie"|"her wheel and blankie"|"sunflower seeds and corn"
+"238"|"Bailey"|"April, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"December, 2002"|"Gone to Hamster Heaven"|"Daly City, CA United States"|"her exercise ball"|"her exercise ball"|"yogurt treats"
+"239"|"Krispy Kreme"|"August, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"September, 2002"|"Gone to Hamster Heaven"|"Madison, WI United States"|"Wodent Wheel"|"Wodent Wheel"|"cucumbers and carrots"
+"240"|"Toby"|"August, 2004"|"Hamster (Syrian)"|"Brown"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"New York, NY United States"|"Running ball"|"Running ball"|"strawberry yogurt drops"
+"241"|"Pandyboo"|"August, 2004"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"New York, NY United States"|"Running ball"|"Running ball"|"Marshmallows"
+"242"|"Blueberry Truffles"|"November, 2004"|"Hamster (Syrian)"|"Sable"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Ardsley, NY United States"|"What's that over there?"|"What's that over there?"|"i need variety: bread dipped in milk, rice, apples, peanut butter, watermelon, lettuce...but NOT raisins."
+"243"|"Precious"|"December, 2004"|"Hamster (Siberian)"|"Golden"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Va Beach, VA United States"|"wheel"|"wheel"|"hamster diet"
+"244"|"Buffy"|"March, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"cardboard boxes and ball"|"cardboard boxes and ball"|"everything except cheese"
+"245"|"Hamish"|"March, 2005"|"Hamster (Russian)"|"Albino"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"ball"|"ball"|"sunflower seeds"
+"246"|"Tiffany Jean"|"June, 2006"|"Hamster (Dwarf)"|"Albino"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Wheaton, IL United States"|"SAM Bed Stuff"|"SAM Bed Stuff"|"sunflower seeds and fresh fruit"
+"247"|"Charlotte"|"June, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Wheaton, IL United States"|"toilet paper tubes and SAM Bed Fluff"|"toilet paper tubes and SAM Bed Fluff"|"peanuts and yogurt-covered fruit treats"
+"248"|"Drum"|"July, 2006"|"Hamster (Siberian)"|"Brown"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"El Paso, TX United States"|"Hamspter Wheel"|"Hamspter Wheel"|"Seeds with peanut butter"
+"249"|"Trumpet"|"July, 2006"|"Hamster (Siberian)"|"Brown"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"El Paso, TX United States"|"Hamster Wheel"|"Hamster Wheel"|"seeds with peanut butter"
+"250"|"Howard Chang"|"November, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"Wheel"|"Wheel"|"Sunflower Seeds and Corn"
+"251"|"Morgana(12/13/2006-07/04/2008)"|"December, 2006"|"Hamster (Russian)"|"Albino"|"Female"|"December, 2006"|"Gone to Hamster Heaven"|"Lima, Peru"|"everything is a toy for her!! She likes me to turn on my ipod and hear crazy frog from axel...she begins to run like a crazy"|"everything is a toy for her!! She likes me to turn on my ipod and hear crazy frog from axel...she begins to run like a crazy"|"Pedigree small breed and sunflowers seeds. Cake ,cookies and bread"
+"252"|"Brownie"|"November, 2007"|"Hamster (Syrian)"|"Brown"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Sauk Rapids, MN United States"|"bars of her cage"|"bars of her cage"|"sunflower seeds,corn seeds, and pumpkin seeds"
+"253"|"Snowball"|"November, 2007"|"Hamster (Russian)"|"Albino"|"Female"|"February, 2007"|"60 months"|"Sauk Rapids, MN United States"|"mineral wheel"|"mineral wheel"|"yogurt drops"
+"254"|"Bailey"|"November, 2007"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Sauk Rapids, MN United States"|"Sauk Rapids, MN United States"|"Sauk Rapids, MN United States"|"sunflower seeds"
+"255"|"Squeaks"|"November, 2007"|"Hamster (Roborovskii)"|"Pudding"|"Female"|"November, 2006"|"Gone to Hamster Heaven"|"Sauk Rapids, MN United States"|"carrot sticks"|"carrot sticks"|"sunflower seeds"
+"256"|"Florian"|"August, 2006"|"Hamster (Syrian)"|"Silver"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Tychy, Poland"|"My owner's bed"|"My owner's bed"|"Cheese"
+"257"|"Zoey"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Ball"|"Ball"|"Jelly Beans"
+"258"|"empy {R.I.P}"|"July, 2006"|"Hamster (Dwarf)"|"Fawn"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"chew fruits"|"chew fruits"|"pelets"
+"259"|"pinty {R.I.P}"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"chew sticks"|"chew sticks"|"everthing and anything"
+"260"|"Kinoko"|"October, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Wheel"|"Wheel"|"I think pretty much anything... he's NOT a picky eater"
+"261"|"Rodent Paradise"|"July, 2006"|"Hamster (Siberian)"|"Golden"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"New York City, NY United States"|"Their exercise wheels."|"Their exercise wheels."|"My own special seed mix."
+"262"|"Henry"|"July, 2006"|"Hamster (Dwarf)"|"Blue"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Foster City, CA United States"|"Hamster Ball"|"Hamster Ball"|"Kaytee Forti-Diet for Hamsters"
+"263"|"Hamtaro"|"July, 2006"|"Hamster (Dwarf)"|"Opal"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Foster City, CA United States"|"Hamster Ball"|"Hamster Ball"|"Kaytee Forti-Diet for Hamsters"
+"264"|"Mr. Snuggles"|"July, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Dennis, MA United States"|"Small Purple Igloo"|"Small Purple Igloo"|"Dried Papaya Fruit"
+"265"|"Mr. Nibbles"|"July, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Dennis, MA United States"|"A peice of plastic that he hides under"|"A peice of plastic that he hides under"|"Pumpkin Seeds"
+"266"|"Sam Soon"|"July, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"!, United States"|"!, United States"|"!, United States"|"!, United States"
+"267"|"Muffin"|"August, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"West Hills, CA United States"|"Bars"|"Bars"|"Corn"
+"268"|"Annabell"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Pinnacle, NC United States"|"wadded up blanket"|"wadded up blanket"|"sunflower seeds and popcorn"
+"269"|"Ringo"|"July, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Gainesville, FL United States"|"His clear pink running ball."|"His clear pink running ball."|"Fresh fruit and veggies - spinach, especially"
+"270"|"Mousey Baby"|"August, 2006"|"Hamster (Dwarf)"|"Silver"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wooden Tower"|"Wooden Tower"|"Sunflower seed & peanut"
+"271"|"Sprite"|"August, 2006"|"Hamster (Roborovskii)"|"Grey"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Sunflower seeds"
+"272"|"Coke Lite"|"August, 2006"|"Hamster (Roborovskii)"|"Grey"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Sunflower seeds"
+"273"|"Hamtaro"|"April, 2006"|"Hamster (Dwarf)"|"Black"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Kedah, Malaysia"|"Exercise wheel"|"Exercise wheel"|"Sunflower seed and cucumber"
+"274"|"Bijou"|"April, 2006"|"Hamster (Dwarf)"|"Black"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Kedah, Malaysia"|"Exercise wheel"|"Exercise wheel"|"Sunflower seed"
+"275"|"Biscuit"|"April, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Kedah, Malaysia"|"Exercise ball"|"Exercise ball"|"Cucumber"
+"276"|"Tidy"|"April, 2006"|"Hamster (Syrian)"|"Brown"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Kedah, Malaysia"|"Exercise wheel"|"Exercise wheel"|"Corn"
+"277"|"Spunky"|"July, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Sarasota, FL United States"|"My brush and wheel"|"My brush and wheel"|"Sunflower seeds and milk-and-honey drops"
+"278"|"Lili (RIP)"|"October, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Hamster ball"|"Hamster ball"|"Prestige hamsterfood, peanuts, carrot, appel, banana, paprika, endive, cucumber"
+"279"|"Sharpie"|"September, 2006"|"Hamster (Dwarf)"|"Black Banded"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Biting the grills"|"Biting the grills"|"All types of seeds"
+"280"|"Bob"|"September, 2006"|"Hamster (Chinese)"|"Grey"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Boston, MA United States"|"Wheel"|"Wheel"|"Bananas"
+"281"|"Winston"|"December, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Boston, MA United States"|"Wood chews"|"Wood chews"|"Peanut Butter"
+"282"|"Audrey Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Albino"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"my ball"|"my ball"|"sunflower or pumpkin seeds"
+"283"|"Tobias Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"wheel"|"wheel"|"goldfish crackers"
+"284"|"Chesterton Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"the bubbles on my cage"|"the bubbles on my cage"|"cheerios"
+"285"|"Twilly Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Argente"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"fingers"|"fingers"|"anything!"
+"286"|"Rin Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"fingers!"|"fingers!"|"i'm not picky"
+"287"|"Keena Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"my green wheel"|"my green wheel"|"cheerios"
+"288"|"Ivy Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"my aunt Jessie"|"my aunt Jessie"|"seeds"
+"289"|"Nyx (Ninks) Brockenhofen"|"December, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Des Moines, IA United States"|"my bed"|"my bed"|"any type of seed"
+"290"|"Tobu"|"January, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Bowling Green, KY United States"|"wood chews"|"wood chews"|"cheese flavored yogurt treats"
+"291"|"Zippy"|"January, 2007"|"Hamster (Roborovskii)"|"Fawn"|"Male"|"October, 2006"|"64 months"|"21136, MD United States"|"Plastic Tubes"|"Plastic Tubes"|"Sunflower seeds, as treats"
+"292"|"CaramelSnow"|"January, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Portage, MI United States"|"Wires under dishwasher"|"Wires under dishwasher"|"Yogurt drops"
+"293"|"Mimi"|"January, 2007"|"Hamster (Syrian)"|"Albino"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Portage, MI United States"|"My wheel!!"|"My wheel!!"|"Peas"
+"294"|"Creme"|"January, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Cleveland, OH United States"|"Cleveland, OH United States"|"Seeds and Lettuce"
+"295"|"Count Monte Cristo"|"October, 2005"|"Hamster (Syrian)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Puzzle Playground"|"Puzzle Playground"|"Cucumber"
+"296"|"Ginger"|"October, 2007"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"October, 2006"|"Gone to Hamster Heaven"|"Amherst, NH United States"|"wheel"|"wheel"|"almonds and penuts!!"
+"297"|"In memorium RIP Ebony"|"December, 2007"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"September, 2006"|"Gone to Hamster Heaven"|"ThunderBay, ON Canada"|"His christmas sleeping house."|"His christmas sleeping house."|"Bagel, Cereal."
+"298"|"In Memorium RIP Jazzy"|"December, 2007"|"Hamster (Roborovskii)"|"Pudding"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"ThunderBay, ON Canada"|"Cage Bars"|"Cage Bars"|"Fruits"
+"299"|"In memorium RIP Emma"|"December, 2007"|"Hamster (Dwarf)"|"Albino"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"ThunderBay, ON Canada"|"Her sister...poor Jazzy. Lol."|"Her sister...poor Jazzy. Lol."|"Crackers"
+"300"|"In Memorium RIP Kirbie"|"December, 2007"|"Hamster (Syrian)"|"Champagne"|"Male"|"October, 2007"|"Gone to Hamster Heaven"|"ThunderBay, ON Canada"|"Ball"|"Ball"|"Lettuce"
+"301"|"Pixel"|"February, 2008"|"Hamster (Syrian)"|"Golden"|"Female"|"December, 2007"|"50 months"|"Amersfoort, Netherlands"|"Our dog, Drum"|"Our dog, Drum"|"Bars of her cage ;) and sunseeds"
+"302"|"Roxanne"|"February, 2008"|"Hamster (Dwarf)"|"Brown"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"Pittsburgh, PA United States"|"Pittsburgh, PA United States"|"Yogurt Chips"
+"303"|"Hermie"|"January, 2008"|"Hamster (Dwarf)"|"Mottled"|"Male"|"December, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Ceramic Hole"|"Ceramic Hole"|"Unknown"
+"304"|"Teddy"|"January, 2008"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Male"|"March, 2007"|"Gone to Hamster Heaven"|"Allen Park, MI United States"|"toilet paper roll"|"toilet paper roll"|"honeycomb cereal"
+"305"|"Nibbler"|"January, 2008"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"Rockville, MD United States"|"Igloo"|"Igloo"|"Tofu"
+"306"|"Dobby"|"February, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Tupelo, Ms, MS United States"|"plastic tubes or anything that doesn't move faster than her!"|"plastic tubes or anything that doesn't move faster than her!"|"yogurt drops, animal crackers, sunflower seeds, carrots"
+"307"|"Snowball"|"March, 2009"|"Hamster (Dwarf)"|"Brown"|"Male"|"November, 2007"|"51 months"|"Kuala Lumpur, Malaysia"|"ping-pong ball"|"ping-pong ball"|"sunflower seeds"
+"308"|"Frosty"|"March, 2009"|"Hamster (Dwarf)"|"Yellow"|"Female"|"August, 2008"|"Gone to Hamster Heaven"|"Kuala Lumpur, Malaysia"|"not sure..."|"not sure..."|"sunflower seeds"
+"309"|"Goldie"|"March, 2009"|"Hamster (Dwarf)"|"Yellow"|"Male"|"January, 2008"|"49 months"|"Kuala Lumpur, Malaysia"|"not sure...was adopted before i knew..."|"not sure...was adopted before i knew..."|"rabbit pellets"
+"310"|"Snowfrost"|"March, 2009"|"Hamster (Dwarf)"|"White"|"Female"|"January, 2008"|"49 months"|"Kuala Lumpur, Malaysia"|"adopted before before i knew..."|"adopted before before i knew..."|"sunflower seeds"
+"311"|"Blackie"|"March, 2009"|"Hamster (Dwarf)"|"Black"|"Female"|"January, 2008"|"49 months"|"Kuala Lumpur, Malaysia"|"adopted before i knew..."|"adopted before i knew..."|"seeds"
+"312"|"Tan Shi"|"June, 2006"|"Hamster (Syrian)"|"Black Banded"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Indianapolis, IN United States"|"Pop Tart Box"|"Pop Tart Box"|"ANYTHING"
+"313"|"Jade"|"November, 2004"|"Hamster (Syrian)"|"Black Banded"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"her running wheel, her ball"|"her running wheel, her ball"|"apples"
+"314"|"Waffles"|"August, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Toilet paper tube"|"Toilet paper tube"|"Cheese"
+"315"|"Dora"|"September, 2006"|"Hamster (Russian)"|"Beige"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Bronx, NY United States"|"her wood pencil chew"|"her wood pencil chew"|"lettuce"
+"316"|"Greybeard"|"March, 2005"|"Hamster (Unknown)"|"Grey"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"New York, NY United States"|"smurf figurine (just to have around in his cage)"|"smurf figurine (just to have around in his cage)"|"spinach leaves and banana chips"
+"317"|"Killer"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"New York, NY United States"|"New York, NY United States"|"papaya snacks"
+"318"|"Gus Gus"|"August, 2006"|"Hamster (Syrian)"|"Black Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Wheel"|"Wheel"|"Watermelon"
+"319"|"Buttons"|"August, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Ny, NY United States"|"His Run about ball"|"His Run about ball"|"His Run about ball"
+"320"|"Peekaboo"|"September, 2006"|"Hamster (Syrian)"|"Brown"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"My mail"|"My mail"|"My mail"
+"321"|"Walnut"|"September, 2006"|"Hamster (Unknown)"|"Black"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"My hair"|"My hair"|"My hair"
+"322"|"Gorgy"|"September, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"August, 2002"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"The ball"|"The ball"|"Apples"
+"323"|"Lollipop"|"September, 2006"|"Hamster (Syrian)"|"Blonde"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"The ball vs The usb wire!"|"The ball vs The usb wire!"|"Apples"
+"324"|"Baru"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"My wheel. I can't run on it anymore, but I like to have it near me. Once Papa removed it from my cage and I became sad until Papa brought it back."|"My wheel. I can't run on it anymore, but I like to have it near me. Once Papa removed it from my cage and I became sad until Papa brought it back."|"Corn and tofu"
+"325"|"Luna"|"June, 2006"|"Hamster (Syrian)"|"Silver"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"My wheel"|"My wheel"|"Broccoli"
+"326"|"Squeak"|"June, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Alexandria, VA United States"|"Her wheel, of course"|"Her wheel, of course"|"Peanuts"
+"327"|"Hana"|"June, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"
+"328"|"Dora"|"July, 2006"|"Hamster (Dwarf)"|"Black Banded"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Boston, MA United States"|"Ball"|"Ball"|"Dried Apricot"
+"329"|"Synyster"|"August, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"London, ON Canada"|"Cage Wheel"|"Cage Wheel"|"corn flakes"
+"330"|"Orange"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"Wheel and watter bottle."|"Wheel and watter bottle."|"Sunflower Seeds, Corn"
+"331"|"Ron"|"February, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"His Wodent Wheel."|"His Wodent Wheel."|"Apple."
+"332"|"Mama"|"June, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Slide"|"Slide"|"Peas"
+"333"|"Shamster"|"August, 2006"|"Hamster (Syrian)"|"Honey"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"plastic ball"|"plastic ball"|"kaiware sprouts, broccolli"
+"334"|"Mr. Ellie"|"July, 2006"|"Hamster (Teddy Bear)"|"Fawn"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Boston, MA United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"335"|"Elemenopeo"|"January, 2007"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Suffolk, VA United States"|"my tube"|"my tube"|"hamster and gerbil blend"
+"336"|"Pepper"|"January, 2007"|"Gerbil (Unknown)"|"Black"|"Male"|"September, 2002"|"Gone to Gerbil Heaven"|"Suffolk, VA United States"|"I dont have a favorite toy..."|"I dont have a favorite toy..."|"Blue Froot Loops"
+"337"|"mini"|"February, 2007"|"Hamster (Siberian)"|"Black Banded"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"pepper stick"|"pepper stick"|"yougurt treats"
+"338"|"baby and pepper"|"February, 2007"|"Hamster (Syrian)"|"Beige"|"Female"|"February, 2007"|"60 months"|"Vimont Laval, QC Canada"|"banana stick"|"banana stick"|"bananas"
+"339"|"chicalina"|"February, 2007"|"Hamster (Teddy Bear)"|"Chocolate"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"wood"|"wood"|"apricots and apples"
+"340"|"chica"|"February, 2007"|"Hamster (Syrian)"|"Grey"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"wood"|"wood"|"everything"
+"341"|"lilo"|"February, 2007"|"Hamster (Unknown)"|"Agouti"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"wood"|"wood"|"sunflower seeds"
+"342"|"molly"|"February, 2007"|"Hamster (Siberian)"|"Blonde"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"salt stick"|"salt stick"|"everything"
+"343"|"stitch"|"February, 2007"|"Hamster (Syrian)"|"Albino"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"stick"|"stick"|"everything"
+"344"|"Koda"|"November, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"November, 2006"|"63 months"|"Mason City, IA United States"|"wheel"|"wheel"|"wheel"
+"345"|"Pistachio"|"January, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Oswego, NY United States"|"tubes, hamster igloo"|"tubes, hamster igloo"|"Broccoli, Broccoli and more Broccoli"
+"346"|"Flufferbee"|"December, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"January, 2002"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"flintstones hideaway beach house"|"flintstones hideaway beach house"|"pizza crust"
+"347"|"Honey Buns"|"December, 2004"|"Hamster (Teddy Bear)"|"Nutmeg"|"Female"|"September, 2003"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"SHAKE YOUR HONEY BUN!"|"SHAKE YOUR HONEY BUN!"|"Cracked corn from the Pathmark trash cart and also yogurt drops"
+"348"|"Tailz"|"December, 2004"|"Hamster (Dwarf)"|"Ruddy"|"Male"|"January, 2002"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"Runnin' wheel"|"Runnin' wheel"|"Cucumbers and salad snacks"
+"349"|"Swifty"|"December, 2004"|"Hamster (Dwarf)"|"Nutmeg"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"Baltimore, MD United States"|"Baltimore, MD United States"|"MMMM MAGGOTS!!!! and PB"
+"350"|"Padgett Rousskin Namo"|"July, 2007"|"Hamster (Russian)"|"Argente"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Anything he can squish against"|"Anything he can squish against"|"Peanut"
+"351"|"Linus Pauling Campbelli"|"December, 2004"|"Hamster (Dwarf)"|"Brown"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"352"|"Brenda Milner Campbelli"|"December, 2004"|"Hamster (Dwarf)"|"Brown"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"353"|"Peppin Pinabel Namo"|"July, 2007"|"Hamster (Russian)"|"Agouti"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Green Topped House"|"Green Topped House"|"Peanut"
+"354"|"Hamstee Chester Y."|"November, 2006"|"Hamster (Teddy Bear)"|"Cinnamon"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"New Brunswick, NJ United States"|"his plastic wheel"|"his plastic wheel"|"sunflower seeds"
+"355"|"Climb-it"|"November, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"August, 2006"|"Gone to Hamster Heaven"|"Indianapolis, IN United States"|"Her little igloo hut"|"Her little igloo hut"|"Those little Flintstones vitamans!"
+"356"|"Ashley"|"January, 2005"|"Hamster (Syrian)"|"Cream"|"Male"|"March, 2002"|"Gone to Hamster Heaven"|"Katy, TX United States"|"Wheel"|"Wheel"|"Yoghurt Drops"
+"357"|"Vera Lynn"|"June, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Vancouver, WA United States"|"Green wheel!"|"Green wheel!"|"Sunflower seeds."
+"358"|"enzo"|"March, 2005"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|", United States"|"his special patrol unit"|"his special patrol unit"|"granola bars, tomatoes, bananas, weetabix, yoghurt chips, baby carrots, grapes"
+"359"|"Mia"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Lafayette, LA United States"|"her ball"|"her ball"|"peanuts ^_^"
+"360"|"Isabella"|"July, 2006"|"Hamster (Dwarf)"|"Pearl"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Lafayette, LA United States"|"her wheel"|"her wheel"|"sunflower seeds"
+"361"|"yoshi"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"hamster ball"|"hamster ball"|"sunflower seeds!"
+"362"|"dj skratch"|"November, 2004"|"Hamster (Dwarf)"|"White"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Ottawa, ON Canada"|"egg cartons, things i can climb"|"egg cartons, things i can climb"|"i love peanut butter and sunflower seeds. =D"
+"363"|"Lucky"|"January, 2007"|"Hamster (Syrian)"|"Honey"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"21136, MD United States"|"21136, MD United States"|"21136, MD United States"|"I like peanuts and yogurt treats as snacks!"
+"364"|"Tinky"|"May, 2007"|"Hamster (Dwarf)"|"Pearl"|"Female"|"March, 2007"|"59 months"|"None, Singapore"|"Chewing block"|"Chewing block"|"Sunflower seeds and Guava"
+"365"|"Pikachu"|"March, 2008"|"Hamster (Roborovskii)"|"Grey"|"Male"|"January, 2008"|"Gone to Hamster Heaven"|"Horsham, PA United States"|"His wheel!"|"His wheel!"|"Cheddar Rice Cakes"
+"366"|"Pumpkin"|"March, 2008"|"Hamster (Dwarf)"|"Grey"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Horsham, PA United States"|"His wheel"|"His wheel"|"His wheel"
+"367"|"Bijou"|"October, 2008"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"May, 2008"|"45 months"|"San Diego, CA United States"|"Wood Chews & Hamster Ball"|"Wood Chews & Hamster Ball"|"Yogies, pumpkin seeds, broccoli"
+"368"|"Cashew"|"December, 2005"|"Hamster (Siberian)"|"Agouti"|"Male"|"February, 2003"|"Gone to Hamster Heaven"|"Oswego, NY United States"|"cage bars"|"cage bars"|"cheeseburgers & spaghetti"
+"369"|"Midnight"|"March, 2007"|"Hamster (Syrian)"|"Black"|"Male"|"January, 2007"|"Gone to Hamster Heaven"|"Oswego, NY United States"|"wheel"|"wheel"|"apples, carrots and pretzels"
+"370"|"Sterling"|"May, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"March, 2007"|"Gone to Hamster Heaven"|"Oswego, NY United States"|"wheel"|"wheel"|"melon, apples, broccoli"
+"371"|"Scooter"|"May, 2007"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"May, 2007"|"Gone to Hamster Heaven"|"Aurora, IL United States"|"Solid Blue & White Plastic Wheel"|"Solid Blue & White Plastic Wheel"|"Carrorts, Apples"
+"372"|"Bijou"|"June, 2005"|"Hamster (Dwarf)"|"White"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Okc, OK United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"373"|"Kitty"|"October, 2004"|"Hamster (Dwarf)"|"Blue"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Peanuts with the shell on. She liked attacking them."|"Peanuts with the shell on. She liked attacking them."|"Sunflower seeds."
+"374"|"pokey"|"April, 2004"|"Hamster (Dwarf)"|"Platinum"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Tunkhannock, PA United States"|"hamster kabob"|"hamster kabob"|"crispi waffles"
+"375"|"Pumpkin"|"April, 2004"|"Hamster (Dwarf)"|"Black"|"Female"|"October, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"376"|"Zoe"|"May, 2004"|"Hamster (Siberian)"|"White"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"London, United Kingdom"|"sisterhammy, Twitch"|"sisterhammy, Twitch"|"Trill birdseed"
+"377"|"Cutie-Pie"|"April, 2004"|"Hamster (Dwarf)"|"Brown"|"Male"|"February, 2002"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Nothing"|"Nothing"|"Anything!"
+"378"|"Cupcake"|"April, 2004"|"Hamster (Syrian)"|"Mottled"|"Female"|"May, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"house"|"house"|"blueberries"
+"379"|"Comet"|"July, 2005"|"Hamster (Dwarf)"|"Grey"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Regina, SK Canada"|"Tunnels"|"Tunnels"|"Lettuce"
+"380"|"Ruby"|"July, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"October, 2003"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Her exercise ball."|"Her exercise ball."|"Banana or mashed potatoes."
+"381"|"Madonna Veronica Campbelli"|"January, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"382"|"Marilyn Monroe Campbelli"|"January, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"383"|"Oliver"|"March, 2006"|"Hamster (Dwarf)"|"Beige"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"His exercise wheel."|"His exercise wheel."|"Broccoli."
+"384"|"Pepsi"|"February, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"February, 1996"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Her cage bars."|"Her cage bars."|"Cress."
+"385"|"Tina"|"February, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"August, 1994"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Her exercise wheel."|"Her exercise wheel."|"Sunflower seeds."
+"386"|"Mia"|"June, 2006"|"Hamster (Teddy Bear)"|"Fawn"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Wheel"|"Wheel"|"Blueberries"
+"387"|"JoJo"|"June, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Unknown Yet"|"Unknown Yet"|"Yoghurt Balls"
+"388"|"Darlie"|"February, 2005"|"Hamster (Dwarf)"|"Black"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Dog Biscuit"|"Dog Biscuit"|"Cheese"
+"389"|"Frosti"|"January, 2005"|"Hamster (Dwarf)"|"Albino"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"
+"390"|"Crazy Joe Davola"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"New York City, NY United States"|"Crazy Joe loves playing inside his cozies."|"Crazy Joe loves playing inside his cozies."|"Cooked pasta."
+"391"|"Stryder Sparkles Spinner"|"July, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"New York City, NY United States"|"Her Superpet brand Wheel-N-Around wheel."|"Her Superpet brand Wheel-N-Around wheel."|"Her favorite treats are fresh peas and yogurt."
+"392"|"Crumbs"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"New York City, NY United States"|"Crumbs enjoys chewing on Tasty Twigs."|"Crumbs enjoys chewing on Tasty Twigs."|"Crumbs loves to eat and enjoys her mix as well as fresh foods as treats."
+"393"|"Valtiel"|"March, 2006"|"Hamster (Syrian)"|"Blonde"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Bath, United Kingdom"|"His wheel. It makes scary noises. ;)"|"His wheel. It makes scary noises. ;)"|"His wheel. It makes scary noises. ;)"
+"394"|"Skeepants"|"March, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"the clear Ball"|"the clear Ball"|"grapes and yogurt treats"
+"395"|"Noah"|"July, 2008"|"Hamster (Teddy Bear)"|"Cinnamon"|"Male"|"September, 2007"|"Gone to Hamster Heaven"|"Manila, Philippines"|"food bowl."|"food bowl."|"boiled rice, apples"
+"396"|"selene (RIP)"|"June, 2008"|"Hamster (Dwarf)"|"White"|"Female"|"April, 2008"|"46 months"|"Paranaque, Philippines"|"tissue rolls"|"tissue rolls"|"sunflower seeds"
+"397"|"Apollo"|"May, 2008"|"Hamster (Dwarf)"|"Platinum"|"Male"|"March, 2008"|"Gone to Hamster Heaven"|"Paranaque, Philippines"|"metal wheel"|"metal wheel"|"sunflower seeds"
+"398"|"Snickers"|"March, 2009"|"Hamster (Chinese)"|"Brown"|"Male"|"February, 2009"|"36 months"|"Homer, NY United States"|"wheel"|"wheel"|"cucumber"
+"399"|"Ethel"|"March, 2009"|"Hamster (Roborovskii)"|"Blonde"|"Female"|"November, 2007"|"Gone to Hamster Heaven"|"Elgin, IL United States"|"Ducky Man"|"Ducky Man"|"broccoli, peanut butter, apples, cheese, cauliflower"
+"400"|"Bella"|"March, 2009"|"Hamster (Syrian)"|"Golden"|"Female"|"September, 2008"|"41 months"|"Cowtown, CA United States"|"Nut Nibble"|"Nut Nibble"|"I haven't figured it out yet. >."
+"401"|"Moose"|"March, 2009"|"Hamster (Syrian)"|"Black Banded"|"Male"|"January, 2009"|"Gone to Hamster Heaven"|"Halifax, NS Canada"|"Silent Spinner wheel"|"Silent Spinner wheel"|"lettuce"
+"402"|"Fred"|"September, 2005"|"Hamster (Chinese)"|"Brown"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Cornwall, United Kingdom"|"Wheel"|"Wheel"|"Rivitas, peaunts, sunflower seeds, and bread"
+"403"|"George"|"September, 2005"|"Hamster (Chinese)"|"Brown"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Cornwall, United Kingdom"|"Wheel"|"Wheel"|"Sunflower seeds, peanuts, strawberries"
+"404"|"Harvey"|"June, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Cornwall, United Kingdom"|"Wheel"|"Wheel"|"Strawberry, and cucumber"
+"405"|"Little Ham"|"September, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"June, 2008"|"44 months"|"Cornwall, United Kingdom"|"Wheel"|"Wheel"|"Peanuts, sunflower seeds"
+"406"|"Charlie"|"September, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"June, 2008"|"44 months"|"Cornwall, United Kingdom"|"Wheel"|"Wheel"|"Peanuts, sunflower seeds"
+"407"|"Fluffy McWheelspinner"|"March, 2009"|"Hamster (Unknown)"|"White"|"Male"|"November, 2006"|"63 months"|"Vienna, VA United States"|"Treat filled log"|"Treat filled log"|"Seeds and nuts"
+"408"|"Ronnie"|"June, 2007"|"Hamster (Dwarf)"|"Argente"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"London, United Kingdom"|"the ball"|"the ball"|"Shaws Egg Biscuits"
+"409"|"Catherine Jennifer"|"June, 2007"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"February, 2007"|"60 months"|"Hamden, CT United States"|"Wood blocks"|"Wood blocks"|"Kaytee Fiesta Gourmet Food for Hamsters"
+"410"|"Mimzy"|"May, 2007"|"Hamster (Syrian)"|"Honey"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Nowhere, MN United States"|"Wheel"|"Wheel"|"Spinach/ Corn"
+"411"|"Mister Arthur Radley"|"May, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"January, 2007"|"Gone to Hamster Heaven"|"Nowhere, MN United States"|"My Froggy"|"My Froggy"|"sunflower nuts"
+"412"|"Whisk"|"June, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"September, 2006"|"65 months"|"......, United Kingdom"|"Play House"|"Play House"|"Sunflower seeds"
+"413"|"Nishibi"|"July, 2007"|"Hamster (Roborovskii)"|"White"|"Male"|"December, 2006"|"62 months"|"Middlesbrough, United Kingdom"|"Wheel"|"Wheel"|"My fingers (ouch!)"
+"414"|"Kyoke"|"July, 2007"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"December, 2006"|"62 months"|"Middlesbrough, United Kingdom"|"Winnie the pooh soft toy"|"Winnie the pooh soft toy"|"peanuts"
+"415"|"Fatty"|"September, 2007"|"Hamster (Dwarf)"|"Black"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The wooden chair/chest"|"The wooden chair/chest"|"Sunflower seed"
+"416"|"Luci"|"July, 2007"|"Hamster (Russian)"|"Mottled"|"Female"|"July, 2007"|"Gone to Hamster Heaven"|"Red Deer, AB Canada"|"Coconut Hut, Puzzle Playground Wheel, Zoom Zoom Ball"|"Coconut Hut, Puzzle Playground Wheel, Zoom Zoom Ball"|"Millet Sprays, Sunflower Seeds, Banana Chips"
+"417"|"Houdini"|"March, 2007"|"Hamster (Syrian)"|"Black Banded"|"Male"|"January, 2007"|"Gone to Hamster Heaven"|"Sockton-on-Tees, United Kingdom"|"The bars of his cage and his brand new super cool wodent wheel"|"The bars of his cage and his brand new super cool wodent wheel"|"Choc drops!"
+"418"|"Ninja"|"December, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Santa Clara, CA United States"|"Fluffy bedding"|"Fluffy bedding"|"Corn Chex and peanut butter"
+"419"|"Spiderman"|"November, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Las Vegas, NV United States"|"My Wheel"|"My Wheel"|"Pumpkin Seeds & Pasta"
+"420"|"Cinderella"|"November, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Las Vegas, NV United States"|"My Wheel"|"My Wheel"|"Pasta & Bananas"
+"421"|"Sally"|"January, 2007"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Las Vegas, NV United States"|"WheeeeL!"|"WheeeeL!"|"Sweet Potato"
+"422"|"Speedy"|"April, 2007"|"Gerbil (Mongolian)"|"Black"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"tubes"|"tubes"|"blueberries"
+"423"|"Mr. Bojangles"|"April, 2007"|"Hamster (Syrian)"|"Orange"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Victoria, BC Canada"|"Wheel"|"Wheel"|"Yogurt Treats"
+"424"|"Isabelle"|"April, 2007"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"October, 2006"|"64 months"|"Cedar Rapids, IA United States"|"stuff I can climb on or run in"|"stuff I can climb on or run in"|"veggies"
+"425"|"Snuggles"|"April, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"February, 2007"|"60 months"|"Hemel Hempstead, United Kingdom"|"Hemel Hempstead, United Kingdom"|"Hemel Hempstead, United Kingdom"|"Hemel Hempstead, United Kingdom"
+"426"|"Becky"|"April, 2007"|"Hamster (Syrian)"|"Orange"|"Female"|"December, 2006"|"Gone to Hamster Heaven"|"Greensboro, AL United States"|"Wood chews"|"Wood chews"|"Her food pellets"
+"427"|"Pete"|"April, 2007"|"Hamster (Syrian)"|"Brown"|"Male"|"April, 2007"|"Gone to Hamster Heaven"|"Greensboro, AL United States"|"The Wheel"|"The Wheel"|"Krunch-A-Rounds"
+"428"|"Ryan"|"April, 2007"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"January, 2007"|"61 months"|"Greensboro, AL United States"|"The bars! hehe"|"The bars! hehe"|"He'll eat ANYTHING"
+"429"|"Zé"|"May, 2007"|"Hamster (Russian)"|"Grey"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Taubaté, Brazil"|"Mocinha"|"Mocinha"|"fresh corn"
+"430"|"It"|"May, 2007"|"Hamster (Russian)"|"Grey"|"Male"|"January, 2007"|"Gone to Hamster Heaven"|"Taubaté, Brazil"|"wood flakes"|"wood flakes"|"cheese"
+"431"|"Mocinha"|"May, 2007"|"Hamster (Russian)"|"Grey"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Taubaté, Brazil"|"Zé"|"Zé"|"sunflower seed"
+"432"|"Peyton"|"June, 2007"|"Gerbil (Unknown)"|"White"|"Female"|"July, 2005"|"Gone to Gerbil Heaven"|"Toledo, OH United States"|"food dish"|"food dish"|"honey nut cheerios/tortilla chips"
+"433"|"Melody"|"June, 2007"|"Gerbil (Unknown)"|"Grey"|"Female"|"May, 2005"|"Gone to Gerbil Heaven"|"Toledo, OH United States"|"tube"|"tube"|"sunflower seeds"
+"434"|"Jack"|"January, 2008"|"Gerbil (Unknown)"|"Black"|"Male"|"December, 2007"|"50 months"|"Marco Island, FL United States"|"dried gord chews"|"dried gord chews"|"frosted home made hay balls"
+"435"|"Pepper"|"January, 2008"|"Gerbil (Unknown)"|"Black"|"Male"|"December, 2007"|"50 months"|"Marco Island, FL United States"|"wood and nut ball"|"wood and nut ball"|"seed balls"
+"436"|"November"|"April, 2004"|"Hamster (Dwarf)"|"Lilac"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Newark, DE United States"|"Wheel"|"Wheel"|"Wheel"
+"437"|"Huey"|"April, 2004"|"Hamster (Chinese)"|"Brown"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Stevens Point, WI United States"|"Paper clip chain"|"Paper clip chain"|"lettuce"
+"438"|"Peanut"|"April, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"October, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"439"|"Cherry"|"April, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"August, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"440"|"Chipper"|"April, 2004"|"Hamster (Dwarf)"|"Agouti"|"Male"|"May, 2001"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Cardboard Tube"|"Cardboard Tube"|"Cardboard Tube"
+"441"|"Precious Teardrop"|"June, 2004"|"Hamster (Syrian)"|"Brown"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Stroudsburg, PA United States"|"toilet paper rolls"|"toilet paper rolls"|"yogurt treats"
+"442"|"Kiki"|"June, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"Portland, ME United States"|"Wodent Wheel"|"Wodent Wheel"|"Banannas!"
+"443"|"Ji Ji"|"May, 2004"|"Hamster (Dwarf)"|"Smoke Pearl"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Dried carrots"
+"444"|"Mulder and Scully"|"April, 2004"|"Hamster (Dwarf)"|"Golden Banded"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"St. Mary's City, MD United States"|"wheel"|"wheel"|"dried fruit"
+"445"|"Tuck"|"March, 2007"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"March, 2006"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"cardbaord"|"cardbaord"|"peanuts"
+"446"|"Mirepoix"|"August, 2006"|"Hamster (Syrian)"|"Brown"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"Hamster playground"|"Hamster playground"|"blueberry yogurt dips"
+"447"|"I miss Orange Cream"|"March, 2007"|"Gerbil (Mongolian)"|"Agouti"|"Male"|"December, 2003"|"Gone to Gerbil Heaven"|"Central, NJ United States"|"anything he can chew"|"anything he can chew"|"grilled eggplant"
+"448"|"Martin (R.I.P)"|"March, 2007"|"Hamster (Teddy Bear)"|"Black"|"Male"|"November, 2006"|"63 months"|"Winston-salem, NC United States"|"books .... that he can chew on"|"books .... that he can chew on"|"sunflower seeds"
+"449"|"Kippy"|"April, 2007"|"Hamster (Siberian)"|"Grey"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Mommy's Fingers"|"Mommy's Fingers"|"Not picky"
+"450"|"Hammy"|"July, 2006"|"Hamster (Common)"|"Golden Banded"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Columbus, OH United States"|"Anything Plastic/wooden chewsticks"|"Anything Plastic/wooden chewsticks"|"almond slivers and yogurt drops"
+"451"|"Hammy - In Loving Memory"|"February, 2007"|"Hamster (Syrian)"|"Black"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Marysville, WA United States"|"Chew wood toy"|"Chew wood toy"|"Sunflower seeds"
+"452"|"Momoy"|"October, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"July, 2007"|"55 months"|"Manila, Philippines"|"wired cage"|"wired cage"|"apples, pears"
+"453"|"Mojo"|"May, 2008"|"Hamster (Syrian)"|"Cream"|"Female"|"August, 2007"|"54 months"|"Cagayan De Oro, Philippines"|"grills on her cage, her wheel"|"grills on her cage, her wheel"|"sunflower seeds, rice, bread, usually little bits of the food that we eat. she loves assorted hamster foods too."
+"454"|"hamham"|"May, 2008"|"Hamster (Syrian)"|"Black Banded"|"Male"|"September, 2007"|"53 months"|"Cagayan De Oro, Philippines"|"grills on his cage"|"grills on his cage"|"hamster food, rice, bread and basically little bits of everything that we eat."
+"455"|"trixie"|"May, 2008"|"Hamster (Roborovskii)"|"Cream"|"Female"|"February, 2008"|"Gone to Hamster Heaven"|"Hollywood, CA United States"|"kickng the sand"|"kickng the sand"|"hasmster food"
+"456"|"Bella"|"March, 2008"|"Hamster (Dwarf)"|"Agouti"|"Female"|"September, 2007"|"53 months"|"Lommel, Belgium"|"Excercise wheel"|"Excercise wheel"|"Sunflower seeds, yoghurt drops"
+"457"|"Jabeeberz"|"November, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"March, 1995"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"run-about ball"|"run-about ball"|"cheesey yogurt drops"
+"458"|"teacake"|"April, 2004"|"Hamster (Syrian)"|"Sable"|"Female"|"September, 2003"|"Gone to Hamster Heaven"|"Miami, FL United States"|"her wheel"|"her wheel"|"yogies and seed treats and nuts"
+"459"|"Daniel"|"November, 2004"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Houston, TX United States"|"Houston, TX United States"|"baby carrots, Critical Care mix"
+"460"|"April"|"February, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Hamster wheel (it's really noisy XD)"|"Hamster wheel (it's really noisy XD)"|"Pistachios and veggies"
+"461"|"Emma"|"April, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Erie, PA United States"|"Wheel"|"Wheel"|"Wheel"
+"462"|"Smeagol"|"June, 2005"|"Hamster (Syrian)"|"Blonde"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Bristol, United Kingdom"|"Bristol, United Kingdom"|"Bristol, United Kingdom"|"potato,nuts,peppers,cheese,chicken"
+"463"|"Scooter"|"February, 2006"|"Hamster (Syrian)"|"Honey"|"Male"|"June, 2003"|"Gone to Hamster Heaven"|"Montgomery, AL United States"|"Ball"|"Ball"|"fiesta'"
+"464"|"Clover"|"April, 2005"|"Hamster (Syrian)"|"Agouti"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"t-shirts and blankets"|"t-shirts and blankets"|"pumpkin seeds"
+"465"|"cookie"|"February, 2006"|"Hamster (Unknown)"|"Brown"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Saint John, NB Canada"|"bars"|"bars"|"seeds"
+"466"|"minime Cookie"|"February, 2006"|"Hamster (Chinese)"|"Brown"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Saint John, NB Canada"|"Her weel"|"Her weel"|"seeds"
+"467"|"Pirate Capt. Black Hamster"|"January, 2008"|"Hamster (Syrian)"|"Black"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"Whodent Wheel"|"Whodent Wheel"|"Broccoli and Banana Chips"
+"468"|"Brownie"|"September, 2007"|"Hamster (Common)"|"Cinnamon Banded"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"Highland Park, NJ United States"|"chewing the bars of her cage"|"chewing the bars of her cage"|"pizza"
+"469"|"Henry"|"February, 2008"|"Hamster (Russian)"|"Grey"|"Male"|"December, 2007"|"50 months"|"Highland Park, NJ United States"|"plastic tv"|"plastic tv"|"Yogurt drops"
+"470"|"Squiggles"|"February, 2008"|"Hamster (Syrian)"|"Golden"|"Female"|"November, 2007"|"51 months"|"Highland Park, NJ United States"|"chewing the cage bars"|"chewing the cage bars"|"any treats- she gets jealous when you give a treat to the other hamsters"
+"471"|"sprinkles"|"December, 2008"|"Hamster (Teddy Bear)"|"Black"|"Female"|"November, 2008"|"Gone to Hamster Heaven"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"her wheel"|"her wheel"|"originally pizza crust & almods now she seems to like everything"
+"472"|"LittleJasper"|"March, 2008"|"Hamster (Syrian)"|"Cream"|"Male"|"February, 2008"|"48 months"|"Dallas, TX United States"|"Whodent Wheel"|"Whodent Wheel"|"Tofu"
+"473"|"Cliff"|"March, 2008"|"Hamster (Syrian)"|"Black Banded"|"Male"|"October, 2007"|"52 months"|"Kolding, Denmark"|"hamster ball"|"hamster ball"|"yoghurt drops"
+"474"|"Lily"|"March, 2006"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Frederick, MD United States"|"Silent Spinner wheel"|"Silent Spinner wheel"|"Milk & honey drops, baby carrots"
+"475"|"Fry"|"November, 2007"|"Hamster (Syrian)"|"Honey"|"Male"|"September, 2007"|"53 months"|"Frederick, MD United States"|"Silent Spinner wheel"|"Silent Spinner wheel"|"Croissants, carrots, broccoli"
+"476"|"Vibeke"|"March, 2008"|"Hamster (Roborovskii)"|"Brown"|"Female"|"January, 2008"|"49 months"|"Bamberg, Germany"|"her toilet paper tube"|"her toilet paper tube"|"sunflower seeds"
+"477"|"Hanna-lore"|"March, 2008"|"Hamster (Roborovskii)"|"Brown"|"Female"|"January, 2008"|"49 months"|"Bamberg, Germany"|"wheel"|"wheel"|"not sure"
+"478"|"Marnie"|"July, 2006"|"Hamster (Unknown)"|"Honey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Rochester, NY United States"|"Rochester, NY United States"|"Rochester, NY United States"|"Raisins, Apple jacks"
+"479"|"Checkers"|"April, 2006"|"Hamster (Syrian)"|"Grey"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Rochester, NY United States"|"Wheel"|"Wheel"|"Apple"
+"480"|"Rotundo"|"July, 2006"|"Hamster (Dwarf)"|"Fawn"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Loma Linda, CA United States"|"A piece of wood"|"A piece of wood"|"corn"
+"481"|"Sinead"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"her wheel"|"her wheel"|"sunflower seeds"
+"482"|"Mini"|"May, 2006"|"Hamster (Roborovskii)"|"Beige"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Vienna, Austria"|"wheel"|"wheel"|"peanuts"
+"483"|"Pascal"|"November, 2004"|"Hamster (Syrian)"|"Cream"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"the tube sock that she sleeps in"|"the tube sock that she sleeps in"|"nuts, apples"
+"484"|"Oreo"|"April, 2004"|"Hamster (Syrian)"|"Black"|"Female"|"August, 2000"|"Gone to Hamster Heaven"|"Beaver Falls, PA United States"|"Her own cage"|"Her own cage"|"Her own cage"
+"485"|"Bluefire"|"June, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Lima, OH United States"|"Her wheel"|"Her wheel"|"sunflower seeds"
+"486"|"Samantha"|"July, 2007"|"Hamster (Dwarf)"|"White"|"Female"|"October, 2006"|"Gone to Hamster Heaven"|"Lima, OH United States"|"Bed Fluff (for hamsters)"|"Bed Fluff (for hamsters)"|"Sunflower Seeds"
+"487"|"Pumpkin"|"April, 2005"|"Hamster (Dwarf)"|"Beige"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Arlington, VA United States"|"Wheel"|"Wheel"|"Spinach , Sunflower seeds, and Peanuts"
+"488"|"RIP Chicken"|"April, 2005"|"Hamster (Syrian)"|"Honey"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Hicksville, NY United States"|"blow-up hamster"|"blow-up hamster"|"those little corn things"
+"489"|"Virginia Lee"|"November, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"her wheel"|"her wheel"|"corn"
+"490"|"Hamstersaurus Rex"|"January, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Philadelphia, PA United States"|"anything not in his cage"|"anything not in his cage"|"milk and honey drops. hed only eat them if he could"
+"491"|"Cecil III"|"June, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"His Nest"|"His Nest"|"Popcorn"
+"492"|"Cecil Junior"|"August, 2004"|"Hamster (Syrian)"|"Golden"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Wheel"|"Wheel"|"Lettuce"
+"493"|"Copper Penelope"|"May, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Tree Stump"|"Tree Stump"|"Lettuce and Sunflower Seeds"
+"494"|"Cecil Arthur"|"May, 2004"|"Hamster (Syrian)"|"Nutmeg"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Translucent Play Log"|"Translucent Play Log"|"Cheese"
+"495"|"Abby"|"June, 2004"|"Hamster (Syrian)"|"Mottled"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Wheel"|"Wheel"|"Leafy Green Carrot Tops"
+"496"|"Lilly"|"June, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Wheel"|"Wheel"|"Lettuce"
+"497"|"Joey"|"June, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Cage Bars & Tubes"|"Cage Bars & Tubes"|"Trail Mix"
+"498"|"Pokey"|"June, 2005"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Wheel"|"Wheel"|"Anything"
+"499"|"Fred"|"June, 2005"|"Hamster (Teddy Bear)"|"Orange"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"500"|"Ricky"|"June, 2005"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"501"|"Abdullah"|"June, 2005"|"Hamster (Teddy Bear)"|"Sable"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"502"|"Char"|"June, 2005"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"503"|"Medusa"|"June, 2005"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"504"|"Scribbles"|"August, 2005"|"Hamster (Syrian)"|"White"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Denver, CO United States"|"His ball"|"His ball"|"Sunflower Seeds"
+"505"|"Bubbles"|"August, 2005"|"Hamster (Syrian)"|"Beige"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Bars and Chew sticks"|"Bars and Chew sticks"|"Ritz Crackers"
+"506"|"Puddles"|"August, 2005"|"Hamster (Syrian)"|"Silver"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Food"|"Food"|"Anything"
+"507"|"Skittles"|"September, 2005"|"Hamster (Dwarf)"|"Silver"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Bedding and Wheel"|"Bedding and Wheel"|"My Fingers"
+"508"|"Summer"|"September, 2005"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"Wheel"|"Wheel"|"Peanuts"
+"509"|"Maggie"|"October, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Wheel"|"Wheel"|"Peanuts"
+"510"|"Ollie"|"October, 2005"|"Hamster (Dwarf)"|"Argente"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Cage Bars"|"Cage Bars"|"Pumpkin seeds"
+"511"|"Roxy"|"October, 2005"|"Hamster (Dwarf)"|"Agouti"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Wheel"|"Wheel"|"Pumpkin seeds"
+"512"|"Ginger"|"November, 2005"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Huntington Beach, CA United States"|"Circular Tube"|"Circular Tube"|"Corn"
+"513"|"Albert"|"February, 2006"|"Hamster (Dwarf)"|"Blue"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Boston, MA United States"|"wheel!"|"wheel!"|"carrots"
+"514"|"Lotte"|"February, 2006"|"Hamster (Dwarf)"|"Blue"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Boston, MA United States"|"wheel!"|"wheel!"|"sunflower seeds"
+"515"|"Caramel"|"February, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"New Brunswick, NJ United States"|"Wheel"|"Wheel"|"Sunflower seeds and lettuce"
+"516"|"Cookie"|"June, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Naperville, IL United States"|"ball"|"ball"|"corn,cheese"
+"517"|"CupCake"|"October, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Seminole, FL United States"|"Chewing Carrot"|"Chewing Carrot"|"Sunflower Seeds"
+"518"|"Sammy (the hammy)"|"September, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Chicagoish, IL United States"|"His yellow wheel"|"His yellow wheel"|"Sunflower seeds"
+"519"|"Teddy"|"September, 2006"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Chicagoish, IL United States"|"His little purple house that he sleeps under"|"His little purple house that he sleeps under"|"Sunflower seeds"
+"520"|"Teeny"|"November, 2006"|"Hamster (Siberian)"|"Grey"|"Male"|"October, 2006"|"64 months"|"Chicagoish, IL United States"|"Wooden log tunnel"|"Wooden log tunnel"|"Sunflower seeds"
+"521"|"Daisy"|"July, 2007"|"Hamster (Common)"|"Cream"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Bangor, ME United States"|"wheel"|"wheel"|"lettuce or white bread"
+"522"|"Diego"|"September, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Bronx, NY United States"|"Wheel"|"Wheel"|"dried papaya"
+"523"|"Happy"|"May, 2004"|"Hamster (Dwarf)"|"Argente"|"Female"|"November, 2002"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"gauze handkerchiefs"|"gauze handkerchiefs"|"soybeans"
+"524"|"Tofu"|"May, 2004"|"Hamster (Chinese)"|"White"|"Male"|"June, 2003"|"Gone to Hamster Heaven"|"Pittsburg, CA United States"|"His blue wheel"|"His blue wheel"|"Nutriphase hamster food and Strawberry yogurt drops"
+"525"|"Sushi"|"May, 2004"|"Hamster (Russian)"|"Agouti"|"Female"|"May, 2003"|"Gone to Hamster Heaven"|"Pittsburg, CA United States"|"pink hamster ball..and her wheel..she's always on it.."|"pink hamster ball..and her wheel..she's always on it.."|"pink hamster ball..and her wheel..she's always on it.."
+"526"|"Horsedog"|"December, 2004"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"July, 2001"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"chewing on carpet!"|"chewing on carpet!"|"gummie or pocky"
+"527"|"Ultra Peepi"|"December, 2004"|"Hamster (Syrian)"|"Black Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"Flats of Bedding"|"Flats of Bedding"|"sunflower seeds"
+"528"|"Raindrop"|"March, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Redhill, United Kingdom"|"Wheel"|"Wheel"|"Apples"
+"529"|"Herpe"|"September, 2005"|"Hamster (Dwarf)"|"Tortoise Shell"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Brookline, MA United States"|"the wheel!! the ball and the potty room which i converted into a sleeping room."|"the wheel!! the ball and the potty room which i converted into a sleeping room."|"cold watermelon and a frozen pea during the summer. a piece of walnut sometimes, i hate grapes, tomato, but once i was bad because i ate a bite of egg and that is really bad and a bite of a banana pancake."
+"530"|"Sweet Pea"|"July, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Palo Alto, CA United States"|""Shred-a-box""|""Shred-a-box""|"Sunflower seeds and blue berries"
+"531"|"Hercules"|"July, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Palo Alto, CA United States"|"My Cage Bars, "Shred-a-box", Chew-sticks"|"My Cage Bars, "Shred-a-box", Chew-sticks"|"Sunflower Seeds"
+"532"|"Hamster-Kun"|"July, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Palo Alto, CA United States"|"Anything!"|"Anything!"|"Apples, Blue Berries, Carrots, "Crunch-a-rounds""
+"533"|"Razzle"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Palo Alto, CA United States"|"Hamster Wheel"|"Hamster Wheel"|"Banana Chips"
+"534"|"Dazzle"|"August, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Palo Alto, CA United States"|"Hamster Wheel"|"Hamster Wheel"|"Peanuts"
+"535"|"Wasabi"|"April, 2007"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"March, 2007"|"Gone to Hamster Heaven"|"Cartago, Costa Rica"|"Su rueda de hamster (Hamster wheel :p)"|"Su rueda de hamster (Hamster wheel :p)"|"Diferentes clases de semillas (different kinds of seeds), manzana (apple), banano (banana)"
+"536"|"Missy (RIP)"|"October, 2007"|"Hamster (Teddy Bear)"|"Tortoise Shell"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Excercise wheel"|"Excercise wheel"|"Prestige hamsterfood, andive, carrot, banana"
+"537"|"Manny"|"December, 2007"|"Hamster (Syrian)"|"Black Banded"|"Male"|"December, 2006"|"62 months"|"Lommel, Belgium"|"Lommel, Belgium"|"Lommel, Belgium"|"Vegetables, banana, apple, animal crackers, yoghurt drops"
+"538"|"Milo (RIP)"|"January, 2008"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Excercise wheel"|"Excercise wheel"|"Hamster food, hamster cookies, andive, carrot"
+"539"|"Hamlet (RIP)"|"March, 2008"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"None"|"None"|"Animal crackers"
+"540"|"Lucius (RIP)"|"April, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2008"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Excercise wheel, little hang house made out of fleece"|"Excercise wheel, little hang house made out of fleece"|"Sunflower seeds"
+"541"|"Severus (RIP)"|"April, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2008"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Excercise wheel"|"Excercise wheel"|"Hamster food"
+"542"|"Moon (RIP)"|"April, 2008"|"Hamster (Syrian)"|"Cream"|"Female"|"December, 2007"|"Gone to Hamster Heaven"|"Lommel, Belgium"|"Excercise wheel"|"Excercise wheel"|"Yoghurt drops"
+"543"|"dopey"|"September, 2008"|"Hamster (Syrian)"|"Tortoise Shell"|"Male"|"August, 2008"|"42 months"|"Richmond, VA United States"|"sheets! they taste good."|"sheets! they taste good."|"cantalope"
+"544"|"hamtaro"|"December, 2008"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"February, 2008"|"Gone to Hamster Heaven"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"her TV set aka hide n see TV"|"her TV set aka hide n see TV"|"french fries"
+"545"|"Whale"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"remote control"|"remote control"|"everything"
+"546"|"Peanut"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Hoboken, NJ United States"|"Her wheel"|"Her wheel"|"Raisins and seeds"
+"547"|"Lovey"|"September, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Staten Island, NY United States"|"Staten Island, NY United States"|"Staten Island, NY United States"|"Vita Stick"
+"548"|"Frederick A. P. Barnard II"|"September, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Hoboken, NJ United States"|"Exercise ball, wheel(s), cage bars."|"Exercise ball, wheel(s), cage bars."|"Raisins, blueberries, cheese, PEOPLE FINGERS!"
+"549"|"Sticky"|"June, 2004"|"Hamster (Dwarf)"|"Platinum"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Baby shoe"|"Baby shoe"|"Uncooked ramen noodles"
+"550"|"Mu Wua Wua"|"May, 2004"|"Hamster (Dwarf)"|"Smoke Pearl"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Dried carrots"
+"551"|"Harvey"|"April, 2004"|"Hamster (Teddy Bear)"|"Black"|"Male"|"June, 2003"|"Gone to Hamster Heaven"|"Beaver Falls, PA United States"|"his house"|"his house"|"strawberries"
+"552"|"Fei Fei"|"May, 2004"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Her Wheel"|"Her Wheel"|"Blueberry Treats"
+"553"|"Scyrus"|"May, 2004"|"Hamster (Syrian)"|"Black"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Surrey, BC Canada"|"Excersize Wheel"|"Excersize Wheel"|"Sun Flower Seeds / Corn Cobs"
+"554"|"Dexter"|"June, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Overland Park, KS United States"|"His wheel"|"His wheel"|"Lettuce, banannas, sunflower seeds, cheese"
+"555"|"Teddy"|"November, 2004"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Anaheim, CA United States"|"Wood"|"Wood"|"Bananas"
+"556"|"Cheeky"|"November, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Olympia, WA United States"|"Wheel"|"Wheel"|"Carrots"
+"557"|"Bird"|"October, 2004"|"Hamster (Syrian)"|"Sable"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Schenectady, NY United States"|"The cage bars."|"The cage bars."|"Corn (dried) and lettuce"
+"558"|"Zippy"|"March, 2005"|"Hamster (Syrian)"|"Grey"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Miami, FL United States"|"his ball! he can run for hours"|"his ball! he can run for hours"|"Sunflower Seeds!"
+"559"|"Kit"|"January, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Wheel"|"Wheel"|"Yogurt drops"
+"560"|"Georgia"|"January, 2005"|"Hamster (Russian)"|"Black"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"toilet paper roll and hamster pillow cheyenne made for me."|"toilet paper roll and hamster pillow cheyenne made for me."|"i like spinach and ..... peanut butter"
+"561"|"Ham"|"February, 2005"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"West Palm Beach, FL United States"|"Timber Hideway Home"|"Timber Hideway Home"|"Lettuce"
+"562"|"Zola"|"January, 2005"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Dacono, CO United States"|"Her Purple Running Wheel"|"Her Purple Running Wheel"|"The Plastic Connecting Tubes, The Metal Bars Of Her Cage & Strawberry Yougurt Drops"
+"563"|"Nemo"|"November, 2004"|"Hamster (Russian)"|"Calico"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Dacono, CO United States"|"The Wheel and the Slide"|"The Wheel and the Slide"|"Pumpkin Seeds, Dried Bananas and Peanuts"
+"564"|"Ruffles"|"August, 2005"|"Hamster (Syrian)"|"Brown"|"Male"|"May, 2002"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Raviolio's"|"Raviolio's"|"Raviolio's (veggie chew things)"
+"565"|"Lola"|"October, 2005"|"Hamster (Syrian)"|"Honey"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Southampton, United Kingdom"|"Wheel"|"Wheel"|"Cheerios"
+"566"|"Saffron"|"October, 2005"|"Hamster (Syrian)"|"Orange"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"London, United Kingdom"|"blue chew stick or blue wheel"|"blue chew stick or blue wheel"|"Anything"
+"567"|"Cujo"|"October, 2005"|"Hamster (Syrian)"|"Orange"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Ball or Wheel"|"Ball or Wheel"|"Sunflower seeds"
+"568"|"Patience"|"January, 2006"|"Hamster (Syrian)"|"Champagne"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"569"|"cinnamon"|"April, 2009"|"Hamster (Russian)"|"Nutmeg"|"Female"|"April, 2009"|"Gone to Hamster Heaven"|"Atlanta, GA United States"|"wheel"|"wheel"|"corn"
+"570"|"Rupert"|"December, 2008"|"Hamster (Teddy Bear)"|"Black"|"Male"|"September, 2007"|"Gone to Hamster Heaven"|"Atlanta, GA United States"|"to lazy to chew"|"to lazy to chew"|"yogies"
+"571"|"spike"|"December, 2006"|"Hamster (Teddy Bear)"|"Dove"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Under Your Bed, OK United States"|"tungle rope"|"tungle rope"|"seeds"
+"572"|"trema {R.I.P}"|"July, 2006"|"Hamster (Syrian)"|"Champagne"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"little tv"|"little tv"|"sun flower seeds"
+"573"|"ema {R.I.P}"|"July, 2006"|"Hamster (Dwarf)"|"Nutmeg"|"Female"|"November, 1996"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"plastis cheese ball"|"plastis cheese ball"|"carrots"
+"574"|"trempy {R.I.P}"|"July, 2006"|"Hamster (Russian)"|"Nutmeg"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"plastic cheese ball"|"plastic cheese ball"|"pelets"
+"575"|"black jack"|"December, 2006"|"Hamster (Syrian)"|"Black"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Bixby, OK United States"|"chew boxes"|"chew boxes"|"corn"
+"576"|"Spike"|"November, 2005"|"Gerbil (Dwarf)"|"Fawn"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Madison, WI United States"|"Wood house"|"Wood house"|"Pellets"
+"577"|"Cammie"|"July, 2004"|"Hamster (Syrian)"|"Cream"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Rochester, NY United States"|"Wheel"|"Wheel"|"Sunflower seeds, apple"
+"578"|"sweety"|"August, 2007"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"North Adams, MA United States"|"a little playdome cause she likes to climb"|"a little playdome cause she likes to climb"|"dog treats"
+"579"|"Dot"|"February, 2005"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"New York, NY United States"|"Wheel"|"Wheel"|"Hard Boiled Egg"
+"580"|"Grassley"|"May, 2005"|"Hamster (Common)"|"Sable Banded"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"Iowa City, IA United States"|"his wheel"|"his wheel"|"seasame seed balls"
+"581"|"Dizzy"|"October, 2004"|"Hamster (Syrian)"|"Sable"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Schenectady, NY United States"|"The cage bars or the wheel"|"The cage bars or the wheel"|"Corn (dried), hammie snacks in general"
+"582"|"Ella"|"October, 2004"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Schenectady, NY United States"|"Her wheel and her water bottle"|"Her wheel and her water bottle"|"Her wheel and her water bottle"
+"583"|"ho ho"|"January, 2010"|"Hamster (Russian)"|"Grey"|"Male"|"December, 2009"|"Gone to Hamster Heaven"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"his playpen"|"his playpen"|"his playpen"
+"584"|"peanut"|"December, 2009"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"December, 2009"|"Gone to Hamster Heaven"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"|"Hanford,then Santa Cruz, Now Coalinga, CA United States"
+"585"|"frisky"|"March, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Not Telling, United States"|"tunnels"|"tunnels"|"yogurt balls"
+"586"|"Jet"|"November, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Birmingham, United Kingdom"|"Bed"|"Bed"|"Carrot, cucumber and hamster mix"
+"587"|"Baby Puff"|"March, 2005"|"Hamster (Teddy Bear)"|"White"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"wheel!"|"wheel!"|"cake!"
+"588"|"Kit-Kat"|"June, 2005"|"Hamster (Common)"|"Orange"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Lenoir, NC United States"|"Doggie Bones"|"Doggie Bones"|"Hamster & Gerbil Blend"
+"589"|"Lucy"|"July, 2005"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Vancouver, Canada"|"Wheel"|"Wheel"|"Sunflower Seed"
+"590"|"Teddy"|"March, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Bars of cage"|"Bars of cage"|"Seeds,fruits,vegetables"
+"591"|"Cotton"|"March, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Toy House"|"Toy House"|"Vegetables"
+"592"|"Whiskers"|"March, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Wheel"|"Wheel"|"vegetables,seeds"
+"593"|"Zoe"|"January, 2006"|"Hamster (Chinese)"|"Orange"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Cupertino, CA United States"|"Wheel"|"Wheel"|"Wheel"
+"594"|"Candy"|"February, 2006"|"Hamster (Chinese)"|"Chocolate"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"Cupertino, CA United States"|"wheel"|"wheel"|"wheel"
+"595"|"Whitey"|"March, 2006"|"Hamster (Teddy Bear)"|"Albino"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Tunnels"|"Tunnels"|"Seeds,fruits,vegetables"
+"596"|"Jerry"|"March, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Wheel"|"Wheel"|"Sunflower seeds"
+"597"|"Chubbo"|"April, 2006"|"Hamster (Teddy Bear)"|"Black"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Wheel"|"Wheel"|"Sunflower seeds"
+"598"|"Chubby"|"April, 2006"|"Hamster (Teddy Bear)"|"Black"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Wheel"|"Wheel"|"Sunflower seeds"
+"599"|"Cookie"|"April, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Wheel"|"Wheel"|"Seeds,fruits,vegetables"
+"600"|"Panda"|"April, 2006"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Food Container"|"Food Container"|"Sunflower seeds"
+"601"|"Cream"|"April, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Tunnels"|"Tunnels"|"Sunflower seeds"
+"602"|"Lary"|"April, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"PuertoPrincessaCity, Philippines"|"Toy House"|"Toy House"|"Seeds,fruits,vegetables"
+"603"|"Angel Junior"|"September, 2006"|"Hamster (Common)"|"Golden"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"Wheel"|"Wheel"|"Seeds"
+"604"|"Lucy"|"July, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Northville, MI United States"|"Her bedding"|"Her bedding"|"Strawberry flavored treats when she is just too cute to say no"
+"605"|"A Tommy-jimmy"|"May, 2008"|"Hamster (Syrian)"|"Yellow"|"Male"|"October, 2007"|"52 months"|"Monstroplis, United Kingdom"|"Hammock"|"Hammock"|"Chips,yoghurt drops...."
+"606"|"Andy"|"March, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"October, 2007"|"52 months"|"Winnipeg, MB Canada"|"Wood chews, Toilet paper rolls"|"Wood chews, Toilet paper rolls"|"Snap peas and Broccoli"
+"607"|"Hamtaro"|"March, 2008"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"February, 2008"|"48 months"|"Hanford, CA United States"|"her TV set aka hide n see TV"|"her TV set aka hide n see TV"|"french fries"
+"608"|"JoJo Hamster"|"February, 2009"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"January, 2007"|"61 months"|"Brooklyn, NY United States"|"Anything chewable"|"Anything chewable"|"Dried fruit"
+"609"|"Socrates"|"June, 2011"|"Hamster (Syrian)"|"Sable"|"Male"|"January, 2010"|"25 months"|"Clarksville, IA United States"|"Wheel"|"Wheel"|"tortilla chips, lettuce, carrots, apple blossums"
+"610"|"Kira-Kira"|"June, 2011"|"Hamster (Syrian)"|"Calico"|"Female"|"November, 2008"|"Gone to Hamster Heaven"|"Clarksville, IA United States"|"The wheel, my owners dog Poe"|"The wheel, my owners dog Poe"|"anything!"
+"611"|"Mrs. Teeny"|"March, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"Ely, MN United States"|"Her cheese house xD"|"Her cheese house xD"|"Apples & Carrots"
+"612"|"Lee,La,Boum,Bang,Cuty,Tiny,Pie"|"February, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Vimont Laval, QC Canada"|"all pepper sticks and bells"|"all pepper sticks and bells"|"sunflower seeds with gravy!"
+"613"|"Pankcakes"|"February, 2005"|"Hamster (Teddy Bear)"|"Sable"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Dickson City, PA United States"|"Her Wheel"|"Her Wheel"|"Cereal"
+"614"|"MOO"|"February, 2005"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Dickson City, PA United States"|"orange ball"|"orange ball"|"rasinettes"
+"615"|"Lovey"|"January, 2005"|"Hamster (Syrian)"|"Black Banded"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Richmond, VA United States"|"runaround ball"|"runaround ball"|"broccoli,stale wheat bread,snowpeas,raisins"
+"616"|"Moo"|"April, 2007"|"Hamster (Syrian)"|"Black Banded"|"Female"|"August, 2006"|"66 months"|"Victoria, BC Canada"|"Wheel"|"Wheel"|"Fruit and Veggies"
+"617"|"Bearbear"|"January, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Vancouver, BC Canada"|"the uuh cage O_o;"|"the uuh cage O_o;"|"no pee stink biscult sticks"
+"618"|"Bebe"|"January, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Vancouver, BC Canada"|"toliet paper rolls"|"toliet paper rolls"|"hamster cookies, dried fruit"
+"619"|"Juju II"|"January, 2005"|"Hamster (Common)"|"Golden Banded"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Wheel"|"Wheel"|"Sunflower seeds"
+"620"|"Juju"|"January, 2005"|"Hamster (Common)"|"Golden Banded"|"Female"|"January, 2000"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Wheel"|"Wheel"|"Sunflower seeds"
+"621"|"Furblur"|"April, 2004"|"Hamster (Dwarf)"|"Agouti"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"622"|"Lady Hammington"|"May, 2004"|"Hamster (Syrian)"|"Orange"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"her rollie ball"|"her rollie ball"|"her rollie ball"
+"623"|"Cottonball F.B Hoff the First"|"March, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"September, 2002"|"Gone to Hamster Heaven"|"Richmond, BC Canada"|"hamsterwheel"|"hamsterwheel"|"blueberries"
+"624"|"Gum Gum"|"April, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Richmond, BC Canada"|"hamsterwheel"|"hamsterwheel"|"not sure yet..."
+"625"|"Willow"|"September, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Strasbourg, France"|"The house."|"The house."|"Sunflower's seeds."
+"626"|"Eowyn"|"September, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Strasbourg, France"|"The wheel."|"The wheel."|"Sunflower's seeds."
+"627"|"Poochi"|"September, 2005"|"Hamster (Russian)"|"Grey"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Strasbourg, France"|"The wheel!"|"The wheel!"|"All. :)"
+"628"|"Chekhov"|"March, 2007"|"Hamster (Russian)"|"Agouti"|"Female"|"October, 2006"|"Gone to Hamster Heaven"|"Charlotte, NC United States"|"The bars of her cage! and her ball."|"The bars of her cage! and her ball."|"Anything seedy that she can spit out in her wheel, or Block [which she carries around like a dog with a bone]"
+"629"|"Sundae"|"July, 2006"|"Hamster (Syrian)"|"Calico"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"Wheel and Ball"|"Wheel and Ball"|"Yogurt Drops, Milkbones, any type of human food"
+"630"|"Sonya"|"June, 2005"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Salt Lick"|"Salt Lick"|"Meal Worms"
+"631"|"Kuzia"|"August, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Louisville, KY United States"|"N/A"|"N/A"|"apples"
+"632"|"Ella"|"August, 2005"|"Hamster (Syrian)"|"Cream"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Louisville, KY United States"|"hideout house"|"hideout house"|"Vitakraft yougurt drops."
+"633"|"Sultan"|"August, 2005"|"Hamster (Syrian)"|"White"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Louisville, KY United States"|"wheel"|"wheel"|"yougurt drops"
+"634"|"Mushka"|"August, 2005"|"Hamster (Dwarf)"|"Black"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Louisville, KY United States"|"Kleenex"|"Kleenex"|"yougurt drops"
+"635"|"Elizabeth"|"August, 2005"|"Hamster (Siberian)"|"Golden"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Louisville, KY United States"|"wheel"|"wheel"|"apples"
+"636"|"Henri Marie Toulouse-Lautrec"|"August, 2005"|"Hamster (Dwarf)"|"Agouti"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"!, United States"|"Toilet roll"|"Toilet roll"|"Sunflower seeds"
+"637"|"Zucchini"|"September, 2007"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"August, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Bars ~___~"|"Bars ~___~"|"Freeze-dried mealworms"
+"638"|"Dora"|"March, 2006"|"Hamster (Teddy Bear)"|"Beige"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Binghamton, NY United States"|"Hamster Ball"|"Hamster Ball"|"Sunflower Seeds"
+"639"|"Obi"|"March, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Panamá, Panama"|"hamster sphere"|"hamster sphere"|"cookies and papaya"
+"640"|"Lupin"|"April, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Panamá, Panama"|"not yet"|"not yet"|"cookies"
+"641"|"Hammie Lynne"|"March, 2006"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"My ball"|"My ball"|"Pumpkin seeds"
+"642"|"Ziggy"|"March, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Spring, TX United States"|"Silent Spinner"|"Silent Spinner"|"Healthy Bits, Carrot Wood Chews"
+"643"|"Matilda"|"February, 2005"|"Hamster (Syrian)"|"Grey"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Wooden house"|"Wooden house"|"Spinach"
+"644"|"Jabba"|"August, 2004"|"Hamster (Syrian)"|"Brown"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Manila, Philippines"|"His Running Ball"|"His Running Ball"|"Fruits: specifically Papaya and Banana"
+"645"|"Hegel"|"February, 2005"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Missoula, MT United States"|"commercial-sized (full) roll of toilet paper stolen from the hospital."|"commercial-sized (full) roll of toilet paper stolen from the hospital."|"broccoli"
+"646"|"Christina"|"October, 2008"|"Hamster (Common)"|"Golden"|"Female"|"June, 2008"|"44 months"|"Sacramento, CA United States"|"The Wheel"|"The Wheel"|"timmothy tot's"
+"647"|"Ashes"|"July, 2008"|"Gerbil (Mongolian)"|"Agouti"|"Male"|"April, 2007"|"58 months"|"Albuquerque, NM United States"|"Anything he can chew on"|"Anything he can chew on"|"Sunflower seeds and Cake"
+"648"|"Pete"|"April, 2005"|"Gerbil (Mongolian)"|"Agouti"|"Male"|"November, 2002"|"Gone to Gerbil Heaven"|"Asheville, NC United States"|"His Wheel"|"His Wheel"|"Sunflower Seeds"
+"649"|"Junior"|"August, 2004"|"Hamster (Syrian)"|"Beige"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"his wheel"|"his wheel"|"veggies"
+"650"|"Violet"|"January, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Her plastic ball"|"Her plastic ball"|"broccoli, lettuce"
+"651"|"Boris"|"December, 2004"|"Hamster (Unknown)"|"Agouti"|"Male"|"January, 2002"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"652"|"Harry"|"August, 2004"|"Hamster (Syrian)"|"Brown"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Washington, PA United States"|"His wheel"|"His wheel"|"His wheel"
+"653"|"Romeo"|"January, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Hamilton, ON Canada"|"Hamilton, ON Canada"|"Hamilton, ON Canada"|"yoogurt drops"
+"654"|"Potato"|"September, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"January, 1999"|"Gone to Hamster Heaven"|"Madison, WI United States"|"Madison, WI United States"|"Madison, WI United States"|"almonds"
+"655"|"Patie"|"February, 2005"|"Hamster (Dwarf)"|"Opal"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Everything in the Cage!"|"Everything in the Cage!"|"Sunflower Seeds"
+"656"|"Cream Soda"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"October, 2002"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"The electronic hockey hamster who sang "Ice, Ice Baby""|"The electronic hockey hamster who sang "Ice, Ice Baby""|"Strawberry Cola (yes, I'm horrible)"
+"657"|"Bubbles"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"West New York, NJ United States"|"Wood Blocks that I can chew on"|"Wood Blocks that I can chew on"|"Healthy hamster food my mommy feeds me"
+"658"|"Picket"|"May, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"New Brunswick, NJ United States"|"toilet paper rolls"|"toilet paper rolls"|"all food"
+"659"|"Charlotte"|"March, 2007"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"August, 2006"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"anything cardboard"|"anything cardboard"|"peanuts"
+"660"|"Nippy"|"March, 2007"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"August, 2006"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"cardboard"|"cardboard"|"peanuts"
+"661"|"Sleepy"|"April, 2007"|"Gerbil (Mongolian)"|"Black"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"tubes"|"tubes"|"blueberries"
+"662"|"Charlie"|"April, 2007"|"Hamster (Siberian)"|"Grey"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Manila, Philippines"|"His little red wheel"|"His little red wheel"|"Not picky"
+"663"|"Snowy"|"August, 2006"|"Hamster (Dwarf)"|"Silver"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Meriden, KS United States"|"Wood chew blocks."|"Wood chew blocks."|"Various mixed together."
+"664"|"Tina"|"January, 2007"|"Hamster (Dwarf)"|"Brown"|"Female"|"December, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Tumble Rope"|"Tumble Rope"|"Sunflowerseeds / Nuts"
+"665"|"Pinty & Lilian"|"January, 2007"|"Hamster (Russian)"|"Brown"|"Female"|"March, 2007"|"59 months"|"San Diego, CA United States"|"The Weel"|"The Weel"|"nuts"
+"666"|"General Tso"|"March, 2007"|"Hamster (Chinese)"|"Agouti"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Charlotte, NC United States"|"Her wheel"|"Her wheel"|"Anything seedy that she can spit out in her wheel at night!"
+"667"|"Petit Four"|"August, 2006"|"Hamster (Teddy Bear)"|"Sable"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"Her wheel"|"Her wheel"|"anything sweet"
+"668"|"Champignon"|"December, 2006"|"Hamster (Syrian)"|"Sable"|"Male"|"November, 2006"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"wheel"|"wheel"|"steak"
+"669"|"Gus Gus"|"May, 2007"|"Hamster (Syrian)"|"Black Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Peach Tree Twigs"|"Peach Tree Twigs"|"Watermelon and bananas"
+"670"|"Galaxy"|"July, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Kenilworth, NJ United States"|"cardboard boxes"|"cardboard boxes"|"sunflower seeds"
+"671"|"Benji"|"September, 2008"|"Hamster (Chinese)"|"Grey"|"Male"|"July, 2008"|"Gone to Hamster Heaven"|"Derby, United Kingdom"|"he loves his weel and carboard tubes :D cant get enough of them"|"he loves his weel and carboard tubes :D cant get enough of them"|"loooovess raisens ,lettuce,a little cucumber and apple."
+"672"|"Boris"|"July, 2007"|"Hamster (Russian)"|"White"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Middlesbrough, United Kingdom"|"Puzzle block"|"Puzzle block"|"Sunflower seeds"
+"673"|"Sandy"|"July, 2007"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"June, 2007"|"56 months"|"Brampton, ON Canada"|"toilet paper roll"|"toilet paper roll"|"oats and coconut. (it's all she's tried!)"
+"674"|"B.B."|"August, 2006"|"Hamster (Dwarf)"|"Golden Banded"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"leather gloves"|"leather gloves"|"peanuts and dried carrots"
+"675"|"Kat"|"February, 2005"|"Hamster (Dwarf)"|"Argente"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Beaver Falls, PA United States"|"Beaver Falls, PA United States"|"Beaver Falls, PA United States"|"Beaver Falls, PA United States"
+"676"|"Ms.Rex"|"November, 2005"|"Hamster (Siberian)"|"Cinnamon"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Madison, WI United States"|"wheel"|"wheel"|"Hamster food"
+"677"|"Bob"|"April, 2004"|"Hamster (Syrian)"|"Agouti"|"Male"|"February, 2003"|"Gone to Hamster Heaven"|"Stillwater, ME United States"|"Wire Spiral"|"Wire Spiral"|"Pasta"
+"678"|"Simba"|"March, 2009"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2008"|"40 months"|"Gloucester, UK, United Kingdom"|"Wodent Wheel"|"Wodent Wheel"|"Organic baby carrots."
+"679"|"lexsy"|"November, 2007"|"Hamster (Syrian)"|"Yellow"|"Female"|"August, 2006"|"Gone to Hamster Heaven"|"Berwick, PA United States"|"her wheel"|"her wheel"|"sunflower seeds"
+"680"|"Bubbles"|"December, 2008"|"Hamster (Dwarf)"|"Grey"|"Male"|"August, 2007"|"54 months"|"Sardinia, OH United States"|"Exercise Wheel"|"Exercise Wheel"|"Fiesta"
+"681"|"Percy"|"August, 2004"|"Hamster (Syrian)"|"Blonde"|"Male"|"September, 2002"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"682"|"Dolly"|"February, 2007"|"Hamster (Syrian)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Tubes an Tunnels"|"Tubes an Tunnels"|"Oats and Bran mash"
+"683"|"Ollie"|"February, 2007"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"His mum!"|"His mum!"|"Chicken breast, babyfood, weetabix and cheese!"
+"684"|"Noah"|"September, 2007"|"Hamster (Syrian)"|"Roan"|"Male"|"June, 2007"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Cage Bars?"|"Cage Bars?"|"Likes Cucumber"
+"685"|"hamlet"|"February, 2008"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"January, 2008"|"49 months"|"Toronto, ON Canada"|"Toronto, ON Canada"|"Toronto, ON Canada"|"corn"
+"686"|"Nubby"|"March, 2008"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"March, 2008"|"47 months"|"Norwood, NY United States"|"Straw hut, excersize wheel"|"Straw hut, excersize wheel"|"Sunflower seeds, and yogert nuts"
+"687"|"The Doctor"|"March, 2008"|"Hamster (Syrian)"|"Silver"|"Male"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Yogies"
+"688"|"Cotton"|"March, 2008"|"Hamster (Dwarf)"|"White"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"Ny, NY United States"|"wheel"|"wheel"|"wheel"
+"689"|"Mr. Socks"|"March, 2008"|"Hamster (Teddy Bear)"|"Silver"|"Male"|"February, 2007"|"60 months"|"Ny, NY United States"|"Wheel"|"Wheel"|"blue berries"
+"690"|"George"|"March, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"May, 2007"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Yogies"
+"691"|"Alphonse"|"January, 2008"|"Hamster (Syrian)"|"Cream"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Ratatouille Le Bon Croissants"
+"692"|"Sulley"|"January, 2008"|"Hamster (Syrian)"|"Silver"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"His wheel"|"His wheel"|"Yogies"
+"693"|"Sophie"|"January, 2008"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"June, 2007"|"56 months"|"Kansas City, MO United States"|"Her wheel"|"Her wheel"|"Anything you give her."
+"694"|"Godai"|"January, 2008"|"Hamster (Syrian)"|"Mottled"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Kansas City, MO United States"|"Kansas City, MO United States"|"Potato chips (in heavy moderation)"
+"695"|"Fred"|"March, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"May, 2007"|"57 months"|"Kansas City, MO United States"|"His wheel"|"His wheel"|"Yogies"
+"696"|"Ando"|"March, 2008"|"Hamster (Dwarf)"|"Grey"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Yogies"
+"697"|"Pigwidgweon"|"June, 2007"|"Hamster (Siberian)"|"Sapphire"|"Female"|"March, 2007"|"59 months"|"Thorofare, NJ United States"|"toilet paper roll"|"toilet paper roll"|"sunflower seeds"
+"698"|"Hamlet"|"May, 2008"|"Hamster (Syrian)"|"Cream"|"Female"|"November, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The wheel"|"The wheel"|"Assorted honey-covered nuts, sunflower seeds and yogurt drops"
+"699"|"Chiko"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Mushroom"|"Mushroom"|"Sunflower Seed"
+"700"|"Robbie & Ruddie"|"September, 2007"|"Hamster (Roborovskii)"|"Cinnamon"|"Male"|"September, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wheel"|"Wheel"|"Unknown"
+"701"|"Stubby"|"August, 2006"|"Hamster (Dwarf)"|"Chocolate"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"N.A."|"N.A."|"Sunflower Seed"
+"702"|"Mocha"|"October, 2007"|"Hamster (Dwarf)"|"Argente"|"Male"|"September, 2007"|"53 months"|"Las Pinas City, Philippines"|"Plastic Tubes - Hamster Wheel"|"Plastic Tubes - Hamster Wheel"|"Sunflower Seeds"
+"703"|"Jessie"|"October, 2007"|"Gerbil (Common)"|"Grey"|"Female"|"August, 2007"|"54 months"|"~*~*~*~*~*~, TX United States"|"~*~*~*~*~*~, TX United States"|"~*~*~*~*~*~, TX United States"|"sunflower seeds and the red things in my food pack"
+"704"|"Nutmeg"|"October, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"August, 2007"|"54 months"|"~*~*~*~*~*~, TX United States"|"the wheel..."|"the wheel..."|"Lettuce and Sunflower Seeds"
+"705"|"Macy"|"October, 2007"|"Gerbil (Common)"|"Golden"|"Female"|"August, 2007"|"54 months"|"~*~*~*~*~*~, TX United States"|"Shelby (my owner!)"|"Shelby (my owner!)"|"Shelby (my owner!)"
+"706"|"Ariel"|"October, 2007"|"Gerbil (Common)"|"Dove"|"Female"|"August, 2007"|"54 months"|"~*~*~*~*~*~, TX United States"|"My food bowl -- I live there!"|"My food bowl -- I live there!"|"Anything!"
+"707"|"Sextus"|"January, 2006"|"Gerbil (Mongolian)"|"Lilac"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Cincinnati, OH United States"|"anything he can chew on"|"anything he can chew on"|"pumpkin seeds"
+"708"|"Lars"|"January, 2005"|"Hamster (Siberian)"|"Agouti Yellow"|"Male"|"December, 2001"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"Chicago, IL United States"|"Chicago, IL United States"|"Hamster Ravioli"
+"709"|"Ofeilia"|"March, 2008"|"Hamster (Syrian)"|"Yellow"|"Male"|"November, 2007"|"51 months"|"Manhatten NewYorkCity, NY United States"|"Cheerios"|"Cheerios"|"HoneyNut Cheerios,HamsterFood"
+"710"|"snickerz"|"March, 2008"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"February, 2008"|"48 months"|"Pawleys Island, SC United States"|"running wheel"|"running wheel"|"sunflower seeds"
+"711"|"Buttercup"|"April, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"October, 2002"|"Gone to Hamster Heaven"|"Falmouth, MA United States"|"wheel"|"wheel"|"grapes"
+"712"|"Bu"|"April, 2007"|"Hamster (Teddy Bear)"|"Blue"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"her wheel"|"her wheel"|"cream cheese"
+"713"|"Punky Brewster"|"November, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Lansing, MI United States"|"Hamster Wheel"|"Hamster Wheel"|"My Fingers"
+"714"|"Gir"|"February, 2005"|"Hamster (Syrian)"|"Honey"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"Hamster ball"|"Hamster ball"|"Honey drops"
+"715"|"White Head"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wooden block"|"Wooden block"|"Barley & Wheat"
+"716"|"Speedy"|"August, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wooden tower"|"Wooden tower"|"Sunflower Seed"
+"717"|"Naughty"|"August, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Wheel"|"Wheel"|"Sunflower Seed"
+"718"|"Stoot"|"August, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Plastic wheel"|"Plastic wheel"|"Sunflower Seed"
+"719"|"Twins Twins"|"August, 2006"|"Hamster (Dwarf)"|"Black"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Grills"|"Grills"|"Sunflower seed"
+"720"|"Yoshi"|"September, 2006"|"Hamster (Dwarf)"|"White"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"No toy as yet."|"No toy as yet."|"All types of seeds"
+"721"|"Timid Retardy"|"November, 2006"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"August, 2006"|"66 months"|"Singapore, Singapore"|"Waterbottle"|"Waterbottle"|"All food"
+"722"|"Dwarfie Retardy"|"November, 2006"|"Hamster (Dwarf)"|"Sapphire"|"Male"|"August, 2006"|"66 months"|"Singapore, Singapore"|"Nothing"|"Nothing"|"All food"
+"723"|"Whitehead"|"September, 2007"|"Hamster (Dwarf)"|"White"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Ceramic bowl"|"Ceramic bowl"|"Everything"
+"724"|"Calculus"|"June, 2004"|"Hamster (Dwarf)"|"Black"|"Male"|"April, 2003"|"Gone to Hamster Heaven"|"Columbus, OH United States"|"Toilet paper rolls"|"Toilet paper rolls"|"Hot dog buns"
+"725"|"Zeppo"|"August, 2004"|"Hamster (Syrian)"|"Agouti"|"Male"|"January, 2002"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"avocado"
+"726"|"Arthur"|"April, 2004"|"Hamster (Syrian)"|"Blonde"|"Male"|"December, 2002"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Hamster ball!"|"Hamster ball!"|"Strawberries"
+"727"|"Rocky"|"July, 2004"|"Hamster (Syrian)"|"Grey"|"Male"|"March, 2002"|"Gone to Hamster Heaven"|"Rochester, NY United States"|"blue cube"|"blue cube"|"sunflower seeds"
+"728"|"Boris"|"October, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"October, 2002"|"Gone to Hamster Heaven"|"Southampton, United Kingdom"|"Wheel (running on it, not in it)"|"Wheel (running on it, not in it)"|"Broccoli"
+"729"|"Odd Ball"|"June, 2006"|"Hamster (Dwarf)"|"Lilac"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"San Antonio, TX United States"|"her wheel"|"her wheel"|"sunflower seeds"
+"730"|"Peanut"|"March, 2006"|"Hamster (Russian)"|"Agouti"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Scotland, United Kingdom"|"chew stick"|"chew stick"|"cheese"
+"731"|"Muffin"|"March, 2006"|"Hamster (Russian)"|"Argente"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Scotland, United Kingdom"|"his food dish; he was always eating!"|"his food dish; he was always eating!"|"sunflower seeds"
+"732"|"Belle"|"July, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Naperville, IL United States"|"my wheel, the bars of my cage, anything made of cardboard"|"my wheel, the bars of my cage, anything made of cardboard"|"cucumbers, carrots, bananas, lettuce, and pea pods"
+"733"|"Keebler Smores Templeton"|"July, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"New York City, NY United States"|"Keebler seems to enjoy the occasional mini dry dog biscuit as a chew toy."|"Keebler seems to enjoy the occasional mini dry dog biscuit as a chew toy."|"Fresh wild blueberries."
+"734"|"ferbie"|"June, 2007"|"Hamster (Syrian)"|"Fawn"|"Female"|"November, 2000"|"Gone to Hamster Heaven"|"North Las Vegas, NV United States"|"wheel"|"wheel"|"dog food"
+"735"|"richard"|"December, 2006"|"Hamster (Siberian)"|"Cream"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"hamster wheel"|"hamster wheel"|"peanut butter"
+"736"|"pippin"|"December, 2006"|"Hamster (Siberian)"|"Grey"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"chew stick"|"chew stick"|"lettuce"
+"737"|"Potpot"|"February, 2006"|"Hamster (Unknown)"|"Black Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"elbow tunnel"|"elbow tunnel"|"everything"
+"738"|"Mollie"|"September, 2004"|"Hamster (Dwarf)"|"Mottled"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Chopsticks!!"|"Chopsticks!!"|"Milk Biscuits.. Yummie!!"
+"739"|"BoBo"|"October, 2004"|"Hamster (Russian)"|"Cinnamon"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Her House"|"Her House"|"Cheeeeeeeese"
+"740"|"Bay Bay"|"April, 2004"|"Hamster (Dwarf)"|"Argente"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Wheel Wheel Wheeeeeeeellllllll!!!!"|"Wheel Wheel Wheeeeeeeellllllll!!!!"|"Wheel Wheel Wheeeeeeeellllllll!!!!"
+"741"|"Bim Bim"|"April, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"SG, Singapore"|"Too Lazy to Play...."|"Too Lazy to Play...."|"Too Lazy to Play...."
+"742"|"Awedough"|"December, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Davis, CA United States"|"Ball"|"Ball"|"Pumpkin seeds"
+"743"|"Galadriel"|"October, 2005"|"Hamster (Dwarf)"|"White"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Cedar Falls, IA United States"|"Her Wheel"|"Her Wheel"|"Sunflower Seeds"
+"744"|"Big Momma"|"May, 2007"|"Hamster (Dwarf)"|"Blue"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"nibble-stick"|"nibble-stick"|"blueberries"
+"745"|"Pumpkin"|"August, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Roslindale, MA United States"|"toilet paper, pull apart bedding"|"toilet paper, pull apart bedding"|"sunflower seeds, corn chips"
+"746"|"Munchkin"|"August, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Roslindale, MA United States"|"dust bath house"|"dust bath house"|"sunflower seeds, blueberries"
+"747"|"Taffy"|"September, 2005"|"Hamster (Syrian)"|"Brown"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"Wheel"|"Wheel"|"Sunflower seeds, nuts and yoghurt drops"
+"748"|"Smudge"|"June, 2006"|"Hamster (Dwarf)"|"Black"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Santa Clara, CA United States"|"Delicious wood blocks"|"Delicious wood blocks"|"Peanut butter!!"
+"749"|"Moe"|"April, 2004"|"Hamster (Syrian)"|"Silver"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Aracaju, Brazil"|"Aracaju, Brazil"|"Aracaju, Brazil"|"Potato and peanuts"
+"750"|"Pickles"|"December, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Templeton, MA United States"|"His work-out wheel"|"His work-out wheel"|"Hamster chow ((thats what I call it))"
+"751"|"Dandy (In Loving Memory)"|"March, 2005"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Orlando, FL United States"|"Wood chews, toilet paper"|"Wood chews, toilet paper"|"Corn, and seeds"
+"752"|"Poppelina Rose"|"April, 2005"|"Hamster (Syrian)"|"Agouti"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"wood chips and drawstrings on hoodies (she likes to see how much string she can shove in her cheek pouches), and the wooden beads on crot nasty's bracelet"|"wood chips and drawstrings on hoodies (she likes to see how much string she can shove in her cheek pouches), and the wooden beads on crot nasty's bracelet"|"strawberry yogurt drops"
+"753"|"Abraham"|"July, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Port Saint Lucie, FL United States"|"His running ball"|"His running ball"|"corn"
+"754"|"Vlad"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Lakewood, OH United States"|"Lakewood, OH United States"|"Lakewood, OH United States"|"seeds of any sort and whatever the purple pellet in his food is"
+"755"|"Boris"|"July, 2006"|"Hamster (Dwarf)"|"Tortoise Shell"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Lakewood, OH United States"|"fruitwood twigs"|"fruitwood twigs"|"seeds"
+"756"|"Lucky"|"August, 2006"|"Hamster (Dwarf)"|"Black Banded"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Windsor, ON Canada"|"wheel, his flavoured chews"|"wheel, his flavoured chews"|"baby carrots,apples,romaine lettuce,chips"
+"757"|"Geneviève Élise"|"October, 2006"|"Gerbil (Mongolian)"|"Black"|"Female"|"August, 2006"|"Gone to Gerbil Heaven"|"Tolland, CT United States"|"Still unknown."|"Still unknown."|"Still unknown."
+"758"|"Napoleon"|"April, 2007"|"Gerbil (Unknown)"|"Agouti"|"Male"|"December, 2004"|"Gone to Gerbil Heaven"|"New York, NY United States"|"cardboard tubes"|"cardboard tubes"|"Mush"
+"759"|"Pepito"|"April, 2007"|"Gerbil (Unknown)"|"Blonde"|"Male"|"December, 2004"|"Gone to Gerbil Heaven"|"New York, NY United States"|"the drip dish"|"the drip dish"|"fresh apple"
+"760"|"Flik"|"September, 2006"|"Hamster (Chinese)"|"Agouti"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Chestnut Hill Township, PA United States"|"Climbing tube"|"Climbing tube"|"Honey balls"
+"761"|"Arthur"|"November, 2005"|"Hamster (Teddy Bear)"|"Dove"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Santa Cruz, CA United States"|"Exercise wheel! He's a fast runner"|"Exercise wheel! He's a fast runner"|"Pumpkin seeds and yogurt drops"
+"762"|"Gus"|"November, 2004"|"Hamster (Teddy Bear)"|"White"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Alta Loma, CA United States"|"The wheel"|"The wheel"|"Lettuce & yogurt drops"
+"763"|"Rolo"|"September, 2004"|"Hamster (Syrian)"|"Honey"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Stevenage, United Kingdom"|"Wheel"|"Wheel"|"Grapes, Egg biscuit stick"
+"764"|"Sasquatch"|"May, 2005"|"Hamster (Dwarf)"|"Brown"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Her wheel"|"Her wheel"|"Her wheel"
+"765"|"Mortimer"|"May, 2005"|"Hamster (Siberian)"|"Grey"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"766"|"Brownie"|"April, 2006"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Wheel"|"Wheel"|"Sunflower Seeds, Peanuts"
+"767"|"Merry"|"May, 2006"|"Hamster (Unknown)"|"Black"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Hawthorne, CA United States"|"Wheel"|"Wheel"|"People food!"
+"768"|"sprinklez"|"April, 2006"|"Hamster (Dwarf)"|"Argente"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Salem, OR United States"|"whreel"|"whreel"|"corn"
+"769"|"Oscar"|"March, 2008"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"November, 2007"|"51 months"|"Manhatten NewYorkCity, NY United States"|"Nutriphase mineral sticks, honey burritos"|"Nutriphase mineral sticks, honey burritos"|"HoneyNut Cheerios,HamsterFood"
+"770"|"Penelope"|"March, 2008"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"January, 2008"|"49 months"|"Manhatten NewYorkCity, NY United States"|"Wheel, Chew Sticks,Carrots"|"Wheel, Chew Sticks,Carrots"|"HoneyNut Cheerios,HamsterFood"
+"771"|"Stifler"|"March, 2008"|"Hamster (Dwarf)"|"Chocolate"|"Male"|"September, 2007"|"53 months"|"San Jose, Costa Rica"|"San Jose, Costa Rica"|"San Jose, Costa Rica"|"Waffles"
+"772"|"fufu"|"August, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"
+"773"|"Teddy"|"April, 2004"|"Hamster (Syrian)"|"Mottled"|"Male"|"March, 2000"|"Gone to Hamster Heaven"|"Beaver Falls, PA United States"|"His house."|"His house."|"raisens"
+"774"|"Hamster Boy"|"January, 2005"|"Hamster (Common)"|"Brown"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Edmonton, AB Canada"|"wheel"|"wheel"|"peanuts and pet grass"
+"775"|"Hamster Girl"|"January, 2005"|"Hamster (Common)"|"Cinnamon"|"Female"|"February, 2003"|"Gone to Hamster Heaven"|"Edmonton, AB Canada"|"chew sticks"|"chew sticks"|"strawberries"
+"776"|"Turismo"|"January, 2005"|"Hamster (Dwarf)"|"Argente"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"wheel or ball"|"wheel or ball"|"sunflower seeds"
+"777"|"Turbo"|"January, 2005"|"Hamster (Dwarf)"|"Argente"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"plastic house"|"plastic house"|"sunflower seeds"
+"778"|"Cosi"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Monclova, Mexico"|"A wood stick"|"A wood stick"|"Sun flower seeds, apples, tomatoes, cuccumbers,"
+"779"|"Ginger"|"January, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Franklin, MA United States"|"Her Coconut Cabana"|"Her Coconut Cabana"|"Dried Bannanas and Dried Apple Skins"
+"780"|"Ming Xie"|"December, 2006"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Vancouver, BC Canada"|"glow-in-the-dark exercise ball"|"glow-in-the-dark exercise ball"|"liked apple, disliked papaya"
+"781"|"Onyx"|"April, 2004"|"Hamster (Teddy Bear)"|"Black"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Malta, United States"|"sticks"|"sticks"|"yogurt chips, eggs & nuts"
+"782"|"Lee~Lou"|"April, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Windsor, CA United States"|"I love my eggplant chew toy"|"I love my eggplant chew toy"|"I love my eggplant chew toy"
+"783"|"Princess"|"April, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"March, 2000"|"Gone to Hamster Heaven"|"Windsor, CA United States"|"The cage bars"|"The cage bars"|"The cage bars"
+"784"|"twinkle toes"|"April, 2004"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"June, 2002"|"Gone to Hamster Heaven"|"Quincy, MA United States"|"her wheel"|"her wheel"|"her wheel"
+"785"|"farley"|"April, 2004"|"Hamster (Teddy Bear)"|"White"|"Female"|"May, 2000"|"Gone to Hamster Heaven"|"Quincy, MA United States"|"probably her wheel"|"probably her wheel"|"ice cream, or cheese probably"
+"786"|"coffee"|"May, 2008"|"Hamster (Dwarf)"|"Cinnamon"|"Female"|"March, 2008"|"47 months"|"Hollywood, CA United States"|"the wood"|"the wood"|"fruits"
+"787"|"Cheeka"|"December, 2007"|"Hamster (Dwarf)"|"Smoke Pearl"|"Female"|"October, 2007"|"Gone to Hamster Heaven"|"Wayzata, MN United States"|"My Wheel!!!!!"|"My Wheel!!!!!"|"Frozen Peas"
+"788"|"Jasmine"|"September, 2006"|"Hamster (Siberian)"|"Sapphire"|"Female"|"August, 2006"|"66 months"|"Lafayette, LA United States"|"Pretzles"|"Pretzles"|"seeds =]"
+"789"|"Abbigale"|"September, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Lafayette, LA United States"|"Wheel and tubes"|"Wheel and tubes"|"Carrots"
+"790"|"Buttercup"|"September, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Lafayette, LA United States"|"Her castle"|"Her castle"|"sunflower seeds"
+"791"|"Queen Princess Poopybutt"|"November, 2006"|"Hamster (Siberian)"|"Brown"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Bel Air, MD United States"|"her sister Dusty"|"her sister Dusty"|"anything"
+"792"|"Bethany"|"November, 2006"|"Hamster (Siberian)"|"Black"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Bel Air, MD United States"|"Wheel"|"Wheel"|"yogies"
+"793"|"PJ's First Baby"|"November, 2006"|"Hamster (Siberian)"|"Black"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Bel Air, MD United States"|"his food dish"|"his food dish"|"everything but pellets"
+"794"|"Dusty"|"November, 2006"|"Hamster (Siberian)"|"Grey"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Bel Air, MD United States"|"jingle ball"|"jingle ball"|"anything"
+"795"|"LuLu"|"November, 2006"|"Hamster (Siberian)"|"Black"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Bel Air, MD United States"|"Bel Air, MD United States"|"Bel Air, MD United States"|"Cheerios"
+"796"|"CoCo"|"January, 2007"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"November, 2006"|"63 months"|"21136, MD United States"|"TastyKake box, running ball"|"TastyKake box, running ball"|"Strawberry Yogurt Drops"
+"797"|"cudlez"|"April, 2007"|"Hamster (Dwarf)"|"Grey"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Moline, IL United States"|"salt stick"|"salt stick"|"hamster veggie burgers"
+"798"|"Midnight"|"June, 2005"|"Hamster (Syrian)"|"Beige"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Seattle, WA United States"|"Seattle, WA United States"|"applesauce"
+"799"|"Mysh"|"August, 2005"|"Hamster (Syrian)"|"Grey"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Moscow, Russian Federation"|"hamsterball"|"hamsterball"|"cucumbers"
+"800"|"Pudge"|"July, 2005"|"Hamster (Syrian)"|"Calico"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Gilford, NH United States"|"wheel"|"wheel"|"wheel"
+"801"|"Ham-ham"|"March, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Farmingdale, NY United States"|"Farmingdale, NY United States"|"Farmingdale, NY United States"|"Carrots, sunflower seeds"
+"802"|"Doodles"|"August, 2005"|"Hamster (Syrian)"|"Cream"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Greenies / Bars to cage"|"Greenies / Bars to cage"|"Teddy Grahams / Brocolli"
+"803"|"Sprinkles"|"August, 2005"|"Hamster (Syrian)"|"Brown"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Wood Chews"|"Wood Chews"|"anything in reach of her teeth"
+"804"|"Stapler"|"October, 2005"|"Hamster (Siberian)"|"Grey"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Macomb, IL United States"|"Wheel"|"Wheel"|"Cheerios"
+"805"|"Pickles"|"August, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"June, 2003"|"Gone to Hamster Heaven"|"Denver, CO United States"|"His play bin"|"His play bin"|"Carrots"
+"806"|"Twinkles"|"August, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Denver, CO United States"|"Fingers"|"Fingers"|"Anything"
+"807"|"Ponsi"|"February, 2006"|"Hamster (Unknown)"|"White"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"elbow tunnel"|"elbow tunnel"|"everything"
+"808"|"Hermione"|"August, 2008"|"Hamster (Syrian)"|"Golden"|"Female"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Her Wheel"|"Her Wheel"|"Yogies"
+"809"|"Nia"|"August, 2008"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Her wheel"|"Her wheel"|"Yogies"
+"810"|"Ginny"|"August, 2008"|"Hamster (Syrian)"|"Orange"|"Female"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Her little plastic house"|"Her little plastic house"|"Treat mix"
+"811"|"Haruka"|"August, 2008"|"Hamster (Syrian)"|"Silver"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Her Igloo"|"Her Igloo"|"Yogies"
+"812"|"Heimdall"|"August, 2008"|"Hamster (Syrian)"|"White"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"His Box"|"His Box"|"Yogies"
+"813"|"Neville"|"August, 2008"|"Hamster (Syrian)"|"Silver"|"Male"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Yogies"
+"814"|"Franky"|"August, 2008"|"Hamster (Syrian)"|"Orange"|"Male"|"April, 2007"|"58 months"|"Kansas City, MO United States"|"His Wheel"|"His Wheel"|"Carrots"
+"815"|"Yoko"|"August, 2008"|"Hamster (Syrian)"|"Orange"|"Female"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Her TV"|"Her TV"|"Yogies"
+"816"|"Dolly"|"May, 2009"|"Hamster (Teddy Bear)"|"Honey"|"Female"|"March, 2009"|"35 months"|"The Moon, FL United States"|"Her Wheel"|"Her Wheel"|"Anything you give her"
+"817"|"Virgil"|"September, 2008"|"Hamster (Syrian)"|"Chocolate"|"Male"|"August, 2008"|"42 months"|"Dallas, TX United States"|"Dallas, TX United States"|"Dallas, TX United States"|"Dallas, TX United States"
+"818"|"Sandy"|"January, 2009"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"October, 2007"|"52 months"|"Southern Ontario, ON Canada"|"Puzzle Playground and tubes"|"Puzzle Playground and tubes"|"Sunflower seeds"
+"819"|"Peanuts"|"July, 2008"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"September, 2007"|"53 months"|"Manila, Philippines"|"food bowl"|"food bowl"|"apples, boiled rice, dog food, white meat"
+"820"|"Orangina"|"August, 2008"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"June, 2008"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"wheel"|"wheel"|"Sunflower seeds"
+"821"|"Clinton"|"March, 2009"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"December, 2008"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"Wodent Wheel"|"Wodent Wheel"|"Sunflower seeds"
+"822"|"Penelope"|"June, 2008"|"Hamster (Syrian)"|"Dove"|"Female"|"April, 2008"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"runabout ball"|"runabout ball"|"She likes trying new things"
+"823"|"Mika"|"December, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"July, 2007"|"55 months"|"Quezon City, Philippines"|"wheel, carton tissue"|"wheel, carton tissue"|"nut's"
+"824"|"Burroughs"|"August, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"April, 2007"|"58 months"|"Quezon City, Philippines"|"He has a little toy cow that he likes chewing on."|"He has a little toy cow that he likes chewing on."|"Peas, grapes, bits of apple. Recently: bits of banana and strands of cooked spaghetti."
+"825"|"Mokong"|"October, 2007"|"Hamster (Teddy Bear)"|"Albino"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Wired Cage"|"Wired Cage"|"pears"
+"826"|"Wispa"|"February, 2008"|"Hamster (Dwarf)"|"Agouti"|"Female"|"November, 2007"|"51 months"|"Wakefield, United Kingdom"|"See-Saw"|"See-Saw"|"Sunflower seeds"
+"827"|"Honey"|"March, 2008"|"Hamster (Syrian)"|"Honey"|"Female"|"January, 2007"|"61 months"|"UK, United Kingdom"|"UK, United Kingdom"|"UK, United Kingdom"|"Broccoli, Cereal"
+"828"|"Ami"|"February, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"North Hollywood, CA United States"|"wood chew toy"|"wood chew toy"|"broccoli, grapes, carrots, dried corn, sunflower seeds"
+"829"|"Misty"|"December, 2007"|"Hamster (Syrian)"|"Cream"|"Female"|"July, 2007"|"55 months"|"Wirral, United Kingdom"|"chewy stick"|"chewy stick"|"hewy sticks"
+"830"|"Sky"|"November, 2007"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"June, 2007"|"Gone to Hamster Heaven"|"Wirral, United Kingdom"|"his play-block"|"his play-block"|"Hamster Choc-drops"
+"831"|"Coco"|"August, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"My little house"|"My little house"|"Carrot and Green Veggie !"
+"832"|"Cobra Bubbles"|"October, 2005"|"Hamster (Syrian)"|"Black"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"West Hartford, CT United States"|"His tubes"|"His tubes"|"Papayas!"
+"833"|"Hurricane Dennis"|"October, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Red Wodent Wheel"|"Red Wodent Wheel"|"Yogurt drops"
+"834"|"Bear"|"July, 2006"|"Hamster (Syrian)"|"Black"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Lincoln (Moving To Fremont), NE United States"|"His bed"|"His bed"|"corn"
+"835"|"Peanut"|"November, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Mason City, IA United States"|"exercise wheel"|"exercise wheel"|"sunflower seeds"
+"836"|"Princess"|"April, 2005"|"Hamster (Dwarf)"|"Calico"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Corvallis, OR United States"|"Plastic Ball"|"Plastic Ball"|"Plastic Ball"
+"837"|"Bubba"|"April, 2005"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Corvallis, OR United States"|"Wheel"|"Wheel"|"Peanuts"
+"838"|"Cathy"|"April, 2005"|"Gerbil (Unknown)"|"Grey"|"Female"|"December, 2004"|"Gone to Gerbil Heaven"|"Corvallis, OR United States"|"Wooden House"|"Wooden House"|"Wooden House"
+"839"|"Butterscotch"|"April, 2005"|"Gerbil (Unknown)"|"Beige"|"Female"|"February, 2005"|"Gone to Gerbil Heaven"|"Corvallis, OR United States"|"Wheel"|"Wheel"|"Wheel"
+"840"|"Sabrina"|"March, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Farmingdale, NY United States"|"Her wheel"|"Her wheel"|"Bread"
+"841"|"Freyo"|"August, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Marburg, Germany"|"he doesn't like toys that much"|"he doesn't like toys that much"|"yoghurt drops with honey"
+"842"|"Herbert"|"January, 2007"|"Hamster (Russian)"|"Silver"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Madrid, Spain"|"Wheel"|"Wheel"|"Chicken!!"
+"843"|"Matilda"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Austin, TX United States"|"Wooden bell"|"Wooden bell"|"Seeds"
+"844"|"xiao ting tang"|"August, 2006"|"Hamster (Syrian)"|"Brown"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"my running wheel (:"|"my running wheel (:"|"i eat everything and that's why am fat"
+"845"|"Peanut"|"June, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Alexandria, VA United States"|"Alexandria, VA United States"|"Alexandria, VA United States"|"fresh peas"
+"846"|"Carl"|"July, 2006"|"Hamster (Teddy Bear)"|"White"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Westlake, OH United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"847"|"Cocoa"|"July, 2006"|"Hamster (Russian)"|"Nutmeg"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"his pet-veiwer turned bedroom"|"his pet-veiwer turned bedroom"|"snix-snax by Kay Tee, tofu!"
+"848"|"Chitter Bug"|"June, 2007"|"Hamster (Russian)"|"White"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"wheel"|"wheel"|"snack bars by Kay Tee, TOFU!"
+"849"|"Vladimir, Li and Pavel"|"June, 2007"|"Hamster (Russian)"|"Albino"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"n/a"|"n/a"|"n/a"
+"850"|"Poop"|"June, 2007"|"Hamster (Russian)"|"Mottled"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"wheel, card board tube, a plastic orange tree trunk with holes"|"wheel, card board tube, a plastic orange tree trunk with holes"|"blueberry yogurt balls, sunflower seeds"
+"851"|"Baby Poo"|"June, 2007"|"Hamster (Russian)"|"Mottled"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"wheel and play tubes"|"wheel and play tubes"|"strawberry yogurt drops, sunflower seeds"
+"852"|"Trixie and Dixie"|"June, 2007"|"Hamster (Russian)"|"Black Banded"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"hammie igloos, cage bars! even tho those where a no-no... me, Trixie used to love to climb up and down on me,"|"hammie igloos, cage bars! even tho those where a no-no... me, Trixie used to love to climb up and down on me,"|"TOFU! strawberry yogurt drops, sunflower seed and crispy breed."
+"853"|"Pixie"|"June, 2007"|"Hamster (Russian)"|"Black Banded"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"hmm..she doesn't really have one...i guess the igloo"|"hmm..she doesn't really have one...i guess the igloo"|"EVERYTHING! hahahha, she's a pudgy hammie! tofu!"
+"854"|"Astrid"|"June, 2007"|"Hamster (Russian)"|"White"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Ventura County, CA United States"|"she likes this little tube thingy i made for her with extrs parts, she sleeps in it during the day."|"she likes this little tube thingy i made for her with extrs parts, she sleeps in it during the day."|"TOFU! carrot shreds, and snix-snax by Kay Tee"
+"855"|"Brownie"|"September, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Pacoima, CA United States"|"nothing really, poor thing"|"nothing really, poor thing"|"everything"
+"856"|"In Memorium RIP Checkers"|"April, 2008"|"Hamster (Syrian)"|"Black Banded"|"Male"|"March, 2008"|"Gone to Hamster Heaven"|"ThunderBay, ON Canada"|"Colourful Wooden chew toy"|"Colourful Wooden chew toy"|"Sunflower seeds"
+"857"|"Gus"|"April, 2008"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"March, 2008"|"47 months"|"Thunder Bay, ON Canada"|"Hamster Ball"|"Hamster Ball"|"Donuts( For Hamsters )"
+"858"|"Mystique Emmalylis Stanton"|"August, 2007"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Fairfax, VA United States"|"Wheel"|"Wheel"|"Carrots"
+"859"|"Emmalylus Mystique Stanton"|"August, 2007"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Fairfax, VA United States"|"Wood Hut"|"Wood Hut"|"Spinach"
+"860"|"Daisy"|"June, 2005"|"Hamster (Dwarf)"|"Agouti"|"Female"|"July, 2001"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"her little igloo"|"her little igloo"|"corn"
+"861"|"cheerio"|"June, 2005"|"Hamster (Russian)"|"Argente"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Wheaton, United States"|"toy from fisher price"|"toy from fisher price"|"sunflower seeds"
+"862"|"Vanilla"|"June, 2005"|"Hamster (Russian)"|"Argente"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Wheaton, United States"|"Wheaton, United States"|"Wheaton, United States"|"sunflower seeds"
+"863"|"Sweet Pea"|"May, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Fredericksburg, VA United States"|"His Imaginex boat that hangs from his 'ceiling'."|"His Imaginex boat that hangs from his 'ceiling'."|"Fingers"
+"864"|"Chikin"|"August, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Newport News, VA United States"|"His Ball and his Condo"|"His Ball and his Condo"|"Sunflower Seeds"
+"865"|"Percival"|"July, 2006"|"Hamster (Russian)"|"Agouti"|"Male"|"February, 2003"|"Gone to Hamster Heaven"|"Chestnut Hill Township, PA United States"|"Wheel"|"Wheel"|"Hamster Fiesta"
+"866"|"Cutie"|"November, 2004"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"
+"867"|"Jazz"|"November, 2004"|"Hamster (Common)"|"Black"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Anaheim, CA United States"|"Anaheim, CA United States"|"Anaheim, CA United States"|"Anaheim, CA United States"
+"868"|"Fang"|"July, 2004"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Bloomington, MN United States"|"Toilet"|"Toilet"|"Yogurt"
+"869"|"Eclipse"|"May, 2010"|"Hamster (Syrian)"|"Black"|"Male"|"May, 2009"|"33 months"|"Carrollton, TX United States"|"His wheel"|"His wheel"|"His wheel"
+"870"|"Georgia"|"May, 2010"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"January, 2010"|"Gone to Hamster Heaven"|"Newberry, FL United States"|"dog treats"|"dog treats"|"nothing"
+"871"|"Dewey"|"May, 2010"|"Hamster (Syrian)"|"Black"|"Male"|"August, 2009"|"30 months"|"Newberry, FL United States"|"Wheel"|"Wheel"|"cheez its!"
+"872"|"Nancy Delilah Drew"|"August, 2009"|"Hamster (Dwarf)"|"Agouti"|"Male"|"July, 2007"|"Gone to Hamster Heaven"|"Newberry, FL United States"|"Dog treats"|"Dog treats"|"sunflower seeds"
+"873"|"Blossom"|"September, 2008"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Newberry, FL United States"|"wheel"|"wheel"|"hamster food."
+"874"|"Howard"|"July, 2007"|"Hamster (Dwarf)"|"Agouti"|"Male"|"October, 2006"|"64 months"|"Sharon, MA United States"|"anything and everything"|"anything and everything"|"sunslower seeds, baby carrots, brocolli, bean sprouts"
+"875"|"Brent"|"July, 2006"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"January, 2005"|"Gone to Gerbil Heaven"|"New York City, NY United States"|"Cardboard toilet paper rolls."|"Cardboard toilet paper rolls."|"Sunflower seeds"
+"876"|"Ophelia"|"April, 2004"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Oxford, United Kingdom"|"My shirt buttons"|"My shirt buttons"|"Porridge"
+"877"|"JD"|"May, 2004"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Aberystwyth, United Kingdom"|"Hut which is sposed to be a bed"|"Hut which is sposed to be a bed"|"Apple"
+"878"|"Munch"|"April, 2004"|"Hamster (Common)"|"Golden Banded"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"London, United Kingdom"|"The wheel"|"The wheel"|"Not the brown bits"
+"879"|"Hamlet"|"August, 2005"|"Hamster (Dwarf)"|"Brown"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Regina, SK Canada"|"Tunnels"|"Tunnels"|"Lettuce"
+"880"|"Peggy"|"January, 2010"|"Gerbil (Mongolian)"|"Black"|"Female"|"September, 2006"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Spanish Text Book"|"Spanish Text Book"|"Pumpkin Seeds"
+"881"|"Marcus"|"January, 2006"|"Gerbil (Mongolian)"|"Nutmeg"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Cincinnati, OH United States"|"anything outside of his cage"|"anything outside of his cage"|"cashew"
+"882"|"Pochi"|"November, 2005"|"Hamster (Syrian)"|"Honey"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Tai Po, Hong Kong"|"his little hamster house"|"his little hamster house"|"milk and honey drops"
+"883"|"Martha"|"February, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Jeffersonville, IN United States"|"her tubing"|"her tubing"|"strawberries"
+"884"|"Chipita Amigo"|"March, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Jeffersonville, IN United States"|"wheel, of course"|"wheel, of course"|"yogurt treats"
+"885"|"Spice"|"March, 2007"|"Gerbil (Mongolian)"|"Cinnamon"|"Female"|"December, 2002"|"Gone to Gerbil Heaven"|"Asheville, NC United States"|"Toilet Paper Tube"|"Toilet Paper Tube"|"Zucchini"
+"886"|"Lucy"|"March, 2007"|"Hamster (Syrian)"|"Black"|"Female"|"January, 2007"|"61 months"|"Dallas, TX United States"|"Excercise Wheel"|"Excercise Wheel"|"Carrots"
+"887"|"bobbie"|"October, 2006"|"Hamster (Unknown)"|"Black"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Mentor, OH United States"|"chew block"|"chew block"|"seeds and corn"
+"888"|"Daisy Mae Fluffernutter"|"June, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"Snoopy"|"Snoopy"|"YOGURT TREATS! or mango, bread crust, tomato"
+"889"|"Hector"|"December, 2006"|"Hamster (Syrian)"|"Dove"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Treat-in-a-box"|"Treat-in-a-box"|"Cucumber"
+"890"|"Charlie"|"January, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Flavored wooden blocks"|"Flavored wooden blocks"|"Cereal, Granola, Yogurt and yogurt treats, Pumpkin Seeds, Strawberries.... basically everything"
+"891"|"S.H. Malibu"|"May, 2007"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"April, 2007"|"58 months"|"Appleton, WI United States"|"Wheel (She sleeps in it...)"|"Wheel (She sleeps in it...)"|"Apples"
+"892"|"Hamlet"|"May, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"April, 2007"|"Gone to Hamster Heaven"|"Appleton, WI United States"|"Wood block"|"Wood block"|"Sunflower seeds"
+"893"|"Gizmo"|"July, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Charleston, WV United States"|"Wheel, TV set"|"Wheel, TV set"|"Sunflower Seeds"
+"894"|"Noodles"|"July, 2006"|"Hamster (Syrian)"|"Pearl"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Houston, TX United States"|"Wheel"|"Wheel"|"hamster food...lol wtf."
+"895"|"Fred"|"August, 2006"|"Hamster (Syrian)"|"Brown"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Her ball"|"Her ball"|"Corn, sunflower seeds"
+"896"|"Meechiko"|"November, 2006"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Lutz, FL United States"|"wheel"|"wheel"|"sunflower seeds"
+"897"|"Bamboo"|"November, 2006"|"Hamster (Common)"|"White"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Lutz, FL United States"|"wheel"|"wheel"|"seeds and apples"
+"898"|"Louis (RIP)"|"July, 2005"|"Hamster (Dwarf)"|"White"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Ottawa Valley, ON Canada"|"Wicker Bed, habitrail"|"Wicker Bed, habitrail"|"pumpkin seeds / yogurt drops"
+"899"|"Tobey (RIP)"|"January, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Ottawa Valley, ON Canada"|"wooden ball"|"wooden ball"|"carrots"
+"900"|"[RIP]Dexter"|"June, 2008"|"Hamster (Teddy Bear)"|"Orange"|"Male"|"May, 2008"|"Gone to Hamster Heaven"|"Ottawa Valley, ON Canada"|"habitrail tube"|"habitrail tube"|"pumpkin seeds"
+"901"|"Daisy"|"November, 2009"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2009"|"36 months"|"Volos, Greece"|"Her cage or her wood carrot"|"Her cage or her wood carrot"|"sunflowers seed"
+"902"|"Oreo"|"May, 2004"|"Hamster (Syrian)"|"Black Banded"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"Ladders in her cage"|"Ladders in her cage"|"Chocolate Drops, Fruity treats, and hamster treat sticks"
+"903"|"Nibbler"|"March, 2005"|"Hamster (Dwarf)"|"Argente"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Albany, NY United States"|"Cardboard Box"|"Cardboard Box"|"Peanut butter, Carrots, human finger"
+"904"|"Culo Gordo"|"August, 2004"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"September, 2002"|"Gone to Hamster Heaven"|"-Not Telling-, Spain"|"Wheel"|"Wheel"|"Nuts"
+"905"|"Little Nut"|"April, 2005"|"Hamster (Syrian)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Diamond Bar, CA United States"|"Exercise Ball"|"Exercise Ball"|"Lettuce"
+"906"|"Mortimer"|"March, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"August, 2002"|"Gone to Hamster Heaven"|"Albany, NY United States"|"Wheel"|"Wheel"|"Broccoli"
+"907"|"Noname"|"November, 2004"|"Hamster (Syrian)"|"Ruddy"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Alta Loma, CA United States"|"The wheel"|"The wheel"|"Lettuce, skin, your fingers, human flesh, yogurt drops, etc."
+"908"|"Wesley"|"November, 2004"|"Hamster (Teddy Bear)"|"White"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Alta Loma, CA United States"|"The rolly ball"|"The rolly ball"|"The green stuff Shannon sent me, yogurt drops, etc."
+"909"|"Fluffilupigus"|"July, 2006"|"Hamster (Unknown)"|"Grey"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"New Orleans, LA United States"|"pen caps/erasers"|"pen caps/erasers"|"cherrios"
+"910"|"Puschl"|"June, 2006"|"Hamster (Teddy Bear)"|"Silver"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Klagenfurt, Austria"|"his bed"|"his bed"|"Yoghurt Drops"
+"911"|"Flan"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"My bed"|"My bed"|"Apple! Pumpkin seeds!"
+"912"|"Crumpet"|"November, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Santa Clara, CA United States"|"Running Ball"|"Running Ball"|"Cheerios"
+"913"|"Twinkie"|"July, 2006"|"Hamster (Teddy Bear)"|"Fawn"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"her friend Angel"|"her friend Angel"|"yogurt drops"
+"914"|"Angel"|"July, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"the cage"|"the cage"|"yogurt drops"
+"915"|"Bambi"|"July, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"the cage"|"the cage"|"peanut hamster treats"
+"916"|"witchy poo"|"August, 2006"|"Hamster (Dwarf)"|"Black"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"my finger"|"my finger"|"blood I think, and peanut butter bites"
+"917"|"Rambo"|"August, 2006"|"Hamster (Dwarf)"|"Albino"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"his house shaped like a car"|"his house shaped like a car"|"peanut butter bites"
+"918"|"Jack Skellington"|"August, 2006"|"Hamster (Dwarf)"|"Albino"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Athens, GA United States"|"hes not much of a chewer"|"hes not much of a chewer"|"peanut butter bites"
+"919"|"garma"|"June, 2005"|"Hamster (Dwarf)"|"Brown"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Sapporo, Japan"|"Narrow tunnel"|"Narrow tunnel"|"Pumpkin seed"
+"920"|"Houdini"|"February, 2006"|"Hamster (Teddy Bear)"|"Honey"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"LADNER, BC Canada"|"HIS CAGE"|"HIS CAGE"|"KRAFT DINNER"
+"921"|"Petite"|"July, 2006"|"Hamster (Dwarf)"|"Black Banded"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"West Hills, CA United States"|"Rope"|"Rope"|"Cheerios"
+"922"|"Hamster"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The wheel"|"The wheel"|"Melon seeds!"
+"923"|"Cinnamin"|"June, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Fremont, CA United States"|"cardboard tubes"|"cardboard tubes"|"peanuts...nuts...any kind of nut...."
+"924"|"Oliver"|"July, 2006"|"Hamster (Dwarf)"|"Honey"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"New City, NY United States"|"He loves to chew on everything"|"He loves to chew on everything"|"sunflower seeds"
+"925"|"Huckleberry"|"August, 2004"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"September, 2003"|"Gone to Hamster Heaven"|"Edmonton, AB Canada"|"Wheel"|"Wheel"|"Grapes"
+"926"|"Kristy"|"May, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Manchester, CT United States"|"the wheel, obviously!"|"the wheel, obviously!"|"delicious treat sticks of all kinds, and also radishes"
+"927"|"Chief Chirpa"|"September, 2004"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"May, 1997"|"Gone to Hamster Heaven"|"Madison, WI United States"|"Madison, WI United States"|"Madison, WI United States"|"potato chips, sunflower seeds"
+"928"|"Gizmo"|"September, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"November, 1997"|"Gone to Hamster Heaven"|"Madison, WI United States"|"Madison, WI United States"|"Madison, WI United States"|"marshmallows"
+"929"|"Wicket"|"September, 2004"|"Hamster (Teddy Bear)"|"Agouti"|"Male"|"January, 1998"|"Gone to Hamster Heaven"|"Madison, WI United States"|"toilet paper"|"toilet paper"|"Honey Bunches of Oats"
+"930"|"Pumpkin"|"September, 2004"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"January, 1999"|"Gone to Hamster Heaven"|"Madison, WI United States"|"Madison, WI United States"|"Madison, WI United States"|"Madison, WI United States"
+"931"|"Piggy R.I.P."|"April, 2004"|"Hamster (Common)"|"Champagne"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Toronto, ON Canada"|"Toronto, ON Canada"|"carrots, corn"
+"932"|"Hammaleigh"|"July, 2005"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Lakeland, FL United States"|"Wooden Blocks"|"Wooden Blocks"|"SunFlower Seads and Yogies"
+"933"|"Boba fett"|"February, 2006"|"Hamster (Syrian)"|"Honey"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Fair Oaks Ranch, TX United States"|"Toilet paper rolls"|"Toilet paper rolls"|"Nuts"
+"934"|"Hazel"|"January, 2005"|"Hamster (Russian)"|"Agouti"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Reno, NV United States"|"The wheel"|"The wheel"|"Yogurt Drops"
+"935"|"Rupert"|"April, 2004"|"Hamster (Syrian)"|"Golden"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Near Toronto, ON Canada"|"Any cardboard box."|"Any cardboard box."|"McDonalds French Fries."
+"936"|"Burton"|"March, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Windsor, CT United States"|"Everything"|"Everything"|"Sunflower seeds and Cream cheese"
+"937"|"Tiberio"|"January, 2005"|"Hamster (Syrian)"|"Orange"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Imperia, Italy"|"Wheel"|"Wheel"|"Carrot"
+"938"|"Neo"|"August, 2004"|"Hamster (Russian)"|"Agouti"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Imperia, Italy"|"Tubes and Wheel"|"Tubes and Wheel"|"Apple"
+"939"|"Daisy"|"April, 2004"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Rockland, ME United States"|"Tri-Home"|"Tri-Home"|"Yogurt Chips"
+"940"|"Kahlua"|"May, 2004"|"Hamster (Syrian)"|"Black"|"Female"|"April, 2002"|"Gone to Hamster Heaven"|"Waco, TX United States"|"Ball"|"Ball"|"Cheerios"
+"941"|"Phoebie"|"May, 2004"|"Hamster (Chinese)"|"Grey"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Waco, TX United States"|"Toilet paper tube"|"Toilet paper tube"|"Sunflower seeds"
+"942"|"Bailey"|"May, 2004"|"Hamster (Teddy Bear)"|"White"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Waco, TX United States"|"Wooden box"|"Wooden box"|"Dried bananas"
+"943"|"Svanino"|"March, 2009"|"Hamster (Roborovskii)"|"Champagne"|"Male"|"January, 2008"|"Gone to Hamster Heaven"|"Naples, Italy"|"his wheel"|"his wheel"|"sunflowerseeds"
+"944"|"Massimo"|"February, 2010"|"Hamster (Dwarf)"|"Agouti"|"Male"|"November, 2009"|"Gone to Hamster Heaven"|"Stockholm, Sweden"|"His caretaker, to climb at!"|"His caretaker, to climb at!"|"Sunflower seeds and Hazelnuts"
+"945"|"Fifi"|"April, 2009"|"Hamster (Unknown)"|"Grey"|"Female"|"October, 2007"|"Gone to Hamster Heaven"|"Penzance, United Kingdom"|"Hamster hamock & rope ladder, Wheel & ball"|"Hamster hamock & rope ladder, Wheel & ball"|"Fifi's favorite food is sunflower seeds, pasties & sometimes fingers!"
+"946"|"George"|"March, 2007"|"Hamster (Russian)"|"Brown"|"Male"|"December, 2006"|"62 months"|"Paris, France"|"Paris, France"|"Paris, France"|"Carrot."
+"947"|"Nikolai A. Hamsterovich"|"May, 2009"|"Hamster (Russian)"|"Blue"|"Male"|"May, 2008"|"45 months"|"Fairburn, GA United States"|"Fairburn, GA United States"|"Fairburn, GA United States"|"Fairburn, GA United States"
+"948"|"Peyton"|"June, 2007"|"Hamster (Syrian)"|"Grey"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Columbus, GA United States"|"His wheel"|"His wheel"|"Sunflower seeds and yogurt drops"
+"949"|"Fierce Fred"|"January, 2010"|"Hamster (Dwarf)"|"Black Banded"|"Female"|"November, 2009"|"27 months"|"Manila, Philippines"|"anything that moves"|"anything that moves"|"sunflower seeds"
+"950"|"Pitaya"|"February, 2010"|"Hamster (Roborovskii)"|"Cinnamon"|"Male"|"January, 2008"|"49 months"|"Anchorage, AK United States"|"Wheel"|"Wheel"|"Strawberries, walnuts"
+"951"|"Gracia"|"November, 2010"|"Hamster (Russian)"|"Grey"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Kansas City, KS United States"|"Curly pieces of plastic"|"Curly pieces of plastic"|"Hamsters and gerbils"
+"952"|"Kitty"|"November, 2010"|"Hamster (Dwarf)"|"White"|"Female"|"August, 2010"|"18 months"|"Newberry, FL United States"|"Wheel, Hammock"|"Wheel, Hammock"|"Bagels."
+"953"|"Baby Mott"|"December, 2008"|"Hamster (Dwarf)"|"Mottled"|"Female"|"September, 2008"|"41 months"|"Singapore, Singapore"|"Ham House"|"Ham House"|"Most food"
+"954"|"Wesley"|"July, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Denton, TX United States"|"His wheel"|"His wheel"|"Grapes"
+"955"|"Treacle"|"October, 2005"|"Hamster (Syrian)"|"Nutmeg"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"Southampton, United Kingdom"|"Ladders"|"Ladders"|"Banana"
+"956"|"Sunny"|"June, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Wheel"|"Wheel"|"Everything"
+"957"|"Poteto"|"June, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"
+"958"|"Fant"|"March, 2006"|"Hamster (Teddy Bear)"|"Sable"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Hhdhj, NF Canada"|"Her wheel and plastic bowl"|"Her wheel and plastic bowl"|"Lettuce, Carrots and yogurt drops!"
+"959"|"Popover"|"July, 2006"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Purple Plastic Igloo"|"Purple Plastic Igloo"|"Sunflower Seeds"
+"960"|"Julia"|"June, 2008"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"running ball, corn on the cob"|"running ball, corn on the cob"|"corn and sunflower seeds."
+"961"|"Pavone"|"June, 2008"|"Hamster (Libyan)"|"Agouti Yellow"|"Female"|"November, 1982"|"Gone to Hamster Heaven"|"Washington DC, DC United States"|"Lexis Nexis"|"Lexis Nexis"|"Coffee"
+"962"|"Judis"|"June, 2008"|"Hamster (Unknown)"|"Nutmeg"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Washington, DC United States"|"shoestring"|"shoestring"|"couscous"
+"963"|"Thor"|"July, 2006"|"Hamster (Syrian)"|"Mottled"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"New York, NY United States"|"New York, NY United States"|"raisins"
+"964"|"Kaiser Wilhelm"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"New York, NY United States"|"wood blocks"|"wood blocks"|"Carrots"
+"965"|"Pudding"|"June, 2006"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Bamboo chair"|"Bamboo chair"|"Sunflower seeds"
+"966"|"Varmit"|"April, 2006"|"Hamster (Dwarf)"|"Mottled"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Kentwood, MI United States"|"Wheel"|"Wheel"|"Wafers"
+"967"|"Peanut"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Scotland, United Kingdom"|"Scotland, United Kingdom"|"Scotland, United Kingdom"|"Cheese"
+"968"|"Teddy"|"August, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"July, 2002"|"Gone to Hamster Heaven"|"Orange County, CA United States"|"Chewing on its cage haha"|"Chewing on its cage haha"|"Lettuce"
+"969"|"Teddy B"|"August, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Oconomowoc, WI United States"|"her car and her wood house"|"her car and her wood house"|"Yogurt Yogies"
+"970"|"Teeter"|"August, 2006"|"Hamster (Dwarf)"|"Smoke Pearl"|"Male"|"August, 2006"|"66 months"|"Orange County, CA United States"|"Wheel thats like the only thing he knows how to do right noww"|"Wheel thats like the only thing he knows how to do right noww"|"hamster food"
+"971"|"Chuck Norris"|"October, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Lakewood, CO United States"|"Tiki Hut"|"Tiki Hut"|"goldfish crackers and peanut butter on fingers"
+"972"|"Polly Kronopolis"|"October, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"August, 2006"|"66 months"|"Lakewood, CO United States"|"the wheel and tiki hut"|"the wheel and tiki hut"|"pumpkin seeds"
+"973"|"Bothari"|"April, 2004"|"Hamster (Syrian)"|"Orange"|"Female"|"March, 2001"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"water bottle (to chew on)"|"water bottle (to chew on)"|"cucumbers"
+"974"|"Priya"|"September, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"Stuffed giraffe"|"Stuffed giraffe"|"Anything edible"
+"975"|"wallaby"|"September, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"San Jose, CA United States"|"the ball"|"the ball"|"almonds"
+"976"|"Peanut"|"September, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"North Brunswick, NJ United States"|"North Brunswick, NJ United States"|"North Brunswick, NJ United States"|"Cheeto Asteroids"
+"977"|"Daphne"|"December, 2006"|"Hamster (Unknown)"|"Brown"|"Female"|"November, 2006"|"Gone to Hamster Heaven"|"Bellflower, CA United States"|"I'll find out soon."|"I'll find out soon."|"Sunflower Seeds"
+"978"|"Pepper"|"November, 2009"|"Hamster (Teddy Bear)"|"Black"|"Male"|"April, 2002"|"Gone to Hamster Heaven"|"Kansas City, MO United States"|"Wood"|"Wood"|"Anything"
+"979"|"Cat"|"May, 2009"|"Gerbil (Mongolian)"|"Argente"|"Male"|"July, 2008"|"43 months"|"Las Vegas, NV United States"|"Water Bottle (Escape Method)"|"Water Bottle (Escape Method)"|"Celery"
+"980"|"Mouse"|"November, 2009"|"Gerbil (Mongolian)"|"Lilac"|"Male"|"July, 2008"|"43 months"|"Las Vegas, NV United States"|"Wheel"|"Wheel"|"Fingers (lol)"
+"981"|"Jerry"|"February, 2006"|"Hamster (Chinese)"|"Black Banded"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"College Park, MD United States"|"Light Saber"|"Light Saber"|"small children"
+"982"|"Hammie Potter"|"December, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"Wooden block house"|"Wooden block house"|"yogies"
+"983"|"Domino"|"March, 2007"|"Hamster (Syrian)"|"Black Banded"|"Male"|"January, 2007"|"61 months"|"Adams, MA United States"|"ball"|"ball"|"Apples,and yogies (he loves them!)"
+"984"|"Freisa"|"December, 2009"|"Hamster (Dwarf)"|"Pearl"|"Female"|"April, 2009"|"Gone to Hamster Heaven"|"Selayang, Malaysia"|"Wheel of FUN!!!"|"Wheel of FUN!!!"|"Strawberry....."
+"985"|"Tick"|"December, 2009"|"Hamster (Dwarf)"|"Albino"|"Male"|"January, 2009"|"37 months"|"Three Rivers, MI United States"|"me!"|"me!"|"sweet peas"
+"986"|"Gueldoff"|"July, 2006"|"Hamster (Syrian)"|"Orange"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Gilbertsville, PA United States"|"Peanut Butter Sticks"|"Peanut Butter Sticks"|"Berry Nut MIx"
+"987"|"Mr. Cheeks"|"July, 2006"|"Hamster (Syrian)"|"Yellow"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Mount Vernon, OH United States"|"His hot pink wheel"|"His hot pink wheel"|"yogurt bites, bananas"
+"988"|"DW"|"April, 2004"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"December, 2002"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Her hamster ball"|"Her hamster ball"|"Carrots, grapes"
+"989"|"Pepper"|"April, 2007"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2007"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Wheel"|"Wheel"|"Vitakraft"
+"990"|"Patrick"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Wheel"|"Wheel"|"Cheddar cheese"
+"991"|"Maxwell"|"October, 2006"|"Hamster (Dwarf)"|"Mottled"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Cleethorpes / Hull, United Kingdom"|"Cleethorpes / Hull, United Kingdom"|"Cleethorpes / Hull, United Kingdom"|"Cleethorpes / Hull, United Kingdom"
+"992"|"Oreo"|"June, 2006"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Gig Harbor, WA United States"|"strawberry chewy"|"strawberry chewy"|"strawberry"
+"993"|"Pumpkin"|"June, 2006"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Ball"|"Ball"|"Rice"
+"994"|"Bubbles"|"June, 2005"|"Hamster (Syrian)"|"Black Banded"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"paper cranes"|"paper cranes"|"raisins"
+"995"|"Hammie Heart Wilson"|"August, 2008"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"February, 2008"|"48 months"|"Virginia Beach, VA United States"|"my head"|"my head"|"sunflower seeds"
+"996"|"Baby"|"May, 2009"|"Hamster (Syrian)"|"Blonde"|"Female"|"August, 2008"|"42 months"|"Yorba Linda, CA United States"|"Wheel"|"Wheel"|"Lettuce"
+"997"|"Gus"|"January, 2008"|"Hamster (Teddy Bear)"|"Champagne"|"Male"|"April, 2007"|"58 months"|"Rockville, MD United States"|"Rockville, MD United States"|"Rockville, MD United States"|"Tofu, Oxbow Healthy Handfuls"
+"998"|"Farley"|"January, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"September, 2006"|"65 months"|"Rockville, MD United States"|"Wheel"|"Wheel"|"Tofu, Hazel mix without the black chunks, yogurt drops"
+"999"|"sniffy"|"June, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"tissue paper roll"|"tissue paper roll"|"tissue paper roll"
+"1000"|"Oreo"|"June, 2004"|"Hamster (Teddy Bear)"|"Black"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"chew barks"|"chew barks"|"chew barks"
+"1001"|"Nepenthe"|"May, 2004"|"Hamster (Syrian)"|"Agouti"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Sheffield, United Kingdom"|"long tubular ladder"|"long tubular ladder"|"raisins"
+"1002"|"Clara"|"May, 2004"|"Hamster (Russian)"|"Agouti"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Sheffield, United Kingdom"|"wheel"|"wheel"|"Harry Hamster - not very interested in treats, strangely"
+"1003"|"Heidi"|"May, 2004"|"Hamster (Russian)"|"Agouti"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Sheffield, United Kingdom"|"big spiral tubes to climb up"|"big spiral tubes to climb up"|"strawberry"
+"1004"|"Colleen"|"October, 2004"|"Hamster (Dwarf)"|"Sable"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"New York, NY United States"|"Her wheel!"|"Her wheel!"|"tasty souls"
+"1005"|"Kuru"|"November, 2004"|"Hamster (Syrian)"|"Brown"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Diamond Bar, CA United States"|"puzzle house"|"puzzle house"|"yogurt drops"
+"1006"|"Jingles"|"November, 2004"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"December, 2002"|"Gone to Hamster Heaven"|"Anaheim, CA United States"|"Wheel"|"Wheel"|"Lettuce"
+"1007"|"Nikki II"|"December, 2004"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"September, 2003"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Wheel"|"Wheel"|"Peas, puffed wheat, bread crumbs"
+"1008"|"Sweetpea"|"December, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"August, 2003"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Her wheel"|"Her wheel"|"seeds, cranberry juice, grapes, lettuce"
+"1009"|"Lucy"|"December, 2004"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"August, 2002"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Her Strawberry Basket"|"Her Strawberry Basket"|"Lettuce, Apple, Pretzels, cheese strings"
+"1010"|"Blackberry"|"December, 2004"|"Hamster (Syrian)"|"Black"|"Female"|"October, 2002"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Her balcony"|"Her balcony"|"Grapes! Also peanuts, lettuce, peanut butter, seeds"
+"1011"|"Daisy"|"December, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"November, 2003"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"glow in the dark wheel"|"glow in the dark wheel"|"Pretzels, Apples, Carrots, yougert of my spoon!"
+"1012"|"Harry Homer Jr."|"September, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"DE, DE United States"|"His rag that he sleeps with and chew toys"|"His rag that he sleeps with and chew toys"|"His regular and bannana treats"
+"1013"|"Hector"|"August, 2006"|"Hamster (Siberian)"|"Champagne"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Dundee, United Kingdom"|"Ball"|"Ball"|"pellets"
+"1014"|"Ginny"|"September, 2004"|"Hamster (Syrian)"|"Cream"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Clifton, NJ United States"|"See-saw"|"See-saw"|"Yogurt Drops"
+"1015"|"Reese"|"September, 2005"|"Hamster (Syrian)"|"White"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Loves her plastic ball"|"Loves her plastic ball"|"lettuce"
+"1016"|"Sniff"|"October, 2005"|"Hamster (Russian)"|"Platinum"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Victoria, BC Canada"|"my purple hippo house"|"my purple hippo house"|"i dont discriminate. im a piggy little boy"
+"1017"|"Spottie"|"September, 2007"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Wheel"|"Wheel"|"Anything Sweet"
+"1018"|"Fudge"|"February, 2006"|"Hamster (Syrian)"|"Albino"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"bars/food bowl"|"bars/food bowl"|"yoghurt drops"
+"1019"|"Jenny"|"July, 2004"|"Hamster (Unknown)"|"Brown"|"Female"|"January, 2002"|"Gone to Hamster Heaven"|"Istanbul, Turkey"|"roll"|"roll"|"owners finger :)"
+"1020"|"Hei Hei"|"May, 2004"|"Hamster (Dwarf)"|"Opal"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Dried carrots"
+"1021"|"Xiao Dai"|"July, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"September, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Satelite Dish"|"Satelite Dish"|"yougurt DropS"
+"1022"|"Silka"|"April, 2004"|"Hamster (Russian)"|"White"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Toilet roll tube"|"Toilet roll tube"|"Apple"
+"1023"|"Cocoa"|"April, 2004"|"Hamster (Russian)"|"Opal"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Toilet roll tube"|"Toilet roll tube"|"Scotch egg (pork with scrambled egg coated in breadcrumbs)"
+"1024"|"Blixa"|"August, 2004"|"Hamster (Common)"|"Black"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"San Diego, CA United States"|"San Diego, CA United States"|"Everything, especially the bedsheets"
+"1025"|"Deco"|"November, 2004"|"Hamster (Dwarf)"|"Agouti"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Wheel Wheel Wheel!"|"Wheel Wheel Wheel!"|"Chocolate (for Hamsters)"
+"1026"|"Mocha"|"July, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"SG, Singapore"|"Fingers"|"Fingers"|"Anything except the greens"
+"1027"|"Mogu"|"December, 2004"|"Hamster (Dwarf)"|"Albino"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Costa Mesa, CA United States"|"Tissue paper"|"Tissue paper"|"Peanuts"
+"1028"|"Bella-Boo"|"July, 2007"|"Hamster (Syrian)"|"Black"|"Female"|"November, 2006"|"63 months"|"Banner Elk, NC United States"|"Her wheel and her hamster ball"|"Her wheel and her hamster ball"|"Corn, Treats, Granola"
+"1029"|"Baltassar"|"August, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2006"|"Gone to Hamster Heaven"|"Tychy, Poland"|"Wheel"|"Wheel"|"Pasta, cheese, tomatoes."
+"1030"|"Snicks"|"August, 2007"|"Hamster (Dwarf)"|"Slate"|"Male"|"November, 2006"|"Gone to Hamster Heaven"|"Tychy, Poland"|"Wheel :)"|"Wheel :)"|"Pasta, cheese and tomatoes"
+"1031"|"Princess"|"December, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"Wheel & Tube"|"Wheel & Tube"|"Pancake"
+"1032"|"LV"|"December, 2007"|"Hamster (Teddy Bear)"|"Cinnamon"|"Male"|"May, 2007"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"
+"1033"|"Missy"|"December, 2007"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"July, 2007"|"55 months"|"Quezon City, Philippines"|"hamters wheels"|"hamters wheels"|"hamters wheels"
+"1034"|"Milo"|"December, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"July, 2007"|"55 months"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"
+"1035"|"Mikel"|"December, 2007"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"July, 2007"|"55 months"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"|"Quezon City, Philippines"
+"1036"|"Challis Luna"|"August, 2008"|"Hamster (Syrian)"|"Grey"|"Female"|"February, 2008"|"48 months"|"London, United Kingdom"|"Silent Spinner"|"Silent Spinner"|"Yogurt Drops"
+"1037"|"Chester Bee"|"August, 2008"|"Hamster (Roborovskii)"|"Brown"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Wheel"|"Wheel"|"Yogurt drops"
+"1038"|"dougie"|"March, 2006"|"Hamster (Syrian)"|"Black"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Leven, United Kingdom"|"wheel"|"wheel"|"hammy food"
+"1039"|"Bunny"|"November, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Houston, TX United States"|"marbles"|"marbles"|"swiss cheese"
+"1040"|"Sprinkles"|"March, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"May, 2003"|"Gone to Hamster Heaven"|"Reno, NV United States"|"Wheel"|"Wheel"|"Carrots"
+"1041"|"Moon"|"March, 2005"|"Hamster (Common)"|"Black"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"her wheel"|"her wheel"|"lettuce"
+"1042"|"Fred"|"March, 2005"|"Hamster (Common)"|"Beige"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"his bed"|"his bed"|"seeds, carrots, watermelon"
+"1043"|"Bo"|"March, 2005"|"Hamster (Common)"|"Brown"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"she uses everything as a toy.."|"she uses everything as a toy.."|"raisins"
+"1044"|"March"|"April, 2004"|"Hamster (Dwarf)"|"Brown"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Newark, DE United States"|"Dog Bones"|"Dog Bones"|"Dog Bones"
+"1045"|"Autumn"|"June, 2004"|"Hamster (Dwarf)"|"Beige"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Newark, DE United States"|"Wheel"|"Wheel"|"Wheel"
+"1046"|"morning mist"|"November, 2004"|"Hamster (Dwarf)"|"Silver"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Newark, DE United States"|"The wheel"|"The wheel"|"dried carrots"
+"1047"|"Spooky"|"May, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"LADNER, BC Canada"|"TUNNEL TUBES"|"TUNNEL TUBES"|"ROAST BEEF, CHEESE"
+"1048"|"pumpkin"|"March, 2006"|"Hamster (Chinese)"|"Cinnamon Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Bedford, TX United States"|"hamster weal"|"hamster weal"|"yogurt drops"
+"1049"|"sweet pea"|"March, 2006"|"Hamster (Dwarf)"|"Blue Fawn"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Bedford, TX United States"|"hamster wheel"|"hamster wheel"|"yoggies"
+"1050"|"Leela"|"January, 2008"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Rockville, MD United States"|"Snak Shack - Edible Bowl"|"Snak Shack - Edible Bowl"|"Tofu, corn, yogurt drops"
+"1051"|"Pants & Not Pants"|"September, 2005"|"Gerbil (Unknown)"|"Black Banded"|"Female"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1052"|"hedgie"|"June, 2007"|"Hamster (Dwarf)"|"Black Banded"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"New York, NY United States"|"his wheel"|"his wheel"|"fiesta"
+"1053"|"B.B."|"January, 2010"|"Gerbil (Mongolian)"|"Agouti"|"Male"|"January, 2006"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Wheel"|"Wheel"|"Pumpkin Seeds"
+"1054"|"Hidalgo Vernig"|"October, 2006"|"Hamster (Syrian)"|"Honey"|"Female"|"August, 2006"|"66 months"|"Minneapolis, MN United States"|"Wheel"|"Wheel"|"sunflower seeds and peanut butter toast"
+"1055"|"harlem"|"November, 2006"|"Hamster (Unknown)"|"Champagne"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"his wheel"|"his wheel"|"yogurt drops"
+"1056"|"Alice"|"September, 2005"|"Gerbil (Unknown)"|"Beige"|"Female"|"October, 2003"|"Gone to Gerbil Heaven"|"Raleigh, NC United States"|"Toilet paper rolls"|"Toilet paper rolls"|"Anything in her cage that's edible"
+"1057"|"Smudge"|"October, 2005"|"Hamster (Syrian)"|"Black Banded"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"wheel"|"wheel"|"peanuts"
+"1058"|"Scofield"|"November, 2006"|"Hamster (Unknown)"|"Brown"|"Male"|"September, 2006"|"65 months"|"Berwyn, IL United States"|"Humans"|"Humans"|"Generic hamster food (how boring!)"
+"1059"|"Ace Teddy"|"August, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"August, 2006"|"66 months"|"El Cajon, CA United States"|"El Cajon, CA United States"|"El Cajon, CA United States"|"carrot"
+"1060"|"pepper"|"August, 2006"|"Hamster (Common)"|"Grey"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"sunflower seeds"
+"1061"|"Chloe"|"June, 2006"|"Hamster (Russian)"|"Argente"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"The house!"|"The house!"|"Everything!"
+"1062"|"Jerry"|"August, 2006"|"Hamster (Roborovskii)"|"Rust"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"
+"1063"|"Brownie"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Santa Rosa, CA United States"|"The Wheel goes 'round"|"The Wheel goes 'round"|"Lettuce"
+"1064"|"Rafaella"|"April, 2005"|"Hamster (Dwarf)"|"White"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"New York, NY United States"|"Hamster Wheel"|"Hamster Wheel"|"Sunflower Seeds"
+"1065"|"Lily"|"March, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Hanover, ON Canada"|"wheel"|"wheel"|"bread with milk"
+"1066"|"Bubba"|"May, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"March, 2002"|"Gone to Hamster Heaven"|"Diamond Bar, CA United States"|"Diamond Bar, CA United States"|"Diamond Bar, CA United States"|"yogurt dips"
+"1067"|"Midnight"|"April, 2006"|"Hamster (Teddy Bear)"|"Black"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Saint John, NB Canada"|"to chew"|"to chew"|"seeds"
+"1068"|"Stormy"|"July, 2011"|"Hamster (Roborovskii)"|"White"|"Male"|"April, 2011"|"10 months"|"Canonsburg, PA United States"|"Corn Cobs"|"Corn Cobs"|"Yogurt Drops, Papaya bits, corn, and millet."
+"1069"|"Floyd"|"November, 2005"|"Gerbil (Unknown)"|"White"|"Male"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1070"|"Itsa"|"November, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Bowling Green, KY United States"|"Tubes!"|"Tubes!"|"Hazel Hamster"
+"1071"|"willow"|"December, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"McCall, ID United States"|"burrowing in care fresh shavings"|"burrowing in care fresh shavings"|"tofu"
+"1072"|"Jack"|"August, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Medina, OH United States"|"Red sock, cardboard tube, wheel, wooden chest."|"Red sock, cardboard tube, wheel, wooden chest."|"Sunflower seeds."
+"1073"|"Dutchess Peppermint von Paddy"|"January, 2007"|"Hamster (Syrian)"|"Tortoise Shell"|"Female"|"September, 2006"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Minneapolis, MN United States"|"Minneapolis, MN United States"|"Corn and strawberry treats"
+"1074"|"Isabella"|"February, 2008"|"Hamster (Syrian)"|"Black"|"Female"|"January, 2007"|"61 months"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"1075"|"Stuart"|"October, 2007"|"Hamster (Syrian)"|"Brown"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"bars, wheels"|"bars, wheels"|"carrots, cucumber"
+"1076"|"Barney"|"April, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Aracaju, Brazil"|"Aracaju, Brazil"|"Aracaju, Brazil"|"Aracaju, Brazil"
+"1077"|"Gadget"|"May, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"New York, NY United States"|"wheel"|"wheel"|"grapes"
+"1078"|"Oscar"|"November, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Manchester, CT United States"|"the wheel (to burrow under)"|"the wheel (to burrow under)"|"dried beans. preferably in treat stick form"
+"1079"|"Fiona McNibbles"|"May, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"May, 2003"|"Gone to Hamster Heaven"|"Manchester, CT United States"|"the Little Wooden Cabana"|"the Little Wooden Cabana"|"yogurt drops, three-bean treat sticks, anything to hoard"
+"1080"|"Bregs Van Helsing"|"February, 2005"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Exercise wheel, which I love detaching from my cage"|"Exercise wheel, which I love detaching from my cage"|"Sunflower seeds"
+"1081"|"Sir Mortimer the Rat"|"February, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Homeless, Philippines"|"Tissue, A Duck Figurine"|"Tissue, A Duck Figurine"|"Cauliflower, Hamster Biscuit, Orange, Apple. Cheese, Bread"
+"1082"|"hammy-hoom-hoom"|"June, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"October, 2001"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"the wheel! the wall, the metal jungle gym that holds the TV, toilet paper, the stove, the couch, the blockade between my room and the rest of the house, raisins"|"the wheel! the wall, the metal jungle gym that holds the TV, toilet paper, the stove, the couch, the blockade between my room and the rest of the house, raisins"|"broccoli! raisins! lettuce! punkin' seeds! sunflower seeds! i don't touch that fancy snack stuff. screw that."
+"1083"|"Shifferanne"|"November, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"
+"1084"|"Jacques Lemure"|"December, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Auburn, WA United States"|"Toilet Paper"|"Toilet Paper"|"Honey Yogurt Drops"
+"1085"|"fatty lumpkins"|"May, 2004"|"Hamster (Syrian)"|"Golden"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Johnstown, PA United States"|"wheel"|"wheel"|"yourgurt drops"
+"1086"|"Boo Man-Chew"|"November, 2004"|"Hamster (Dwarf)"|"Agouti"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Greensboro, NC United States"|"Her dwarf hamster ball"|"Her dwarf hamster ball"|"Apple slices"
+"1087"|"Carmela"|"November, 2004"|"Hamster (Common)"|"Cinnamon"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Cincinnati, OH United States"|"Squeaky hammie treadmill"|"Squeaky hammie treadmill"|"Pumkin Seeds"
+"1088"|"Lola"|"November, 2004"|"Hamster (Teddy Bear)"|"Black"|"Female"|"September, 2003"|"Gone to Hamster Heaven"|"Cincinnati, OH United States"|"Chewing on her condo"|"Chewing on her condo"|"Cooked white rice & Kix cereal"
+"1089"|"Mocha"|"November, 2004"|"Hamster (Teddy Bear)"|"Black"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Cincinnati, OH United States"|"Her squeaky blue wheel"|"Her squeaky blue wheel"|"Pumpkin seeds & Kix cereal"
+"1090"|"Soilei"|"November, 2004"|"Hamster (Common)"|"Golden"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Cincinnati, OH United States"|"Her condo"|"Her condo"|"Kix cereal"
+"1091"|"Mumu"|"January, 2005"|"Hamster (Dwarf)"|"Beige"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Vancouver, BC Canada"|"the cage O_o"|"the cage O_o"|"sunflower seeds"
+"1092"|"Alfie"|"November, 2004"|"Hamster (Teddy Bear)"|"Agouti Yellow"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Exercise wheel, hamster ball"|"Exercise wheel, hamster ball"|"Various fruit and vegetables"
+"1093"|"fluffy"|"November, 2011"|"Hamster (Dwarf)"|"Dove"|"Female"|"November, 2010"|"Gone to Hamster Heaven"|"Gothenburg, Sweden"|"wheel"|"wheel"|"corny snack"
+"1094"|"Booboo"|"May, 2004"|"Hamster (Syrian)"|"Black"|"Male"|"September, 2003"|"Gone to Hamster Heaven"|"Western, PA United States"|"hamster ball"|"hamster ball"|"sunflower seeds"
+"1095"|"Pippen"|"May, 2004"|"Hamster (Syrian)"|"White"|"Female"|"October, 2003"|"Gone to Hamster Heaven"|"Newcaslte, United Kingdom"|"Her little church"|"Her little church"|"Sunflower seeds"
+"1096"|"Marvin"|"August, 2004"|"Hamster (Teddy Bear)"|"Orange"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Newcaslte, United Kingdom"|"his Building (lol)"|"his Building (lol)"|"Everything marvin LOVES food!"
+"1097"|"Amo"|"February, 2008"|"Hamster (Syrian)"|"Black"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"England, United Kingdom"|"Homemade toilet roll swing"|"Homemade toilet roll swing"|"Sunflower seeds"
+"1098"|"Bella Swan"|"February, 2008"|"Hamster (Dwarf)"|"Agouti"|"Female"|"January, 2008"|"Gone to Hamster Heaven"|"Tacoma, WA United States"|"Wheel/litter box(she uses it as a bath)"|"Wheel/litter box(she uses it as a bath)"|"Corn/Popcorn"
+"1099"|"ChLoe"|"November, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"August, 2006"|"66 months"|"Jakarta, Indonesia"|"wheel.....cable(when she's exploring on my desk)...."|"wheel.....cable(when she's exploring on my desk)...."|"Dog dry food.... sunflower seed"
+"1100"|"teddy"|"August, 2006"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Brookline, MA United States"|"my hammy ball"|"my hammy ball"|"ritz crackers"
+"1101"|"Fred"|"February, 2005"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"New Bedford, MA United States"|"hammock"|"hammock"|"grape"
+"1102"|"speedy"|"July, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Lisle, IL United States"|"just about anything"|"just about anything"|"did you say food? where?"
+"1103"|"Hammie"|"August, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"August, 2006"|"66 months"|"White Marsh, MD United States"|"Running ball"|"Running ball"|"Yogurt drops"
+"1104"|"Pixie"|"September, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Southampton, United Kingdom"|"her wheel"|"her wheel"|"dino treats, carrots, cheese"
+"1105"|"Squirt"|"August, 2006"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Her mini purple igloo"|"Her mini purple igloo"|"peanuts and yogies"
+"1106"|"Hong Heng"|"April, 2004"|"Hamster (Syrian)"|"White"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running Wheel"|"Running Wheel"|"Star Biscuits & Veggie Treats"
+"1107"|"Bei Bei"|"May, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Dried carrots"
+"1108"|"Yo! Yo!"|"May, 2004"|"Hamster (Dwarf)"|"Opal"|"Male"|"April, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Sunflowerseeds"
+"1109"|"Jiki Jiki"|"May, 2004"|"Hamster (Dwarf)"|"Orange"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Sunflowerseeds"
+"1110"|"Gong Wua Wua"|"May, 2004"|"Hamster (Dwarf)"|"Smoke Pearl"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running wheel"|"Running wheel"|"Sunflowerseeds"
+"1111"|"Coco"|"November, 2005"|"Hamster (Syrian)"|"White"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Modesto, CA United States"|"Food sticks, toilet paper rolls"|"Food sticks, toilet paper rolls"|"Tortilla chips, and yogert drops."
+"1112"|"Sniz"|"March, 2006"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Not Available, FL United States"|"His Wheel"|"His Wheel"|"Seeds"
+"1113"|"Hamtaro"|"March, 2006"|"Hamster (Unknown)"|"Cinnamon"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Not Available, FL United States"|"Wheel,Rolly ball"|"Wheel,Rolly ball"|"Seeds,carrots,apples"
+"1114"|"Beany"|"September, 2010"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"April, 2010"|"22 months"|"Bournemouth, United Kingdom"|"toilet paper tube"|"toilet paper tube"|"youghurt drops"
+"1115"|"Bibi"|"October, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"July, 2007"|"55 months"|"Manila, Philippines"|"the tube"|"the tube"|"pears, apples"
+"1116"|"harriette the houdini"|"February, 2005"|"Hamster (Syrian)"|"Hairless"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Miami, FL United States"|"wheel, ball"|"wheel, ball"|"doggie biscuits"
+"1117"|"Lil'Snowie"|"December, 2004"|"Hamster (Dwarf)"|"Blue Fawn"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"
+"1118"|"Lord Marshal"|"July, 2007"|"Hamster (Syrian)"|"Black"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Knoxville, TN United States"|"orange colored chew sticks"|"orange colored chew sticks"|"sunflower seeds"
+"1119"|"Snowy"|"August, 2006"|"Hamster (Dwarf)"|"Pearl"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"mineral stone"|"mineral stone"|"sun flower seed"
+"1120"|"AJ"|"June, 2007"|"Gerbil (Mongolian)"|"Black"|"Male"|"June, 2006"|"Gone to Gerbil Heaven"|"Shaker Heights, OH United States"|"Log"|"Log"|"Peanuts"
+"1121"|"Louie"|"February, 2009"|"Hamster (Russian)"|"Black"|"Male"|"April, 2008"|"46 months"|"Such And Such, AB Canada"|"Puzzle Playground"|"Puzzle Playground"|"Cheese"
+"1122"|"Mr. Chimbles"|"May, 2009"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"February, 2008"|"Gone to Hamster Heaven"|"The Moon, FL United States"|"His plastic ball"|"His plastic ball"|"Corn, Veggies, Cheese crackers, Rasins, and Popcorn."
+"1123"|"honey"|"June, 2011"|"Hamster (Syrian)"|"Honey"|"Female"|"December, 2010"|"14 months"|"Atlanta, GA United States"|"her giant running weel"|"her giant running weel"|"nuts and dried fruit"
+"1124"|"sunny"|"June, 2011"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"February, 2009"|"36 months"|"Atlanta, FL United States"|"ball"|"ball"|"fruit"
+"1125"|"Clover"|"December, 2011"|"Hamster (Russian)"|"Grey"|"Female"|"November, 2011"|"3 months"|"Atlanta, GA United States"|"Seeds"|"Seeds"|"Seeds"
+"1126"|"Petit Four"|"March, 2007"|"Hamster (Siberian)"|"Agouti"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Charlotte, NC United States"|"Her toilet paper tube, her igloo, and her ball"|"Her toilet paper tube, her igloo, and her ball"|"Peas and corn!"
+"1127"|"Sokka"|"July, 2008"|"Hamster (Syrian)"|"Mottled"|"Male"|"March, 2008"|"47 months"|"Kansas City, MO United States"|"Toilet paper tubes"|"Toilet paper tubes"|"Pellets"
+"1128"|"Sarah Jane"|"August, 2008"|"Hamster (Syrian)"|"Calico"|"Female"|"June, 2008"|"44 months"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Don't know yet!"
+"1129"|"Simon"|"August, 2008"|"Hamster (Syrian)"|"Orange"|"Male"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"His wheel. He's not very playful!"|"His wheel. He's not very playful!"|"Yogies"
+"1130"|"Mr. Incredible"|"August, 2008"|"Hamster (Syrian)"|"Pink"|"Female"|"January, 2008"|"49 months"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Yogies"
+"1131"|"Sir Stewart Sillypants"|"June, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Bakersfield, CA United States"|"Running ball"|"Running ball"|"All food :D"
+"1132"|"Skippy"|"December, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"
+"1133"|"Happy"|"September, 2004"|"Hamster (Dwarf)"|"Opal"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Everything!!"|"Everything!!"|"Cheeeeeeeeese"
+"1134"|"Jasmine"|"May, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Stamford, CT United States"|"Running wheel"|"Running wheel"|"Sunflower seed"
+"1135"|"Albert Einstein Campbelli"|"June, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"1136"|"Cecília Meireles Campbelli"|"June, 2005"|"Hamster (Dwarf)"|"Agouti"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"1137"|"Ham Ham"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The wheel"|"The wheel"|"Melon Seed"
+"1138"|"Scratchy"|"November, 2006"|"Hamster (Roborovskii)"|"Brown"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Georgetown, Malaysia"|"exercise wheel"|"exercise wheel"|"almond nuts"
+"1139"|"Itchy"|"November, 2006"|"Hamster (Roborovskii)"|"Brown"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Georgetown, Malaysia"|"baby shoes"|"baby shoes"|"sunflower seeds"
+"1140"|"Marilyn"|"September, 2004"|"Hamster (Syrian)"|"White"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Manchester, United Kingdom"|"Wheel"|"Wheel"|"Nuts."
+"1141"|"Lil'Mollie"|"December, 2004"|"Hamster (Dwarf)"|"Mottled"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"|"SG, Singapore"
+"1142"|"Violet"|"November, 2004"|"Hamster (Dwarf)"|"Black"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Tulsa, OK United States"|"Run-about ball mini! Hooray!"|"Run-about ball mini! Hooray!"|"Carrot bits."
+"1143"|"Isadora"|"November, 2004"|"Hamster (Dwarf)"|"Argente"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Tulsa, OK United States"|"Mummy's mouse cord. Oh, Izzy."|"Mummy's mouse cord. Oh, Izzy."|"Anything inappropriate for eating."
+"1144"|"Olivia"|"October, 2005"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Stevens Point, WI United States"|"Bars of cage... URGH! lol!"|"Bars of cage... URGH! lol!"|"Pumpkin and Sunflower Seeds"
+"1145"|"Hammie"|"March, 2009"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Beaverton, OR United States"|"Exercise Wheel"|"Exercise Wheel"|"Bread"
+"1146"|"Wee Man"|"September, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"Wheel"|"Wheel"|"Dog Biscuits, Yoghurt Drops"
+"1147"|"Joe-Joe"|"September, 2007"|"Hamster (Common)"|"Calico"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Augusta, GA United States"|"Bed"|"Bed"|"any sort of treat!"
+"1148"|"Youssarian"|"October, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Erie, PA United States"|"Erie, PA United States"|"Erie, PA United States"|"Erie, PA United States"
+"1149"|"Sara"|"November, 2006"|"Hamster (Syrian)"|"Brown"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Tucson, AZ United States"|"the wood block"|"the wood block"|"sunflower seeds"
+"1150"|"Kulta"|"October, 2006"|"Hamster (Unknown)"|"Golden"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Stockholm, Sweden"|"the wheel,"|"the wheel,"|"crispbread, apples, pears, oats and lots of more"
+"1151"|"Booger"|"November, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Lansing, MI United States"|"Hamster Ball"|"Hamster Ball"|"Bread"
+"1152"|"Penny the Hamster"|"July, 2006"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Rochester Hills, MI United States"|"Play House"|"Play House"|"carrots"
+"1153"|"Shrimpy"|"November, 2006"|"Hamster (Syrian)"|"Honey"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Lake Grove, NY United States"|"TV house"|"TV house"|"lettuce, broccoli, carrots, yogurts"
+"1154"|"Lola"|"November, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Urbana, IL United States"|"Urbana, IL United States"|"Urbana, IL United States"|"Urbana, IL United States"
+"1155"|"Max"|"November, 2006"|"Hamster (Syrian)"|"Sable"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Urbana, IL United States"|"Running ball"|"Running ball"|"Running ball"
+"1156"|"Konrad"|"January, 2007"|"Hamster (Dwarf)"|"Argente"|"Male"|"November, 2006"|"63 months"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Sunflower seeds"
+"1157"|"Billie"|"December, 2006"|"Hamster (Common)"|"Black Banded"|"Male"|"December, 2006"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"His Wheel!!!"|"His Wheel!!!"|"Yummy seeds"
+"1158"|"Dora"|"March, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Portage, MI United States"|"Wheel"|"Wheel"|"Everything that lands in her bowl"
+"1159"|"Prefontaine"|"March, 2007"|"Hamster (Unknown)"|"Golden"|"Male"|"October, 2006"|"64 months"|"Ann Arbor, MI United States"|"Log"|"Log"|"pine nuts"
+"1160"|"Angel"|"March, 2007"|"Hamster (Siberian)"|"Nutmeg"|"Female"|"January, 2007"|"61 months"|"Dundee, United Kingdom"|"Ball"|"Ball"|"Choco Drops"
+"1161"|"Cupcake Muffin Sweeney"|"October, 2008"|"Hamster (Unknown)"|"Black Banded"|"Female"|"December, 2007"|"50 months"|"Latrobe, PA United States"|"Wheel"|"Wheel"|"Cottage Cheese"
+"1162"|"Cubby"|"September, 2008"|"Hamster (Syrian)"|"Black"|"Female"|"March, 2008"|"47 months"|"South Holland, IL United States"|"Wrapping Paper Tubes!"|"Wrapping Paper Tubes!"|"Cauliflower"
+"1163"|"Junior"|"November, 2008"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"June, 2007"|"56 months"|"New York, NY United States"|"Apples"|"Apples"|"lettuce/cabbage"
+"1164"|"Kojo"|"December, 2008"|"Hamster (Syrian)"|"Black Banded"|"Male"|"October, 2008"|"40 months"|"Poole, United Kingdom"|"We don't know yet, but he LOVES his wheel"|"We don't know yet, but he LOVES his wheel"|"We don't know yet, but he LOVES his wheel"
+"1165"|"Bear"|"September, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"South Holland, IL United States"|"Milkbones"|"Milkbones"|"Papaya"
+"1166"|"Pip Squeek"|"December, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"April, 2007"|"58 months"|"Pinnacle, NC United States"|"fluffy angel bedding"|"fluffy angel bedding"|"sunflower seeds"
+"1167"|"Harry Potter"|"December, 2007"|"Hamster (Dwarf)"|"Beige"|"Male"|"November, 2007"|"51 months"|"Here, WV United States"|"His chew stick apple"|"His chew stick apple"|"His chew stick apple"
+"1168"|"Dakota"|"December, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"September, 2007"|"53 months"|"Los Angeles, CA United States"|"her potty"|"her potty"|"carrots(sh ecan stick the whole thing in her mouth!)"
+"1169"|"Lola"|"January, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"August, 2007"|"54 months"|"Wakefield, United Kingdom"|"Her whole cage"|"Her whole cage"|"Yoghurt drops"
+"1170"|"Ginger"|"January, 2008"|"Hamster (Dwarf)"|"Opal"|"Female"|"December, 2007"|"50 months"|"Hockessin, DE United States"|"Hockessin, DE United States"|"Hockessin, DE United States"|"Hockessin, DE United States"
+"1171"|"Jack"|"January, 2008"|"Hamster (Syrian)"|"Golden"|"Male"|"August, 2007"|"54 months"|"Rockville, MD United States"|"Wheel"|"Wheel"|"Tofu, carrot"
+"1172"|"Lord Denning"|"March, 2008"|"Hamster (Russian)"|"Pearl"|"Male"|"December, 2007"|"50 months"|"Hong Kong, Hong Kong"|"wooden bridge"|"wooden bridge"|"oatmeal"
+"1173"|"Superman"|"April, 2004"|"Hamster (Dwarf)"|"White"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Cardboard"|"Cardboard"|"Star Biscuits & Veggie Treats"
+"1174"|"hammy"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Arcadia, CA United States"|"watermelon shell"|"watermelon shell"|"sunflower seed"
+"1175"|"Yogi Bear"|"November, 2007"|"Hamster (Common)"|"Black"|"Male"|"September, 2007"|"53 months"|"Edmonton, AB Canada"|"I like my wheel but its about the only REAL toy I like."|"I like my wheel but its about the only REAL toy I like."|"I'm not too picky on my food, I like anything!"
+"1176"|"Peaches"|"October, 2007"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"August, 2006"|"Gone to Hamster Heaven"|"???, AB Canada"|"Just climbing on his cage bars!"|"Just climbing on his cage bars!"|"Raisins, nuts, bread and milk, and drops."
+"1177"|"Twitch"|"May, 2004"|"Hamster (Siberian)"|"White"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"London, United Kingdom"|"her humans to climb upon"|"her humans to climb upon"|"bananana"
+"1178"|"Chichi"|"March, 2007"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"March, 2007"|"59 months"|"Manila, Philippines"|"Hammy Wheels"|"Hammy Wheels"|"Bird seeds, sunflower seeds"
+"1179"|"Jingles"|"March, 2007"|"Hamster (Teddy Bear)"|"Chocolate"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Makati, Philippines"|"The steel bars of our cage"|"The steel bars of our cage"|"Corn"
+"1180"|"Belle"|"March, 2007"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Makati, Philippines"|"Exercise Wheel"|"Exercise Wheel"|"Pellet and biscuit"
+"1181"|"Little D"|"May, 2004"|"Hamster (Russian)"|"Agouti"|"Female"|"August, 2003"|"Gone to Hamster Heaven"|"SG, Singapore"|"Anything that can be chewed!~"|"Anything that can be chewed!~"|"Carrot"
+"1182"|"Anders"|"April, 2005"|"Hamster (Chinese)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Kansas City, KS United States"|"wheel"|"wheel"|"sunflower seeds"
+"1183"|"Athena"|"February, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"New Bedford, MA United States"|"paper towel tubes"|"paper towel tubes"|"anything foraged for when escaping"
+"1184"|"Zoe"|"June, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Hamster Wheel"|"Hamster Wheel"|"Lettuce"
+"1185"|"winky"|"August, 2006"|"Hamster (Unknown)"|"Grey"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"hippo shelter"|"hippo shelter"|"strawberry, watermelon etc"
+"1186"|"George Xavier"|"October, 2006"|"Gerbil (Mongolian)"|"Brown"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Tolland, CT United States"|"Cardboard tubes."|"Cardboard tubes."|"Veggies."
+"1187"|"Imogen Star"|"October, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Tolland, CT United States"|"Wheel (or cage bars)."|"Wheel (or cage bars)."|"Veggies."
+"1188"|"小丽 [Xiaoli]"|"April, 2007"|"Hamster (Chinese)"|"Brown"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Tolland, CT United States"|"Wooden house"|"Wooden house"|"Rodent blocks?"
+"1189"|"小梅 [Xiaomei]"|"April, 2007"|"Hamster (Chinese)"|"Brown"|"Female"|"January, 2007"|"Gone to Hamster Heaven"|"Tolland, CT United States"|"Wheel"|"Wheel"|"Rodent blocks?"
+"1190"|"Percival"|"March, 2009"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"July, 2008"|"Gone to Hamster Heaven"|"Meadville, PA United States"|"Anything he thinks is edible"|"Anything he thinks is edible"|"Anything edible"
+"1191"|"Filbert"|"March, 2009"|"Hamster (Dwarf)"|"Black Banded"|"Male"|"November, 2008"|"39 months"|"Albany, NY United States"|"Albany, NY United States"|"Albany, NY United States"|"sunflower seeds"
+"1192"|"Hammie the Hampire"|"July, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Edison, NJ United States"|"Edison, NJ United States"|"Edison, NJ United States"|"Sunflower seeds"
+"1193"|"Misty"|"January, 2007"|"Hamster (Teddy Bear)"|"Smoke Pearl"|"Female"|"December, 2006"|"62 months"|"21136, MD United States"|"TP Tube"|"TP Tube"|"I like to eat yogurt treats given to me by daddy!"
+"1194"|"Pinkie"|"November, 2007"|"Hamster (Russian)"|"Sapphire"|"Female"|"September, 2007"|"53 months"|"None, Singapore"|"Tissue papers :D"|"Tissue papers :D"|"Sunflower seeds :D"
+"1195"|"RePete"|"April, 2005"|"Gerbil (Mongolian)"|"Cinnamon"|"Male"|"November, 2002"|"Gone to Gerbil Heaven"|"Asheville, NC United States"|"His food dish"|"His food dish"|"Sunflower Seeds"
+"1196"|"Cora"|"September, 2005"|"Gerbil (Unknown)"|"Black"|"Female"|"October, 2003"|"Gone to Gerbil Heaven"|"Raleigh, NC United States"|"Half of a coconut shell (not pictured as I had to take it out to get her picture)"|"Half of a coconut shell (not pictured as I had to take it out to get her picture)"|"Anything in her cage that's edible. Or inedible. I really have to watch out for this one."
+"1197"|"Luigi"|"March, 2007"|"Gerbil (Mongolian)"|"Silver"|"Male"|"June, 2006"|"Gone to Gerbil Heaven"|"Asheville, NC United States"|"His Exercise Wheel"|"His Exercise Wheel"|"Eggs"
+"1198"|"Rosebud"|"March, 2007"|"Hamster (Teddy Bear)"|"Tortoise Shell"|"Female"|"October, 2006"|"64 months"|"Asheville, NC United States"|"Hamster Ball"|"Hamster Ball"|"Carrots"
+"1199"|"cupcake"|"July, 2007"|"Gerbil (Unknown)"|"Grey"|"Female"|"January, 2004"|"Gone to Gerbil Heaven"|"Gainesville, FL United States"|"toilet paper tube"|"toilet paper tube"|"corn and sunflower seeds"
+"1200"|"Pocky"|"August, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Park City, KY United States"|"Chapstick tubes"|"Chapstick tubes"|"Blueberries"
+"1201"|"Oz"|"April, 2004"|"Hamster (Syrian)"|"Beige"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Washington, PA United States"|"his wheel"|"his wheel"|"raisens"
+"1202"|"Boo"|"December, 2007"|"Hamster (Dwarf)"|"Brown"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Spore, Singapore"|"Spore, Singapore"|"Spore, Singapore"|"Broccoli"
+"1203"|"Uncle Blue"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"his wheel"|"his wheel"|"sunflower seeds"
+"1204"|"Eleadora"|"June, 2006"|"Gerbil (Unknown)"|"Black"|"Female"|"April, 2005"|"Gone to Gerbil Heaven"|"Raleigh, NC United States"|"Critter Bath"|"Critter Bath"|"Normal gerbil food, but she's never too excited over it"
+"1205"|"KUKU"|"August, 2008"|"Hamster (Dwarf)"|"Grey"|"Female"|"October, 2007"|"52 months"|"OSAKA, Japan"|"Wheel"|"Wheel"|"Wheel"
+"1206"|"Billie Jean"|"June, 2009"|"Hamster (Syrian)"|"Agouti"|"Male"|"January, 2008"|"49 months"|"Broadripple, IN United States"|"Well, he really doesn't like toys, lol =]"|"Well, he really doesn't like toys, lol =]"|"Corn"
+"1207"|"George"|"April, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Oxford, United Kingdom"|"cage bars"|"cage bars"|"yogurt drops"
+"1208"|"Corrinne"|"August, 2004"|"Hamster (Syrian)"|"Brown"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Crittertrail tubes, wheel, and tree branches"|"Crittertrail tubes, wheel, and tree branches"|"Cheerios"
+"1209"|"Chiquita Banana"|"February, 2008"|"Hamster (Dwarf)"|"Brown"|"Female"|"September, 2007"|"Gone to Hamster Heaven"|"El Paso, TX United States"|"Tissues"|"Tissues"|"Lettuce and Broccoli"
+"1210"|"Carlos Drummond Campbelli"|"October, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"1211"|"Lucy"|"July, 2006"|"Hamster (Syrian)"|"Black Banded"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Grand Rapids, MI United States"|"Me. Or her pink hamster ball she runs around in!"|"Me. Or her pink hamster ball she runs around in!"|"Sunflower seeds, apples."
+"1212"|"Mochi"|"June, 2008"|"Hamster (Dwarf)"|"White"|"Male"|"April, 2008"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"The wheel"|"The wheel"|"Everything edible"
+"1213"|"Boris"|"March, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Brighton, United Kingdom"|"wheel"|"wheel"|"peanuts"
+"1214"|"mojito"|"April, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Stockholm, Sweden"|"Noisy Wheeeeel!"|"Noisy Wheeeeel!"|"broccoli, apple and egg. and Sunflowerseeds!"
+"1215"|"Tristan"|"August, 2007"|"Hamster (Russian)"|"Agouti"|"Male"|"August, 2007"|"54 months"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"
+"1216"|"Butter"|"August, 2006"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Toilet roll"|"Toilet roll"|"green leafy vegetables"
+"1217"|"Theodore Andrew Chong"|"July, 2008"|"Hamster (Syrian)"|"Cream"|"Male"|"July, 2008"|"43 months"|"KK, Malaysia"|"wheel"|"wheel"|"seeds"
+"1218"|"mickey"|"July, 2008"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"January, 2007"|"61 months"|"Ipoh, Malaysia"|"tissue, pencil"|"tissue, pencil"|"sunflower seeds"
+"1219"|"Shadow"|"December, 2006"|"Hamster (Common)"|"Black"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Calgary, AB Canada"|"Plastic Tape Ring, Wooden Chew Sticks, Big Bouncing Ball, Run-Around Ball"|"Plastic Tape Ring, Wooden Chew Sticks, Big Bouncing Ball, Run-Around Ball"|"Peas, corn, rice, cheerios, oats, walnuts, and nibble bars."
+"1220"|"Chiba"|"January, 2007"|"Hamster (Unknown)"|"Golden Banded"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Calgary, AB Canada"|"Banana"|"Banana"|"Rice"
+"1221"|"Fred"|"October, 2005"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Dallas, TX United States"|"toilet tissue tube"|"toilet tissue tube"|"carrots"
+"1222"|"Grumpy"|"April, 2008"|"Hamster (Dwarf)"|"Rust"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"His plastic ball, his wheel"|"His plastic ball, his wheel"|"Banana!"
+"1223"|"Lily"|"April, 2008"|"Hamster (Dwarf)"|"Grey"|"Female"|"December, 2007"|"50 months"|"Chicago, IL United States"|"Tubes!"|"Tubes!"|"Grapes"
+"1224"|"Honey Lumpkins"|"July, 2006"|"Hamster (Unknown)"|"Cinnamon"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Lemon Grove, CA United States"|"Chew blocks"|"Chew blocks"|"Carrots"
+"1225"|"Stevie"|"March, 2007"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Manila, Philippines"|"His wheelie machine"|"His wheelie machine"|"Mangoes, plain rice, sunflower seeds, chicken fillet, lettuce, hard boiled eggs"
+"1226"|"NapsterMaMan (R.I.P.)"|"February, 2005"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"September, 2003"|"Gone to Hamster Heaven"|"Nowheresville, ME United States"|"Igloo / PVC pipe"|"Igloo / PVC pipe"|"Harry Hamster Food, Milkbones, oats, apples"
+"1227"|"Clover"|"April, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Milpitas, CA United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"1228"|"Cookie"|"May, 2004"|"Hamster (Syrian)"|"Brown"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"My Toliet box"|"My Toliet box"|"My little wooden apple with the treat in the middle"
+"1229"|"Oggy"|"July, 2006"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"January, 2005"|"Gone to Gerbil Heaven"|"New York City, NY United States"|"Cardboard boxes."|"Cardboard boxes."|"Sunflower seeds and fresh vegetables."
+"1230"|"King Kuma Momo Jahobert Gogurt"|"March, 2007"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Newark, NJ United States"|"Running wheel"|"Running wheel"|"Banana yogurt treats"
+"1231"|"Chuchu"|"March, 2007"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"March, 2007"|"59 months"|"Manila, Philippines"|"Exercise wheels"|"Exercise wheels"|"Sunflower seeds"
+"1232"|"lily"|"September, 2008"|"Hamster (Chinese)"|"Brown"|"Female"|"June, 2008"|"44 months"|"Loreauville, LA United States"|"stick"|"stick"|"treats"
+"1233"|"Bijoux"|"December, 2007"|"Hamster (Dwarf)"|"White"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Spore, Singapore"|"Spore, Singapore"|"Spore, Singapore"|"Spore, Singapore"
+"1234"|"Khaki"|"May, 2005"|"Hamster (Siberian)"|"Cream"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"1235"|"Khakito"|"May, 2005"|"Hamster (Siberian)"|"Cream"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Hamster wheel"|"Hamster wheel"|"Hamster wheel"
+"1236"|"Waffles"|"November, 2005"|"Hamster (Dwarf)"|"Black"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Morgantown, WV United States"|"Stawberry house"|"Stawberry house"|"Nutripuffs"
+"1237"|"Dongwa"|"June, 2005"|"Hamster (Unknown)"|"Black Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Big Wheel"|"Big Wheel"|"Peanuts"
+"1238"|"Brulée"|"August, 2007"|"Hamster (Syrian)"|"Black"|"Female"|"June, 2007"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"RunAbout ball"|"RunAbout ball"|"anything sweet"
+"1239"|"Rusty"|"November, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Christchurch, New Zealand"|"It's ball"|"It's ball"|"cabbage brocolli"
+"1240"|"Daisy"|"December, 2009"|"Hamster (Dwarf)"|"Brown"|"Female"|"August, 2008"|"42 months"|"Lakeland, FL United States"|"wheel"|"wheel"|"yogies"
+"1241"|"Fluffy"|"December, 2009"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"April, 2009"|"34 months"|"Selayang, Malaysia"|"Hamster ball and its wheel."|"Hamster ball and its wheel."|"Sunflower seed, Fresa (strawberry) and most of all Loco Banana sandwich!!!!"
+"1242"|"Digit"|"June, 2006"|"Hamster (Syrian)"|"Black Banded"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Cincinnati, OH United States"|"Twisty ties"|"Twisty ties"|"Hard boiled Egg"
+"1243"|"Codi Bogalou"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"his wheel"|"his wheel"|"anything sweet"
+"1244"|"Hamlit"|"March, 2008"|"Hamster (Dwarf)"|"White"|"Male"|"February, 2008"|"48 months"|"Bedfordshire, United Kingdom"|"his little wheel"|"his little wheel"|"hamster mix (I'm not sure yet)"
+"1245"|"Mochi"|"June, 2006"|"Hamster (Dwarf)"|"Opal"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Donkey"|"Donkey"|"Carrots"
+"1246"|"Squinty"|"June, 2006"|"Hamster (Russian)"|"White"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"Hammie wheel"|"Hammie wheel"|"Sunflower seeds"
+"1247"|"Xiaobai"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Female"|"March, 2003"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Hamster Ball"|"Hamster Ball"|"Sunflower seeds"
+"1248"|"poo poo"|"April, 2004"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"strawberry yoghurt"
+"1249"|"fluffy snuffy"|"April, 2004"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"June, 2002"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"running ball"|"running ball"|"strawberry yoghurt"
+"1250"|"Abigail Poops-in-ball"|"May, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Brunswick, ME United States"|"waterbottle"|"waterbottle"|"cheese cakes"
+"1251"|"Bitey"|"September, 2007"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Anything Plastic"|"Anything Plastic"|"Yogurt Drops"
+"1252"|"Boobsie"|"July, 2006"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"The Rotating Workstation"|"The Rotating Workstation"|"Pringles Cheese Flavor"
+"1253"|"Chai"|"August, 2004"|"Hamster (Russian)"|"Argente"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Stamford, CT United States"|"Plastic Tube, Wheel"|"Plastic Tube, Wheel"|"Special K"
+"1254"|"Clyde"|"September, 2007"|"Hamster (Syrian)"|"Cream"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Plastic Purple Tube (he loves to perch on it)"|"Plastic Purple Tube (he loves to perch on it)"|"Crunchy Blueberry Yogurt Balls"
+"1255"|"corgie"|"July, 2005"|"Hamster (Syrian)"|"Sable"|"Female"|"May, 2002"|"Gone to Hamster Heaven"|"Lisle, IL United States"|"just about anything"|"just about anything"|"anything but it was the surprise treats that she liked the best."
+"1256"|"Digit [R.I.P Little guy]"|"September, 2007"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"May, 2007"|"Gone to Hamster Heaven"|"Poole, United Kingdom"|"Wheel"|"Wheel"|"Any fresh fruit/veg given to him!!"
+"1257"|"Dr. Marcus Aurelius Brody"|"July, 2006"|"Hamster (Syrian)"|"White"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Alexandria, VA United States"|"Hamster Ball"|"Hamster Ball"|"Carrots"
+"1258"|"Hamko"|"August, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Her owners"|"Her owners"|"Sunflower seeds, cucumber"
+"1259"|"Butter"|"November, 2007"|"Hamster (Russian)"|"White"|"Female"|"March, 2007"|"Gone to Hamster Heaven"|"None, Singapore"|"My finger }:"|"My finger }:"|"Sunflower seeds :D"
+"1260"|"Boo"|"January, 2008"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"November, 2006"|"63 months"|"Durham, NC United States"|"Wooden block"|"Wooden block"|"Apples"
+"1261"|"Aslan"|"October, 2007"|"Hamster (Unknown)"|"Brown"|"Male"|"August, 2007"|"54 months"|"Oakland, CA United States"|"Wheel, and ball"|"Wheel, and ball"|"Dog food, lettuce, and apple"
+"1262"|"Bear"|"January, 2008"|"Hamster (Syrian)"|"Golden"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Tamworth, United Kingdom"|"Wooden strawberry"|"Wooden strawberry"|"Strawberries, dried fruit and nuts, banana and broccoli!"
+"1263"|"Yumi"|"February, 2008"|"Hamster (Common)"|"Golden Banded"|"Female"|"July, 2007"|"Gone to Hamster Heaven"|"Kuching, Malaysia"|"I love the wheel..I also love to chew on my bars!!!!!!!!!"|"I love the wheel..I also love to chew on my bars!!!!!!!!!"|"Those round green things and seeds."
+"1264"|"Waffle"|"August, 2007"|"Hamster (Dwarf)"|"Brown"|"Female"|"February, 2007"|"60 months"|"Cape Town, South Africa"|"Hamster Ball"|"Hamster Ball"|"Sunflower seeds, cashew nuts, cheese, chicken, mutton curry and cucumber"
+"1265"|"Nibble"|"April, 2006"|"Hamster (Syrian)"|"Beige"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Leeds, United Kingdom"|"Toilet rolls"|"Toilet rolls"|"Cabbage"
+"1266"|"Brie"|"November, 2007"|"Hamster (Syrian)"|"Cream"|"Female"|"September, 2007"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"wheel"|"wheel"|"sunflower seeds, carrots"
+"1267"|"Fillmore"|"September, 2007"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Mineral Chew With Sprinkles (He only chews off the sprinkles)"|"Mineral Chew With Sprinkles (He only chews off the sprinkles)"|"Strawberry Yogurt Drops"
+"1268"|"Chester"|"September, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Toliet Paper Rolls"|"Toliet Paper Rolls"|"Everything!"
+"1269"|"Nibbles"|"March, 2007"|"Hamster (Dwarf)"|"Grey"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"El Paso, TX United States"|"Wheel"|"Wheel"|"Seeds"
+"1270"|"Chief Odis"|"December, 2007"|"Hamster (Unknown)"|"Black"|"Male"|"October, 2006"|"Gone to Hamster Heaven"|"Richmond, VA United States"|"Wheel"|"Wheel"|"Yogurt Treats"
+"1271"|"Flash(11/18/05-12/22/07)"|"September, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Here, WV United States"|"His shield"|"His shield"|"Sunflower seeds"
+"1272"|"Jumpin Jack"|"January, 2010"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"October, 2009"|"28 months"|"Manila, Philippines"|"wheel!!!!"|"wheel!!!!"|"duck meat"
+"1273"|"Mirugai"|"September, 2007"|"Hamster (Dwarf)"|"Agouti"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Metal bars!"|"Metal bars!"|"Freeze-dried Mealworms"
+"1274"|"Mocha"|"September, 2007"|"Hamster (Dwarf)"|"Agouti"|"Male"|"March, 2007"|"59 months"|"Singapore, Singapore"|"Wheel"|"Wheel"|"Broccoli"
+"1275"|"Enoki"|"September, 2007"|"Hamster (Dwarf)"|"Pearl"|"Female"|"April, 2007"|"58 months"|"Singapore, Singapore"|"Tissue Paper"|"Tissue Paper"|"Sunflower seeds and carrots"
+"1276"|"Souffle"|"September, 2007"|"Hamster (Dwarf)"|"Pearl"|"Female"|"August, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Playmates Zucchini and Tortilla"|"Playmates Zucchini and Tortilla"|"Just about anything XD"
+"1277"|"Tortilla"|"September, 2007"|"Hamster (Dwarf)"|"Pearl"|"Male"|"July, 2007"|"55 months"|"Singapore, Singapore"|"Wheel"|"Wheel"|"Everything!"
+"1278"|"Mia"|"November, 2004"|"Hamster (Teddy Bear)"|"Black Banded"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Houston, TX United States"|"pink igloo"|"pink igloo"|"pretzels"
+"1279"|"Kuzco"|"January, 2005"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Omaha, NE United States"|"wheel"|"wheel"|"strawberry"
+"1280"|"Totoro"|"January, 2005"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Omaha, NE United States"|"wheel"|"wheel"|"strawberry"
+"1281"|"Bigfoot"|"July, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"1282"|"StevieBobKittyHavoktheAttack.."|"January, 2007"|"Hamster (Dwarf)"|"Agouti"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Tucson, AZ United States"|"toilet paper tube"|"toilet paper tube"|"sunflower seeds"
+"1283"|"Oscar"|"June, 2007"|"Hamster (Russian)"|"Grey"|"Male"|"March, 2007"|"59 months"|"Omagh, Ireland"|"TV"|"TV"|"Sunflower seeds and walnuts"
+"1284"|"Nemo"|"May, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"Hamster Wheel"|"Hamster Wheel"|"Fruit shaped treats"
+"1285"|"Pebbles"|"November, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Moody, AL United States"|"her roll-around ball"|"her roll-around ball"|"lettuce"
+"1286"|"Parfait"|"January, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"1287"|"Mimi"|"January, 2009"|"Hamster (Dwarf)"|"Silver"|"Female"|"February, 2008"|"48 months"|"Southern Ontario, ON Canada"|"Wheel"|"Wheel"|"Sunflower seeds and dog biscuits"
+"1288"|"Amelie"|"April, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Austin, TX United States"|"the plastic ball"|"the plastic ball"|"Dried corn"
+"1289"|"Sammie"|"November, 2009"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"December, 2007"|"50 months"|"Kansas City, MO United States"|"Wheel"|"Wheel"|"Meal Worms"
+"1290"|"BlackBerry"|"October, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Jasper, GA United States"|"some "chew stix""|"some "chew stix""|"grapes"
+"1291"|"otis"|"November, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Miami, FL United States"|"her bedding castle"|"her bedding castle"|"cheese yogies"
+"1292"|"Shadow"|"March, 2005"|"Hamster (Syrian)"|"Grey"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Poultney, VT United States"|"Hamster Ball"|"Hamster Ball"|"Biscuits... dog biscuits, cat biscuits, organic or otherwise"
+"1293"|"Rascal"|"June, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Placentia, CA United States"|"House/Bed"|"House/Bed"|"Cheerios"
+"1294"|"bobbie"|"October, 2006"|"Hamster (Unknown)"|"Black"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Mentor, OH United States"|"his chew block"|"his chew block"|"sunflower seeds"
+"1295"|"Bert"|"July, 2007"|"Hamster (Dwarf)"|"Agouti"|"Male"|"June, 2007"|"56 months"|"Brooklyn, NY United States"|"the wheel"|"the wheel"|"matza crackers"
+"1296"|"Ernie"|"July, 2007"|"Hamster (Dwarf)"|"Agouti"|"Male"|"June, 2007"|"56 months"|"Brooklyn, NY United States"|"the wheel"|"the wheel"|"matza crackers"
+"1297"|"Beep"|"May, 2007"|"Hamster (Dwarf)"|"Agouti"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"New York, NY United States"|"the red wheel, and then the blue wheel"|"the red wheel, and then the blue wheel"|"fennel bulbs"
+"1298"|"Lil' Mama"|"May, 2007"|"Hamster (Dwarf)"|"Blue"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"cardboard boxes"|"cardboard boxes"|"porridge (she broke her top front teeth, and gets the bottom ones trimmed, ouch!)"
+"1299"|"Napoleon"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Washington, PA United States"|"his wheel"|"his wheel"|"his wheel"
+"1300"|"Ethel"|"November, 2008"|"Hamster (Chinese)"|"Brown"|"Female"|"September, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"House"|"House"|"Yogurt Drops"
+"1301"|"Peach"|"May, 2004"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Gorham, ME United States"|"Wheel"|"Wheel"|"Grapes"
+"1302"|"Ralphy"|"June, 2004"|"Hamster (Dwarf)"|"Agouti"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Portland, ME United States"|"we haven't discovered it yet! but he loves to sleep in his wheel!"|"we haven't discovered it yet! but he loves to sleep in his wheel!"|"sun flower seeds"
+"1303"|"Buddy"|"July, 2006"|"Hamster (Siberian)"|"Cinnamon Banded"|"Male"|"July, 2003"|"Gone to Hamster Heaven"|"Buffalo, NY United States"|"food"|"food"|"yogurt drop"
+"1304"|"Tina"|"December, 2006"|"Hamster (Common)"|"Brown"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"tungle rope"|"tungle rope"|"sunflower seeds"
+"1305"|"Thisbe"|"January, 2006"|"Gerbil (Mongolian)"|"White"|"Female"|"January, 2004"|"Gone to Gerbil Heaven"|"Cincinnati, OH United States"|"Molly (her gerbil-mommy)"|"Molly (her gerbil-mommy)"|"peas"
+"1306"|"Miss Devin Townsend"|"June, 2006"|"Hamster (Syrian)"|"Calico"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"Tubes! And anything that she can climb on."|"Tubes! And anything that she can climb on."|"Anything she can get her grubby little fingers on"
+"1307"|"margot"|"July, 2004"|"Hamster (Dwarf)"|"Brown"|"Female"|"October, 2003"|"Gone to Hamster Heaven"|"Colorado Springs, CO United States"|"her wheel"|"her wheel"|"broccoli"
+"1308"|"Sophia"|"April, 2004"|"Hamster (Common)"|"Brown"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Rockland, ME United States"|"Maze"|"Maze"|"Krunch-a-rounds"
+"1309"|"Ernest"|"June, 2004"|"Hamster (Unknown)"|"Sable Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Washington, DC United States"|"Washington, DC United States"|"Washington, DC United States"|"was red grapes, then walnuts, now carrots & lettuce, although also those little red vitamin squares with the sugar filling"
+"1310"|"Twizzler"|"July, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"June, 2001"|"Gone to Hamster Heaven"|"Fredericksburg, VA United States"|"Exercise Ball"|"Exercise Ball"|"Cherries"
+"1311"|"Spike"|"July, 2004"|"Hamster (Syrian)"|"Nutmeg"|"Female"|"June, 2003"|"Gone to Hamster Heaven"|"Bloomington, MN United States"|"Hammy Townhouse"|"Hammy Townhouse"|"Fruit, yogurt"
+"1312"|"Bear"|"April, 2004"|"Hamster (Syrian)"|"Sable"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"London, United Kingdom"|"wheel!"|"wheel!"|"doggie biscuits and banana"
+"1313"|"Rockett"|"April, 2004"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"January, 2002"|"Gone to Hamster Heaven"|"Detroit, MI United States"|"spaghetti"|"spaghetti"|"Broccoli, spinach, apples, cucumber, peas"
+"1314"|"Cinders"|"May, 2004"|"Hamster (Syrian)"|"Brown"|"Male"|"September, 2003"|"Gone to Hamster Heaven"|"Western, PA United States"|"food bowl"|"food bowl"|"mealies"
+"1315"|"Toffee"|"May, 2004"|"Hamster (Syrian)"|"Beige"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Western, PA United States"|"hamster wheel"|"hamster wheel"|"apples *crunch*"
+"1316"|"YaYa"|"June, 2004"|"Hamster (Dwarf)"|"Argente"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Unknown Yet"|"Unknown Yet"|"Sunflower Seeds"
+"1317"|"Hercules"|"July, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Wonderland, Singapore"|"Wheel Of Fortune"|"Wheel Of Fortune"|"Seeds"
+"1318"|"Winston"|"August, 2004"|"Hamster (Syrian)"|"Agouti"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Washington, PA United States"|"His wheel"|"His wheel"|"His wheel"
+"1319"|"Pierre"|"August, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Greensboro, NC United States"|"Wheel"|"Wheel"|"sunflower seeds"
+"1320"|"Schroeder"|"February, 2008"|"Hamster (Syrian)"|"Black"|"Male"|"October, 2007"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"1321"|"Linus"|"February, 2008"|"Hamster (Syrian)"|"Black Banded"|"Male"|"October, 2007"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"|"Falls Church, VA United States"
+"1322"|"Sugar"|"July, 2006"|"Hamster (Common)"|"Cinnamon Banded"|"Female"|"March, 2002"|"Gone to Hamster Heaven"|"Vienna, VA United States"|"A bird mirror"|"A bird mirror"|"Coconut"
+"1323"|"Nebula"|"April, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"Hamster bunker"|"Hamster bunker"|"Anything edible. Got to build those muscles!"
+"1324"|"Littlewhiskers"|"April, 2004"|"Hamster (Syrian)"|"Orange"|"Female"|"May, 1999"|"Gone to Hamster Heaven"|"Windsor Mill, MD United States"|"Windsor Mill, MD United States"|"Windsor Mill, MD United States"|"chicken"
+"1325"|"Kat"|"January, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Wheel"|"Wheel"|"Yogurt drops, carrots"
+"1326"|"Marty"|"May, 2005"|"Hamster (Syrian)"|"Sable"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Cambridge, ON Canada"|"Cambridge, ON Canada"|"Cambridge, ON Canada"|"Yogurt drops"
+"1327"|"Guster"|"December, 2004"|"Hamster (Teddy Bear)"|"Black"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Schenectady, NY United States"|"Schenectady, NY United States"|"Schenectady, NY United States"|"Schenectady, NY United States"
+"1328"|"Nemo"|"May, 2005"|"Hamster (Siberian)"|"Grey"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Her squeaky wheel"|"Her squeaky wheel"|"Her squeaky wheel"
+"1329"|"Koro"|"July, 2006"|"Hamster (Teddy Bear)"|"White"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Grand Ledge, MI United States"|"Wheel"|"Wheel"|"Cherries"
+"1330"|"Koro"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"OSAKA, Japan"|"OSAKA, Japan"|"OSAKA, Japan"|"Sunflower seeds"
+"1331"|"Dally"|"August, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Bedford, MD United States"|"wheel"|"wheel"|"lettuce"
+"1332"|"Bruce"|"August, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Parkesburg, PA United States"|"exercise wheel"|"exercise wheel"|"lab blocks"
+"1333"|"Church"|"January, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"El Monte, CA United States"|"Toliet papaer roll...or anything"|"Toliet papaer roll...or anything"|"everything"
+"1334"|"Shelby"|"May, 2007"|"Hamster (Russian)"|"Silver"|"Male"|"April, 2007"|"58 months"|"Taubaté, Brazil"|"lamp boxes"|"lamp boxes"|"corn"
+"1335"|"Seshie"|"January, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"dog biscuits"|"dog biscuits"|"sunflower seeds"
+"1336"|"Victoria"|"December, 2006"|"Hamster (Dwarf)"|"Albino"|"Female"|"September, 2006"|"Gone to Hamster Heaven"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Monterey Park, CA United States"
+"1337"|"Diva"|"March, 2007"|"Hamster (Dwarf)"|"Pearl"|"Female"|"March, 2007"|"59 months"|"Morristown, NJ United States"|"the wheel"|"the wheel"|"Krunch-A-Rounds Treats"
+"1338"|"Castor"|"May, 2006"|"Hamster (Dwarf)"|"Argente"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Hillsborough, NC United States"|"crittertrail tubes"|"crittertrail tubes"|"seeds, sunflower seeds"
+"1339"|"Madison"|"October, 2006"|"Hamster (Teddy Bear)"|"Nutmeg"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Fishers, IN United States"|"Carrot Chew Sticks"|"Carrot Chew Sticks"|"Sunflower and Pumpkin Seeds"
+"1340"|"Logan"|"October, 2006"|"Hamster (Dwarf)"|"Opal"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Fishers, IN United States"|"Fishers, IN United States"|"Fishers, IN United States"|"Pumpkin Seeds"
+"1341"|"Rubie"|"June, 2008"|"Hamster (Roborovskii)"|"Brown"|"Female"|"June, 2008"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"No toys as yet"|"No toys as yet"|"No preference"
+"1342"|"Shelby"|"June, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"New Carlisle, OH United States"|"block"|"block"|"seed"
+"1343"|"D.O."|"May, 2007"|"Hamster (Russian)"|"Nutmeg"|"Male"|"November, 2006"|"63 months"|"San Francisco, CA United States"|"toilet paper roll"|"toilet paper roll"|"sunflower seeds"
+"1344"|"Flora"|"April, 2008"|"Hamster (Dwarf)"|"Brown"|"Female"|"March, 2008"|"Gone to Hamster Heaven"|"Riverside, CA United States"|"Riverside, CA United States"|"Riverside, CA United States"|"Riverside, CA United States"
+"1345"|"Clara"|"February, 2008"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"November, 2007"|"Gone to Hamster Heaven"|"Stockholm, Sweden"|"Anything climable ;)"|"Anything climable ;)"|"Peas and sunflower seeds!!! (^_^)/"
+"1346"|"Eriya"|"May, 2004"|"Hamster (Russian)"|"Dove"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"My plastic bed"|"My plastic bed"|"I don't have a preferance"
+"1347"|"Bridget"|"November, 2006"|"Hamster (Unknown)"|"Black"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Vernon, NJ United States"|"Toleit Paper Roll"|"Toleit Paper Roll"|"her food"
+"1348"|"Princess Zippy"|"April, 2005"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"November, 2003"|"Gone to Gerbil Heaven"|"Boston, MA United States"|"any and all cardboard"|"any and all cardboard"|"sunflower seeds"
+"1349"|"Gizmo"|"April, 2005"|"Gerbil (Unknown)"|"Grey"|"Female"|"March, 2004"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Sunflower seeds"
+"1350"|"The Crusty Toast"|"April, 2005"|"Gerbil (Unknown)"|"Black"|"Male"|"January, 1996"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1351"|"Lemmiwinks"|"April, 2005"|"Gerbil (Unknown)"|"Grey"|"Male"|"December, 2002"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1352"|"Pinky and TheBrain, and Larry"|"April, 2005"|"Gerbil (Unknown)"|"Grey"|"Male"|"March, 2004"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1353"|"Flower (lil mama)"|"September, 2005"|"Gerbil (Unknown)"|"Black Banded"|"Female"|"July, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1354"|"Baby"|"April, 2005"|"Gerbil (Unknown)"|"Black"|"Female"|"March, 2004"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1355"|"Mongolian Tiger"|"January, 2007"|"Hamster (Dwarf)"|"Opal"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"His Igloo"|"His Igloo"|"Sweet stuff and fresh veg"
+"1356"|"Ariel"|"September, 2006"|"Hamster (Chinese)"|"Grey"|"Female"|"October, 2006"|"Gone to Hamster Heaven"|"Acton, MA United States"|"birch bark"|"birch bark"|"special K"
+"1357"|"Cinnamon"|"January, 2010"|"Gerbil (Mongolian)"|"Nutmeg"|"Male"|"January, 2004"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Any toy that was a puzzle or had a challenge."|"Any toy that was a puzzle or had a challenge."|"Yogart Drops"
+"1358"|"Lily Monster"|"January, 2007"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Whitman, MA United States"|"hamster ball"|"hamster ball"|"Alfalfa blocks"
+"1359"|"Rabbit"|"November, 2006"|"Hamster (Syrian)"|"Roan"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Sandbox"|"Sandbox"|"Cheese Curls and Granola Bars"
+"1360"|"Jingle"|"June, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Oklahoma City, OK United States"|"his car"|"his car"|"hamster mix"
+"1361"|"Tommy"|"August, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"June, 2001"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"Cage bars"|"Cage bars"|"Corn"
+"1362"|"nibbles"|"April, 2008"|"Hamster (Unknown)"|"Cream"|"Female"|"May, 2008"|"45 months"|"Hamsterville, United Kingdom"|"her toy hamster"|"her toy hamster"|"hamster nibbles"
+"1363"|"Zachery"|"April, 2004"|"Hamster (Teddy Bear)"|"Black"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Rockland, ME United States"|"Chewsticks"|"Chewsticks"|"Peanuts or Yogurt Chips"
+"1364"|"Aurelien"|"July, 2006"|"Hamster (Teddy Bear)"|"Chocolate"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Boston, MA United States"|"the remote control"|"the remote control"|"walnuts, green beans"
+"1365"|"Hayden"|"July, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"September, 2007"|"53 months"|"Manila, Philippines"|"the whole cage"|"the whole cage"|"anything edible including your finger"
+"1366"|"Carla"|"November, 2004"|"Hamster (Teddy Bear)"|"White"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Houston, TX United States"|"running ball"|"running ball"|"egg yolk"
+"1367"|"Pigwidgen"|"July, 2007"|"Hamster (Teddy Bear)"|"Black"|"Male"|"February, 2007"|"60 months"|"Girard, OH United States"|"his water bottle :) his plastic ball & wheel"|"his water bottle :) his plastic ball & wheel"|"carrots!"
+"1368"|"Bugsy"|"December, 2009"|"Hamster (Syrian)"|"Black Banded"|"Male"|"December, 2008"|"38 months"|"Woodinville, WA United States"|"Hamster ball,hamster wheel"|"Hamster ball,hamster wheel"|"Sunflower seeds"
+"1369"|"Snuffles"|"July, 2009"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"October, 2008"|"40 months"|"Woodinville, WA United States"|"Bars of cage"|"Bars of cage"|"Watermelon"
+"1370"|"Pigwidgeon"|"September, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Chestnut Hill Township, PA United States"|"Play cubes"|"Play cubes"|"Anything"
+"1371"|"Quesito"|"August, 2006"|"Hamster (Syrian)"|"Blonde"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Monclova, Mexico"|"His wheel and toilet paper tubes"|"His wheel and toilet paper tubes"|"Peanut butter"
+"1372"|"Special Patrol Group"|"August, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Tamworth, United Kingdom"|"Running Ball"|"Running Ball"|"Cucumber"
+"1373"|"Mysz"|"July, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Monclova, Mexico"|"a small wheel"|"a small wheel"|"Apples, cucumbers, peaches"
+"1374"|"Cinnamon"|"August, 2007"|"Hamster (Syrian)"|"Calico"|"Female"|"March, 2007"|"59 months"|"Neptune, NJ United States"|"Hamster Ball"|"Hamster Ball"|"Fresh veggies"
+"1375"|"Truffle (4.30.09)"|"May, 2007"|"Hamster (Unknown)"|"Black"|"Male"|"March, 2007"|"Gone to Hamster Heaven"|"Urbana, IL United States"|"His loop-de-loop and toilet paper tubes"|"His loop-de-loop and toilet paper tubes"|"sunflower seeds and berry flavored yogurt treat drops"
+"1376"|"Whisper"|"June, 2007"|"Hamster (Syrian)"|"Black"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Warren, PA United States"|"Her tube"|"Her tube"|"cheez-it crackers"
+"1377"|"Milkshake"|"June, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Southampton, United Kingdom"|"His Hammy ball and wheel"|"His Hammy ball and wheel"|"Nuts and dryed bananas"
+"1378"|"taco"|"March, 2007"|"Hamster (Syrian)"|"Brown"|"Male"|"August, 2006"|"66 months"|"Rotherham, United Kingdom"|"Wooden football"|"Wooden football"|"peanuts"
+"1379"|"Jitters"|"September, 2006"|"Hamster (Common)"|"Black Banded"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Toronto, ON Canada"|"Toronto, ON Canada"|"Cereal"
+"1380"|"Hugs"|"July, 2008"|"Gerbil (Mongolian)"|"Slate"|"Female"|"November, 2007"|"51 months"|"Albuquerque, NM United States"|"Her yellow metal wheel"|"Her yellow metal wheel"|"Popcorn"
+"1381"|"Philly "Cheesesteak" Pusater"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Merced, CA United States"|"his hamster wheel, of course"|"his hamster wheel, of course"|"raisins"
+"1382"|"pumpkin"|"February, 2007"|"Hamster (Unknown)"|"Grey"|"Female"|"September, 2007"|"53 months"|"Georgetown, OH United States"|"chew toy lettus"|"chew toy lettus"|"seeds"
+"1383"|"Hamburger"|"July, 2006"|"Hamster (Unknown)"|"Beige"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"BROOKLYN, NY United States"|"WHEEL"|"WHEEL"|"CARROTS"
+"1384"|"Boo"|"June, 2006"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Chew sticks"|"Chew sticks"|"Crackers"
+"1385"|"Caramel"|"October, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"May, 2008"|"45 months"|"San Diego, CA United States"|"Cage"|"Cage"|"Grains"
+"1386"|"Chocolate"|"June, 2006"|"Hamster (Teddy Bear)"|"Chocolate"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"MFEMFEM, United States"|"none"|"none"|"grass"
+"1387"|"Rufus"|"April, 2004"|"Hamster (Unknown)"|"Golden"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Memphis, TN United States"|"wheel!"|"wheel!"|"bird seed"
+"1388"|"Smacko"|"March, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Ashby, MA United States"|"hamster house"|"hamster house"|"crackers"
+"1389"|"Olive"|"March, 2005"|"Hamster (Dwarf)"|"Albino"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Windsor, CT United States"|"Toy Shoe"|"Toy Shoe"|"Sunflower seeds"
+"1390"|"Shao Wei"|"June, 2006"|"Hamster (Siberian)"|"White"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Indianapolis, IN United States"|"Wheel"|"Wheel"|"corn pieces"
+"1391"|"Coco"|"June, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"My wheel"|"My wheel"|"My wheel"
+"1392"|"Sora"|"June, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"|"Tokyo, Japan"
+"1393"|"Kiwi Fuzz Nuts"|"May, 2006"|"Hamster (Teddy Bear)"|"Mottled"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Morgantown, WV United States"|"plastic house"|"plastic house"|"baby Spinach leaves"
+"1394"|"Twiggy"|"May, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Morgantown, WV United States"|"wheel"|"wheel"|"Fruit Yogies"
+"1395"|"Poof"|"January, 2006"|"Hamster (Teddy Bear)"|"Yellow"|"Female"|"January, 1999"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"wire cage"|"wire cage"|"sunflower seeds!"
+"1396"|"Gus-Gus"|"November, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"College Station, TX United States"|"The bars of his cage"|"The bars of his cage"|"sunflower seeds, strawberries"
+"1397"|"CoCo Kawaii"|"October, 2006"|"Hamster (Teddy Bear)"|"Chocolate"|"Male"|"September, 2006"|"65 months"|"Dallas, TX United States"|"Anna's barbie car"|"Anna's barbie car"|"sunflower seeds"
+"1398"|"Benjamin"|"July, 2006"|"Hamster (Syrian)"|"Black Banded"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Rockville, MD United States"|"Big Wheel"|"Big Wheel"|"Mixed Greens Salad"
+"1399"|"Batty"|"January, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"1400"|"Hemi"|"January, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"1401"|"Bon-Bon"|"January, 2009"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"January, 2008"|"Gone to Hamster Heaven"|"Yorba Linda, CA United States"|"Her bell, and miror."|"Her bell, and miror."|"Carrots"
+"1402"|"Willow"|"July, 2011"|"Hamster (Syrian)"|"Grey"|"Female"|"February, 2010"|"24 months"|"Grantham, United Kingdom"|"Silent spinner"|"Silent spinner"|"Cucumber"
+"1403"|"Izzy"|"July, 2011"|"Hamster (Syrian)"|"Cinnamon"|"Female"|"June, 2010"|"20 months"|"Grantham, United Kingdom"|"Diggy box"|"Diggy box"|"My sandwich"
+"1404"|"Anonemous"|"May, 2005"|"Hamster (Siberian)"|"Grey"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"|"Los Angeles, CA United States"
+"1405"|"Petra"|"August, 2006"|"Hamster (Russian)"|"Blue"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Vienna, VA United States"|"Hamster wheel"|"Hamster wheel"|"Peas, cheddar cheese, scrambled egg, carrots, cucumbers, lettuce, pumpkin seeds, sunflower seeds (the big ones from bags of squirrel food!) and the occasional tiny piece of chicken."
+"1406"|"peanut"|"May, 2004"|"Hamster (Russian)"|"Argente"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Johnstown, PA United States"|"fluffs"|"fluffs"|"yourgurt drops"
+"1407"|"sam"|"February, 2007"|"Hamster (Russian)"|"Fawn"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Madison, WI United States"|"hut"|"hut"|"anything"
+"1408"|"Wendall"|"July, 2006"|"Hamster (Dwarf)"|"Black"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Lincoln, IL United States"|"Wheel"|"Wheel"|"Alfalfa"
+"1409"|"Bibi"|"August, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"water bottle"|"water bottle"|"water bottle"
+"1410"|"Brownie"|"January, 2010"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"January, 2004"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"The wheel!"|"The wheel!"|"Pumpkin Seeds"
+"1411"|"Kira-Kira"|"April, 2008"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"January, 2008"|"Gone to Hamster Heaven"|"Clarksville, IA United States"|"tunnels and wheel"|"tunnels and wheel"|"cooked corn"
+"1412"|"Eenie"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Female"|"August, 2001"|"Gone to Hamster Heaven"|"Troy, NY United States"|"wheel"|"wheel"|"sunflower seeds"
+"1413"|"Gaz"|"April, 2004"|"Hamster (Dwarf)"|"Black"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Marquette, MI United States"|"the green tube, and my house."|"the green tube, and my house."|"the green tube, and my house."
+"1414"|"Carissa"|"August, 2008"|"Hamster (Dwarf)"|"Honey"|"Female"|"July, 2008"|"43 months"|"Plymouth, MA United States"|"toy igloo"|"toy igloo"|"hazel hamster food"
+"1415"|"Athena"|"April, 2004"|"Hamster (Common)"|"Golden Banded"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Rockland, ME United States"|"Tri-Home"|"Tri-Home"|"Tri-Home"
+"1416"|"Reese"|"October, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Princeton, NJ United States"|"Comfort Wheel"|"Comfort Wheel"|"Sunflower Seeds"
+"1417"|"(the late) Princess Grace"|"April, 2005"|"Gerbil (Mongolian)"|"Black"|"Female"|"November, 2003"|"Gone to Gerbil Heaven"|"Boston, MA United States"|"Food. And Zippy."|"Food. And Zippy."|"Sunflower seeds."
+"1418"|"Pekoe"|"May, 2005"|"Hamster (Russian)"|"Argente"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Stamford, CT United States"|"Plastic Tube"|"Plastic Tube"|"Sunflower seed"
+"1419"|"Viola"|"October, 2005"|"Hamster (Russian)"|"Black"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Victoria, BC Canada"|"sticks."|"sticks."|"cheerios"
+"1420"|"Hammie"|"September, 2006"|"Hamster (Russian)"|"White"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Kuala Lumpur, Malaysia"|"eveything..."|"eveything..."|"kuaci"
+"1421"|"Feifei"|"September, 2006"|"Hamster (Russian)"|"Black"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Alor Star, Malaysia"|"Exercise wheel"|"Exercise wheel"|"He loves everything, except grains!"
+"1422"|"Fluffy"|"September, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Klang, Malaysia"|"The Wheel"|"The Wheel"|"Nuts"
+"1423"|"Tingting"|"September, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Alor Star, Malaysia"|"Wheel"|"Wheel"|"Sunflower seeds"
+"1424"|"gou gou"|"October, 2006"|"Hamster (Unknown)"|"Golden Banded"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Manjung, Malaysia"|"eat"|"eat"|"vegetables"
+"1425"|"Noodles"|"April, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Templeton, MA United States"|"His Wheel"|"His Wheel"|"Sunflower Seeds"
+"1426"|"Penguin"|"March, 2006"|"Hamster (Dwarf)"|"Black"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Greensboro, NC United States"|"the Wheel"|"the Wheel"|"Sunflower Seeds"
+"1427"|"King Kong"|"December, 2005"|"Hamster (Russian)"|"Black Banded"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Greensboro, NC United States"|"any hide-out places"|"any hide-out places"|"sunflower seeds"
+"1428"|"Godzilla"|"December, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Greensboro, NC United States"|"Wheel"|"Wheel"|"anything"
+"1429"|"Smoke"|"February, 2006"|"Hamster (Syrian)"|"Sable"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"London, United Kingdom"|"London, United Kingdom"|"London, United Kingdom"|"hamster food!"
+"1430"|"Hammy Bones"|"December, 2005"|"Hamster (Roborovskii)"|"Golden"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Sacramento, CA United States"|"Green wheel"|"Green wheel"|"Sunflower seeds"
+"1431"|"shirley"|"July, 2005"|"Hamster (Russian)"|"Opal"|"Female"|"August, 2002"|"Gone to Hamster Heaven"|"Lisle, IL United States"|"wheel"|"wheel"|"anything"
+"1432"|"Jasper"|"June, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Springfield, VT United States"|"The wheel"|"The wheel"|"not sure yet"
+"1433"|"Fizzgig"|"June, 2005"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Newark, DE United States"|"his rolly-ball"|"his rolly-ball"|"Yogies! the berry kind"
+"1434"|"Caramel"|"June, 2005"|"Hamster (Common)"|"Golden Banded"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Niagara Falls, ON Canada"|"Log arch"|"Log arch"|"Veggie drops"
+"1435"|"re-run"|"July, 2005"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Lisle, IL United States"|"anything"|"anything"|"everything"
+"1436"|"Poppy"|"July, 2005"|"Hamster (Common)"|"Agouti Yellow"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Oxford, United Kingdom"|"Oxford, United Kingdom"|"Oxford, United Kingdom"|"Banana chips"
+"1437"|"Molly"|"July, 2005"|"Hamster (Common)"|"Agouti Yellow"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Oxford, United Kingdom"|"Anything she can climb."|"Anything she can climb."|"Carrots"
+"1438"|"Soda"|"July, 2005"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Grand Rapids, MI United States"|"Wheel, Run-About Ball"|"Wheel, Run-About Ball"|"Carrots and frozen broccoli"
+"1439"|"Harvey"|"July, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"July, 2004"|"Gone to Hamster Heaven"|"Victorville, CA United States"|"His food bowl."|"His food bowl."|"Rollinis."
+"1440"|"Teddypig"|"July, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Gilford, NH United States"|"hamster ball"|"hamster ball"|"bananas & cherries"
+"1441"|"Minnie"|"July, 2005"|"Hamster (Teddy Bear)"|"Black"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Lakeland, FL United States"|"Hamster Wood Letter Blocks, Hamsteroids, The Wheel and the Potty"|"Hamster Wood Letter Blocks, Hamsteroids, The Wheel and the Potty"|"Ultra Vite MultiVitamin Hamster Vitamins (Strange ham)"
+"1442"|"Bolita"|"August, 2005"|"Hamster (Dwarf)"|"Black"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Villahermosa, Tabasco, Mexico"|"su rueda de ejercicio y cualquier otra cosa que se le ponga enfrente, jeje..."|"su rueda de ejercicio y cualquier otra cosa que se le ponga enfrente, jeje..."|"comida comprimida, es tan sana ella..... ¬¬"
+"1443"|"Chanel"|"October, 2005"|"Hamster (Dwarf)"|"Black"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Lakeland, FL United States"|"Cardboard Roll"|"Cardboard Roll"|"Cereal Flakes & Blueberry yogurt drops"
+"1444"|"Mr. Fizbin Fuzzbutt"|"October, 2005"|"Hamster (Syrian)"|"Grey"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Cortland, NY United States"|"Empty tissue box"|"Empty tissue box"|"Strawberry yogurts"
+"1445"|"Gidget"|"September, 2005"|"Hamster (Dwarf)"|"Agouti"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Durham, NC United States"|"Her Wheel"|"Her Wheel"|"Lo mein, beef brisket, and donut holes."
+"1446"|"Vanilla"|"November, 2005"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"September, 2000"|"Gone to Hamster Heaven"|"Worthing, United Kingdom"|"Wheel"|"Wheel"|"Chewie sticks"
+"1447"|"Humpty"|"October, 2005"|"Hamster (Roborovskii)"|"Grey"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Kuala Lumpur, Malaysia"|"Wheel"|"Wheel"|"Sunflower Seed"
+"1448"|"Gnocchi"|"October, 2005"|"Hamster (Unknown)"|"Chocolate"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Madrid, Spain"|"a ball"|"a ball"|"cheese"
+"1449"|"Susy"|"February, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Lima, Peru"|"her wheel"|"her wheel"|"grains, carrots"
+"1450"|"Tomi"|"March, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"New York, NY United States"|"Tomi liked running on her wheel and climbing on the bars of her cage."|"Tomi liked running on her wheel and climbing on the bars of her cage."|"Kale."
+"1451"|"isabell"|"May, 2006"|"Hamster (Syrian)"|"Golden"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Jember, Indonesia"|"wheel"|"wheel"|"carrot, corn, biscuit"
+"1452"|"Boris"|"May, 2007"|"Hamster (Russian)"|"Silver"|"Male"|"April, 2007"|"58 months"|"Taubaté, Brazil"|"toilet paper"|"toilet paper"|"Lana's cheese"
+"1453"|"Svetlana"|"May, 2007"|"Hamster (Russian)"|"Silver"|"Female"|"April, 2007"|"58 months"|"Taubaté, Brazil"|"cage bars"|"cage bars"|"cheese"
+"1454"|"Checkers"|"July, 2007"|"Hamster (Teddy Bear)"|"Calico"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Sebastain, FL United States"|"Wheel"|"Wheel"|"Apples"
+"1455"|"Valentine"|"June, 2006"|"Hamster (Syrian)"|"Brown"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Hamster ball"|"Hamster ball"|"Broccoli and yogurt drops"
+"1456"|"Keiba"|"June, 2006"|"Hamster (Syrian)"|"Agouti"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"Medina, OH United States"|"Cage bars"|"Cage bars"|"Chicken"
+"1457"|"Boo"|"June, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"April, 2003"|"Gone to Hamster Heaven"|"Medina, OH United States"|"Duck Tape slide"|"Duck Tape slide"|"sun flhttp://www.flickr.com/people/28011970@N00/ower seeds"
+"1458"|"Oreo"|"May, 2006"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Coral Springs, FL United States"|"exercise ball"|"exercise ball"|"lettuce"
+"1459"|"Pumpkin"|"November, 2007"|"Hamster (Dwarf)"|"Grey"|"Female"|"May, 2007"|"57 months"|"Coral Springs, FL United States"|"the bars of the play pen"|"the bars of the play pen"|"seeds"
+"1460"|"Hades"|"September, 2006"|"Hamster (Syrian)"|"White"|"Male"|"August, 2006"|"Gone to Hamster Heaven"|"Banja Luka, Bosnia and Herzegovina"|"Toilet paper roll"|"Toilet paper roll"|"Apples"
+"1461"|"Dragos"|"August, 2007"|"Hamster (Russian)"|"Dove"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"
+"1462"|"Flitzi"|"July, 2006"|"Hamster (Roborovskii)"|"Fawn"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Palaiseau, France"|"Spritzi"|"Spritzi"|"Apple"
+"1463"|"Skuzzball"|"September, 2006"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"The wheel"|"The wheel"|"Broccoli"
+"1464"|"Sammy"|"February, 2005"|"Hamster (Dwarf)"|"Mottled"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Windsor, CT United States"|"toy boot"|"toy boot"|"cream cheese"
+"1465"|"D'Artagnan"|"October, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"January, 2001"|"Gone to Hamster Heaven"|"Morrisville, NC United States"|"Munchie Sticks"|"Munchie Sticks"|"Honey Drops!"
+"1466"|"Chino"|"September, 2007"|"Hamster (Syrian)"|"Cream"|"Male"|"May, 2007"|"57 months"|"......, United Kingdom"|"Hamster wheel"|"Hamster wheel"|"Hamster sticks"
+"1467"|"Kasey"|"February, 2006"|"Hamster (Syrian)"|"Cinnamon"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Franklin, PA United States"|"his penthouse"|"his penthouse"|"yogurt nibblers"
+"1468"|"James"|"June, 2005"|"Hamster (Syrian)"|"Agouti"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"paper towel tubes"|"paper towel tubes"|"stale bread"
+"1469"|"Boris"|"January, 2006"|"Gerbil (Mongolian)"|"Brown"|"Male"|"July, 2005"|"Gone to Gerbil Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"1470"|"Herb I. Vore"|"July, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"chewsticks"|"chewsticks"|"cabbage, carrots and raisins"
+"1471"|"Carmel"|"June, 2007"|"Gerbil (Unknown)"|"Golden"|"Female"|"May, 2005"|"Gone to Gerbil Heaven"|"Toledo, OH United States"|"Toledo, OH United States"|"Toledo, OH United States"|"seeds.honey nut cheerio"
+"1472"|"Blackie"|"June, 2007"|"Gerbil (Mongolian)"|"Black"|"Female"|"July, 2005"|"Gone to Gerbil Heaven"|"Toledo, OH United States"|"tube"|"tube"|"seeds"
+"1473"|"Echo"|"January, 2006"|"Gerbil (Mongolian)"|"Black"|"Female"|"April, 2005"|"Gone to Gerbil Heaven"|"Cincinnati, OH United States"|"anything she is not supposed to have"|"anything she is not supposed to have"|"cheerios"
+"1474"|"Lucy"|"December, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Lima, Peru"|"her own cage"|"her own cage"|"carrots"
+"1475"|"chickpea"|"February, 2005"|"Hamster (Chinese)"|"Grey"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Oklahoma City, OK United States"|"wheel and red plastic car."|"wheel and red plastic car."|"sunflower seeds."
+"1476"|"herbie and bom"|"January, 2009"|"Hamster (Unknown)"|"Cinnamon Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Melaka Town, Malaysia"|"wheel and hamster ball"|"wheel and hamster ball"|"sunflower seed"
+"1477"|"Bean"|"June, 2009"|"Hamster (Siberian)"|"Sapphire"|"Male"|"May, 2009"|"33 months"|"Ohio, OH United States"|"carrot wooden chew toy"|"carrot wooden chew toy"|"yogurt drops"
+"1478"|"linold"|"August, 2009"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"August, 2009"|"30 months"|"Buffalo, NY United States"|"the wheel"|"the wheel"|"sunflower seeds"
+"1479"|"kuma"|"February, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Oklahoma City, OK United States"|"toilet paper rolls."|"toilet paper rolls."|"strawberry yogurt drops."
+"1480"|"emma"|"August, 2006"|"Hamster (Unknown)"|"White"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"Vancouver, WA United States"|"Her wheel"|"Her wheel"|"Corn an seeds"
+"1481"|"Milo"|"September, 2005"|"Hamster (Dwarf)"|"Calico"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Okc, OK United States"|"ball"|"ball"|"corn"
+"1482"|"Paddy"|"August, 2006"|"Hamster (Syrian)"|"Grey"|"Male"|"December, 2002"|"Gone to Hamster Heaven"|"Sunderland, United Kingdom"|"Wooden hut"|"Wooden hut"|"Nuts & sunflower seeds"
+"1483"|"Ava"|"April, 2009"|"Hamster (Teddy Bear)"|"Black"|"Female"|"November, 2008"|"39 months"|"Johnsoncity, NY United States"|"wooden carrot"|"wooden carrot"|"yogurt balls"
+"1484"|"Kiki"|"April, 2006"|"Hamster (Syrian)"|"White"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Hanover, ON Canada"|"ball"|"ball"|"carrots"
+"1485"|"Iggy Maxwell"|"January, 2007"|"Hamster (Syrian)"|"Black"|"Female"|"February, 2006"|"Gone to Hamster Heaven"|"Portland, CT United States"|"n/a"|"n/a"|"romaine lettuce, carrots, walnuts"
+"1486"|"Tolstoy"|"March, 2007"|"Hamster (Russian)"|"Albino"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Charlotte, NC United States"|"Wheel, nibble sticks"|"Wheel, nibble sticks"|"Sunflower seeds"
+"1487"|"Macchiato"|"March, 2007"|"Hamster (Russian)"|"Argente"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Charlotte, NC United States"|"Wooden chews, nibblestix, toilet paper tubes"|"Wooden chews, nibblestix, toilet paper tubes"|"Everything. He empties his dish quickly and hides it from me."
+"1488"|"Loki"|"March, 2007"|"Hamster (Russian)"|"Albino"|"Male"|"February, 2007"|"60 months"|"Charlotte, NC United States"|"My fingers, toilet paper tubes, wooden chew sticks, his wheel"|"My fingers, toilet paper tubes, wooden chew sticks, his wheel"|"Human flesh, Block, Sunflower seeds"
+"1489"|"Abby"|"June, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2007"|"60 months"|"Warren, PA United States"|"This tube I got for her"|"This tube I got for her"|"Hartz Bonanza blend"
+"1490"|"Danny"|"July, 2004"|"Hamster (Unknown)"|"White"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"Istanbul, Turkey"|"he has eaten 3 of her hauses so far and destroyed 2 rolling :)"|"he has eaten 3 of her hauses so far and destroyed 2 rolling :)"|"water-melon"
+"1491"|"Michael Moore"|"May, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Portland, CT United States"|"ball"|"ball"|"popcorn!"
+"1492"|"Butter Cup"|"July, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"June, 2007"|"56 months"|"California City, CA United States"|"California City, CA United States"|"California City, CA United States"|"mixed hamster food"
+"1493"|"Coco Butter"|"July, 2007"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"June, 2007"|"Gone to Hamster Heaven"|"California City, CA United States"|"California City, CA United States"|"California City, CA United States"|"Carrots, pet grass, and the mixed hamster food(it's better than the alfa pellets we got at Petsmart)"
+"1494"|"Sunshine"|"July, 2007"|"Hamster (Syrian)"|"White"|"Male"|"June, 2007"|"Gone to Hamster Heaven"|"California City, CA United States"|"California City, CA United States"|"California City, CA United States"|"Pet grass and mixed hamster food"
+"1495"|"Snowball"|"October, 2010"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"West Branch, MI United States"|"Wood Block"|"Wood Block"|"Hamster Harvest"
+"1496"|"Markku Uula Aleski Laiho"|"October, 2010"|"Hamster (Unknown)"|"Black"|"Male"|"December, 2010"|"14 months"|"West Branch, MI United States"|"Dont Know Yet"|"Dont Know Yet"|"Dont Know Yet"
+"1497"|"Roo"|"February, 2009"|"Hamster (Teddy Bear)"|"Black"|"Male"|"December, 2008"|"38 months"|"Clarksville, IA United States"|"Tunnels"|"Tunnels"|"cashews"
+"1498"|"Shnuffy"|"July, 2007"|"Hamster (Shaws Jird)"|"Lilac"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Flint, MI United States"|"Chew tube"|"Chew tube"|"Romaine lettuce, tomatoes"
+"1499"|"Hammy Heit"|"July, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Ottawa, ON Canada"|"Hamster Hut"|"Hamster Hut"|"Sun flower seeds"
+"1500"|"Twinkie the Hamster"|"July, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Wheel, and hanging play pen"|"Wheel, and hanging play pen"|"Eggs, yogurt, cereal, pasta, cheese, oatmeal, crackers, veggies, fruit, cake,"
+"1501"|"Simon"|"March, 2005"|"Hamster (Dwarf)"|"Agouti"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Windsor, CT United States"|"Wheel"|"Wheel"|"Wheel"
+"1502"|"Tak"|"April, 2004"|"Hamster (Dwarf)"|"Platinum"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Marquette, MI United States"|"my comfort wheel!"|"my comfort wheel!"|"my comfort wheel!"
+"1503"|"Zoot"|"April, 2005"|"Hamster (Syrian)"|"Grey"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Winston Salem, NC United States"|"Wheel"|"Wheel"|"Yogurt drops"
+"1504"|"Berry"|"September, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"November, 2006"|"63 months"|"Poole, United Kingdom"|"Poster tubes"|"Poster tubes"|"Monkey nuts"
+"1505"|"Sneaky Jackey"|"January, 2010"|"Hamster (Dwarf)"|"Golden"|"Female"|"December, 2009"|"26 months"|"Manila, Philippines"|"Manila, Philippines"|"Manila, Philippines"|"chicken"
+"1506"|"Smidget"|"July, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"Toilet paper tubes"|"Toilet paper tubes"|"Vitacraft Crispi Waffles"
+"1507"|"bebo"|"November, 2009"|"Hamster (Syrian)"|"Brown"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"London, United Kingdom"|"squeky hedgehogx"|"squeky hedgehogx"|"sunflower seeds"
+"1508"|"Bright Star"|"May, 2005"|"Hamster (Syrian)"|"Sable"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Springfield, VT United States"|"Plastic tubing and hamster castle"|"Plastic tubing and hamster castle"|"Plastic tubing and hamster castle"
+"1509"|"Lori"|"October, 2008"|"Hamster (Russian)"|"Brown"|"Female"|"July, 2007"|"55 months"|"Vilas, NC United States"|"Small ball"|"Small ball"|"sunflower seeds with shell"
+"1510"|"Val"|"October, 2008"|"Hamster (Russian)"|"Cream"|"Male"|"January, 2008"|"Gone to Hamster Heaven"|"Vilas, NC United States"|"Nothing - too lazy to play"|"Nothing - too lazy to play"|"sunflower seeds with shell"
+"1511"|"Zoe(Rainbow Bridge)"|"November, 2008"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"wooden block"|"wooden block"|"Lettuce"
+"1512"|"Moris"|"December, 2008"|"Hamster (Syrian)"|"White"|"Male"|"November, 2008"|"39 months"|"Pula, Croatia"|"Pula, Croatia"|"Pula, Croatia"|"Pula, Croatia"
+"1513"|"Doodlebug"|"January, 2008"|"Hamster (Unknown)"|"Cream"|"Female"|"January, 2008"|"49 months"|"Atlanta, GA United States"|"toy monkey"|"toy monkey"|"anything"
+"1514"|"Salt"|"August, 2007"|"Hamster (Siberian)"|"Pearl"|"Male"|"May, 2007"|"57 months"|"Neptune, NJ United States"|"Anything he can climb on"|"Anything he can climb on"|"Sunflower seeds"
+"1515"|"Pepper"|"August, 2007"|"Hamster (Siberian)"|"Sapphire"|"Male"|"May, 2007"|"57 months"|"Neptune, NJ United States"|"Wheel"|"Wheel"|"Everything"
+"1516"|"Jet"|"August, 2007"|"Hamster (Russian)"|"Black"|"Male"|"August, 2007"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"|"Ipoh, Malaysia"
+"1517"|"KOKO"|"April, 2009"|"Hamster (Dwarf)"|"White"|"Female"|"August, 2008"|"42 months"|"OSAKA, Japan"|"Cage"|"Cage"|"Cookies for hamsters"
+"1518"|"Cosmo"|"July, 2006"|"Hamster (Syrian)"|"Cream"|"Male"|"April, 2003"|"Gone to Hamster Heaven"|"Annapolis, MD United States"|"His ball, so he could explore the house and tease the cat."|"His ball, so he could explore the house and tease the cat."|"Yogurt drops!"
+"1519"|"Rosie"|"August, 2004"|"Hamster (Common)"|"Golden"|"Female"|"May, 2002"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Toy? She'd rather be sleeping!"|"Toy? She'd rather be sleeping!"|"Carrots"
+"1520"|"Ruby Tuesday"|"November, 2006"|"Gerbil (Mongolian)"|"Lilac"|"Female"|"November, 2003"|"Gone to Gerbil Heaven"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"
+"1521"|"Merlin"|"March, 2005"|"Hamster (Dwarf)"|"White"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Columbus, OH United States"|"red plastic boot"|"red plastic boot"|"sunflower seeds!"
+"1522"|"Bernard"|"September, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Tallahassee, FL United States"|"Corn on the cob and his wheel."|"Corn on the cob and his wheel."|"sunflower seeds and lettuce"
+"1523"|"Jiggy J"|"February, 2012"|"Hamster (Common)"|"Orange"|"Male"|"April, 2007"|"58 months"|"Traverse Town, NY United States"|"His tail"|"His tail"|"Other hamsters"
+"1524"|"Lopez"|"February, 2012"|"Hamster (Unknown)"|"Golden"|"Male"|"August, 2011"|"6 months"|"Buffalo, NY United States"|"The Cat"|"The Cat"|"His owner's fingers"
+"1525"|"Amuchina"|"January, 2011"|"Hamster (Unknown)"|"Black Banded"|"Female"|"November, 2010"|"15 months"|"Monselice, Italy"|"Ruota"|"Ruota"|"formaggio"
+"1526"|"Celery"|"January, 2011"|"Hamster (Syrian)"|"Cream"|"Male"|"October, 2010"|"16 months"|"Bolton, ON Canada"|"wheel"|"wheel"|"celery and lettuce"
+"1527"|"Pablo Omnivora"|"January, 2011"|"Hamster (Russian)"|"Agouti"|"Male"|"May, 2010"|"21 months"|"Jogjakarta, Indonesia"|"Jogjakarta, Indonesia"|"Jogjakarta, Indonesia"|"sprouds and meal worm"
+"1528"|"Joe"|"November, 2008"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"July, 2008"|"43 months"|"Ammon, ID United States"|"The bars on his cage"|"The bars on his cage"|"whatever is in his bowl"
+"1529"|"Squirmy"|"September, 2006"|"Hamster (Teddy Bear)"|"Agouti Yellow"|"Male"|"June, 1993"|"Gone to Hamster Heaven"|"CIncinnati, OH United States"|"Cuddles"|"Cuddles"|"Lovin'"
+"1530"|"Elianna"|"June, 2006"|"Gerbil (Unknown)"|"Black"|"Female"|"April, 2005"|"Gone to Gerbil Heaven"|"Raleigh, NC United States"|"Cardboard tubes"|"Cardboard tubes"|"Normal gerbil food (none of my girls want their yogurt drops!)"
+"1531"|"Dreamy"|"February, 2005"|"Hamster (Dwarf)"|"Blue Fawn"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Cybercage Potty!!???"|"Cybercage Potty!!???"|"Everything!!!!"
+"1532"|"Elliott"|"March, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"His Frog"|"His Frog"|"Lettuce"
+"1533"|"Ebony"|"March, 2005"|"Hamster (Syrian)"|"Black"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Springfield, VT United States"|"White and purple mounted wheel"|"White and purple mounted wheel"|"Yogurt Treats"
+"1534"|"ciKi cIkI"|"July, 2005"|"Hamster (Unknown)"|"Chocolate"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Surabaya, Indonesia"|"Surabaya, Indonesia"|"Surabaya, Indonesia"|"kwaci"
+"1535"|"Gilbert"|"June, 2006"|"Hamster (Syrian)"|"Golden"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Harrisburg, IL United States"|"Ball"|"Ball"|"Apples"
+"1536"|"No-Name"|"May, 2005"|"Hamster (Russian)"|"Agouti"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Howard Beach, NY United States"|"Fruit Flavored Chew bars."|"Fruit Flavored Chew bars."|"Sunflower Seeds"
+"1537"|"Willy Buttons"|"January, 2006"|"Hamster (Teddy Bear)"|"Blonde"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Springfield, OR United States"|"Wheel"|"Wheel"|"Peanuts, Carrots."
+"1538"|"Ace"|"December, 2007"|"Hamster (Unknown)"|"Black Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Dundee, United Kingdom"|"The bars of his cage!"|"The bars of his cage!"|"Apples!"
+"1539"|"Porkchop"|"September, 2008"|"Hamster (Teddy Bear)"|"Agouti"|"Female"|"May, 2007"|"Gone to Hamster Heaven"|"Glens Falls, NY United States"|"sticks"|"sticks"|"yogurt drops"
+"1540"|"Cecil"|"April, 2004"|"Hamster (Russian)"|"Brown"|"Male"|"October, 2003"|"Gone to Hamster Heaven"|"Clifton, NJ United States"|"Hamster hutch, wood pegs"|"Hamster hutch, wood pegs"|"sunflower seeds"
+"1541"|"Dixiebell"|"October, 2008"|"Hamster (Russian)"|"Grey"|"Female"|"December, 2007"|"50 months"|"Singapore, Singapore"|"pigster"|"pigster"|"sunflower seeds"
+"1542"|"Bruiser"|"September, 2004"|"Hamster (Syrian)"|"Cream"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Manchester, United Kingdom"|"Manchester, United Kingdom"|"Manchester, United Kingdom"|"Manchester, United Kingdom"
+"1543"|"Dumpty"|"October, 2005"|"Hamster (Roborovskii)"|"Grey"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Kuala Lumpur, Malaysia"|"Wheel"|"Wheel"|"Sunflower Seed"
+"1544"|"Juwellen"|"December, 2007"|"Hamster (Dwarf)"|"White"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Spore, Singapore"|"Spore, Singapore"|"Spore, Singapore"|"Seeds!"
+"1545"|"Dylan"|"April, 2004"|"Hamster (Syrian)"|"Golden"|"Female"|"May, 2003"|"Gone to Hamster Heaven"|"Fort Myers, FL United States"|"random toilet paper rolls"|"random toilet paper rolls"|"random toilet paper rolls"
+"1546"|"Mr. Bo Jangles"|"May, 2004"|"Hamster (Syrian)"|"Honey"|"Male"|"September, 2002"|"Gone to Hamster Heaven"|"St. Louis, MO United States"|"wheel"|"wheel"|"wheel"
+"1547"|"Johnny"|"September, 2006"|"Hamster (Syrian)"|"Grey"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Exercise ball"|"Exercise ball"|"Baked pumpkin mush"
+"1548"|"Pelucón"|"October, 2005"|"Hamster (Syrian)"|"Agouti"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Buenos Aires, Argentina"|"tunnels"|"tunnels"|"bread"
+"1549"|"Molly"|"August, 2004"|"Hamster (Syrian)"|"Black"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Clifton, NJ United States"|"Her slide"|"Her slide"|"Yogurt Soynut Surprise"
+"1550"|"Lucifer"|"October, 2005"|"Hamster (Dwarf)"|"White"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Bakersfield, CA United States"|"Chew sticks, cotton bedding, and toothbrushes"|"Chew sticks, cotton bedding, and toothbrushes"|"Sunflower seeds!"
+"1551"|"Patrick McSquishy"|"January, 2008"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"October, 2007"|"52 months"|"New Westminster, BC Canada"|"His Wheel"|"His Wheel"|"apples"
+"1552"|"Choco"|"October, 2007"|"Hamster (Dwarf)"|"Black"|"Male"|"September, 2007"|"53 months"|"Las Pinas City, Philippines"|"Toilet Paper Tubes"|"Toilet Paper Tubes"|"Cereals and Popcorn"
+"1553"|"Cinnamon"|"October, 2007"|"Hamster (Dwarf)"|"Argente"|"Female"|"September, 2007"|"53 months"|"Las Pinas City, Philippines"|"She loves her plastic wheels and playing with some shredded tissue paper"|"She loves her plastic wheels and playing with some shredded tissue paper"|"Bread soaked in milk"
+"1554"|"Cookie"|"October, 2007"|"Hamster (Dwarf)"|"Dove"|"Female"|"September, 2007"|"53 months"|"Las Pinas City, Philippines"|"She loves to chew dog biscuits and also some of her toys"|"She loves to chew dog biscuits and also some of her toys"|"Oats and Cereals"
+"1555"|"Shadow"|"July, 2006"|"Hamster (Unknown)"|"Black"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Whitman, MA United States"|"hamster ball"|"hamster ball"|"banana chips"
+"1556"|"Oreol"|"March, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Iowa City, IA United States"|"Silent Spinner Wheel"|"Silent Spinner Wheel"|"Carrot"
+"1557"|"Fry"|"August, 2008"|"Hamster (Syrian)"|"Honey"|"Male"|"September, 2007"|"Gone to Hamster Heaven"|"Little Rock, AR United States"|"see-saw"|"see-saw"|"He tried new things all the time!"
+"1558"|"Ultra Peepi"|"July, 2005"|"Hamster (Common)"|"Agouti Yellow"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Wilmington, DE United States"|"People"|"People"|"Faces"
+"1559"|"Hector"|"January, 2007"|"Hamster (Unknown)"|"White"|"Male"|"November, 2006"|"63 months"|"Davao City, Philippines"|"exercising wheel"|"exercising wheel"|"carrots"
+"1560"|"Merry-san"|"July, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"OSAKA, Japan"|"OSAKA, Japan"|"OSAKA, Japan"|"cucumber"
+"1561"|"‚j‚h‚j‚h"|"August, 2008"|"Hamster (Dwarf)"|"Grey"|"Female"|"October, 2007"|"Gone to Hamster Heaven"|"OSAKA, Japan"|"OSAKA, Japan"|"OSAKA, Japan"|"OSAKA, Japan"
+"1562"|"Koko"|"January, 2011"|"Hamster (Russian)"|"Argente"|"Female"|"December, 2010"|"14 months"|"Richmond, KY United States"|"Her house"|"Her house"|"Romaine lettuce"
+"1563"|"choco"|"August, 2008"|"Hamster (Dwarf)"|"Brown"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"OSAKA, Japan"|"Tree"|"Tree"|"Cucumber"
+"1564"|"Darla"|"July, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"Brooklyn, NY United States"|"Human beings- they always freak out when I leap blindly from their hands. But that's silly- I always land square in their hands again. Smooth as a small puffy-cheeked cat."|"Human beings- they always freak out when I leap blindly from their hands. But that's silly- I always land square in their hands again. Smooth as a small puffy-cheeked cat."|"Lima beans"
+"1565"|"Henrietta"|"June, 2006"|"Hamster (Teddy Bear)"|"Nutmeg"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Standish, ME United States"|"exercise ball"|"exercise ball"|"eggs, banana chips"
+"1566"|"Babe"|"April, 2004"|"Hamster (Dwarf)"|"Agouti"|"Male"|"March, 2002"|"Gone to Hamster Heaven"|"Troy, NY United States"|"wheel"|"wheel"|"popcorn"
+"1567"|"Sasha"|"March, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Port Orange, FL United States"|"Wheel"|"Wheel"|"Yogurt Drops"
+"1568"|"Ashley"|"May, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Springfield, VT United States"|"Wheel"|"Wheel"|"Raisins"
+"1569"|"Noella"|"February, 2005"|"Hamster (Syrian)"|"Grey"|"Female"|"May, 2004"|"Gone to Hamster Heaven"|"D, NS Canada"|"Her ball"|"Her ball"|"Yogurt treats"
+"1570"|"Dali"|"July, 2006"|"Hamster (Teddy Bear)"|"Beige"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Claremont, CA United States"|"the wheel"|"the wheel"|"strawberry yogurt chews"
+"1571"|"Peach"|"October, 2007"|"Hamster (Syrian)"|"Cream"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Wired Cage, plastic food bowl"|"Wired Cage, plastic food bowl"|"sunflower seeds, pears, fuji apples"
+"1572"|"Pipay"|"October, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Food mill, ceramic bowl, mineral stone"|"Food mill, ceramic bowl, mineral stone"|"anything! =)"
+"1573"|"Monggo"|"October, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Wheel, mini house,"|"Wheel, mini house,"|"pears, apples, sunflower seeds"
+"1574"|"Bugoy"|"July, 2008"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"September, 2007"|"53 months"|"Manila, Philippines"|"carton box"|"carton box"|"boiled rice, white meat, skyflakes"
+"1575"|"Tikboy"|"July, 2008"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"September, 2007"|"53 months"|"Manila, Philippines"|"Noah"|"Noah"|"anything including Noah's balls"
+"1576"|"Deanna"|"June, 2007"|"Hamster (Syrian)"|"Black Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Warren, PA United States"|"her water bottle, she loved climbing on it!"|"her water bottle, she loved climbing on it!"|"Yogurt drops"
+"1577"|"Willow"|"June, 2007"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Warren, PA United States"|"these nibble sticks. She loves them"|"these nibble sticks. She loves them"|"yogurt drops!!"
+"1578"|"Junior"|"July, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Sum Plac In, NY United States"|"I love to go in my TV and lil house! And unlike my cousins, I don't chew on it."|"I love to go in my TV and lil house! And unlike my cousins, I don't chew on it."|"Boiled eggs are good"
+"1579"|"Tator-Tot"|"January, 2009"|"Hamster (Syrian)"|"Albino"|"Male"|"July, 2008"|"43 months"|"Southern Ontario, ON Canada"|"Wheel"|"Wheel"|"Tofu"
+"1580"|"Ruby"|"July, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Troy, VA United States"|"cage bars"|"cage bars"|"pumpkin seeds"
+"1581"|"Lilian"|"January, 2005"|"Hamster (Russian)"|"Agouti"|"Female"|"October, 2004"|"Gone to Hamster Heaven"|"Reno, NV United States"|"The wheel"|"The wheel"|"Hamster food?"
+"1582"|"Mathilda"|"July, 2006"|"Hamster (Dwarf)"|"Beige"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"New York, NY United States"|"the table"|"the table"|"my sofa"
+"1583"|"Angel"|"March, 2008"|"Hamster (Syrian)"|"Chocolate"|"Female"|"October, 2007"|"52 months"|"Thunder Bay, ON Canada"|"Chew Stick"|"Chew Stick"|"Popcorn"
+"1584"|"Victor Hugo"|"January, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Cypress, CA United States"|"Toilet paper roll"|"Toilet paper roll"|"Honey treats"
+"1585"|"Gingerspot"|"July, 2008"|"Gerbil (Mongolian)"|"Fawn"|"Female"|"October, 2005"|"Gone to Gerbil Heaven"|"Albuquerque, NM United States"|"Either of her wooden houses"|"Either of her wooden houses"|"Avocado, Sunflower Seeds"
+"1586"|"Buddy"|"June, 2005"|"Hamster (Roborovskii)"|"Grey"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"The Wheel"|"The Wheel"|"Meal Worms"
+"1587"|"Rupert"|"July, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Orlando, FL United States"|"His large estate and hideaway..."|"His large estate and hideaway..."|"Sunflower Seeds"
+"1588"|"Snicker"|"October, 2006"|"Hamster (Syrian)"|"Black"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Hingergonbobson, DC United States"|"Wheel"|"Wheel"|"Dried Carrots"
+"1589"|"Hamlet"|"May, 2004"|"Hamster (Syrian)"|"Golden"|"Male"|"December, 2003"|"Gone to Hamster Heaven"|"Hawthorne, CA United States"|"The super noisy wheel"|"The super noisy wheel"|"The super noisy wheel"
+"1590"|"Geordie"|"May, 2004"|"Hamster (Syrian)"|"Agouti"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Cortland, NY United States"|"Petting station lid"|"Petting station lid"|"Biscuits"
+"1591"|"Hammie"|"August, 2007"|"Hamster (Russian)"|"Albino"|"Male"|"August, 2003"|"Gone to Hamster Heaven"|"Ipoh, Malaysia"|"ball"|"ball"|"sunflower seeds"
+"1592"|"Cuddles Jr."|"September, 2006"|"Hamster (Unknown)"|"Black"|"Male"|"June, 2004"|"Gone to Hamster Heaven"|"Lafayette, CA United States"|"yogies"|"yogies"|"carrots"
+"1593"|"beeth keef"|"November, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Kuala Lumpur, Malaysia"|"hamster wheel"|"hamster wheel"|"baby lizards"
+"1594"|"footy and zeeky"|"November, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"October, 2006"|"64 months"|"Kuala Lumpur, Malaysia"|"it likes to lick ppl's hand"|"it likes to lick ppl's hand"|"tuna sandwich, cakes n butter cookies."
+"1595"|"nosey"|"November, 2009"|"Gerbil (Unknown)"|"Chocolate"|"Male"|"August, 2008"|"42 months"|"London, United Kingdom"|"toilet roll"|"toilet roll"|"sunflower seeds"
+"1596"|"Natasha"|"January, 2006"|"Gerbil (Mongolian)"|"Fawn"|"Female"|"July, 2005"|"Gone to Gerbil Heaven"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"|"Jasper, AL United States"
+"1597"|"Fiona"|"December, 2004"|"Hamster (Teddy Bear)"|"Blonde"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"
+"1598"|"Miko"|"May, 2007"|"Hamster (Russian)"|"Brown"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Abilene, TX United States"|"Wheel"|"Wheel"|"Pumpkin Seed"
+"1599"|"Pepper"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Silent Spinner wheel"|"Silent Spinner wheel"|"Seeds"
+"1600"|"Scarlett Johamster"|"August, 2006"|"Hamster (Dwarf)"|"Opal"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Silent Spinner Wheel"|"Silent Spinner Wheel"|"Anything hideable"
+"1601"|"Kebi"|"June, 2009"|"Hamster (Syrian)"|"Brown"|"Female"|"February, 2008"|"48 months"|"Torun, Poland"|"-"|"-"|"everything!"
+"1602"|"Gustaf"|"April, 2009"|"Hamster (Russian)"|"White"|"Male"|"January, 2008"|"49 months"|"Toruñ / Lipno, Poland"|"Running wheel"|"Running wheel"|"Sunflower seeds"
+"1603"|"Steward Gilligan"|"April, 2009"|"Hamster (Syrian)"|"Black"|"Female"|"September, 2008"|"41 months"|"Olsztyn, Poland"|"Spinnig Wheel"|"Spinnig Wheel"|"Chips"
+"1604"|"Chocolate"|"December, 2006"|"Hamster (Common)"|"Golden Banded"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Calgary, AB Canada"|"Run-Around Ball"|"Run-Around Ball"|"Lettuce, apples, carrots, cheese, and cheerios"
+"1605"|"Arnold"|"November, 2004"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"run-about ball"|"run-about ball"|"run-about ball"
+"1606"|"Sammich"|"March, 2005"|"Hamster (Syrian)"|"Grey"|"Male"|"February, 2005"|"Gone to Hamster Heaven"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"|"Orrington, ME United States"
+"1607"|"Jóga"|"January, 2005"|"Hamster (Dwarf)"|"Albino"|"Female"|"December, 2003"|"Gone to Hamster Heaven"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"
+"1608"|"Stitch"|"February, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Male"|"May, 2003"|"Gone to Hamster Heaven"|"New Bedford, MA United States"|"wheel"|"wheel"|"hard boiled egg"
+"1609"|"Nicolas de Lenfent"|"January, 2006"|"Hamster (Teddy Bear)"|"Sable Banded"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Cypress, CA United States"|"Wheel"|"Wheel"|"Strawberrry yogurt drops"
+"1610"|"JoBob"|"March, 2007"|"Hamster (Syrian)"|"Agouti"|"Female"|"July, 2005"|"Gone to Hamster Heaven"|"Sockton-on-Tees, United Kingdom"|"Sockton-on-Tees, United Kingdom"|"Sockton-on-Tees, United Kingdom"|"Sockton-on-Tees, United Kingdom"
+"1611"|"Cinnamon"|"February, 2008"|"Hamster (Syrian)"|"Tortoise Shell"|"Female"|"November, 2007"|"Gone to Hamster Heaven"|"England, United Kingdom"|"Toilet tube"|"Toilet tube"|"Yoghurt drops"
+"1612"|"Toasted Marshmallow"|"October, 2006"|"Hamster (Common)"|"Blonde"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Durham, NH United States"|"popcorn cob"|"popcorn cob"|"alfalfa"
+"1613"|"Isis"|"February, 2006"|"Hamster (Dwarf)"|"Argente"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"London, United Kingdom"|"London, United Kingdom"|"millet spray!"
+"1614"|"MC Hamster"|"March, 2009"|"Hamster (Teddy Bear)"|"Black Banded"|"Male"|"January, 2009"|"37 months"|"Bolingbrook, IL United States"|"his wheel"|"his wheel"|"red cabbage"
+"1615"|"Lali"|"July, 2007"|"Hamster (Teddy Bear)"|"Hairless"|"Female"|"April, 2007"|"58 months"|"Flint, MI United States"|"Swiss"|"Swiss"|"Whatever Swiss is eating."
+"1616"|"Oliver"|"January, 2006"|"Hamster (Syrian)"|"White"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Falls Church, VA United States"|"his plastic ball"|"his plastic ball"|"broccoli"
+"1617"|"Muffin"|"April, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"House"|"House"|"Grains"
+"1618"|"Lane"|"August, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Medina, OH United States"|"Cardboard tubes, chewing blocks, calcium chew ring."|"Cardboard tubes, chewing blocks, calcium chew ring."|"Pumpkin seeds."
+"1619"|"Smorez Marshmallow Jacoby"|"July, 2006"|"Hamster (Dwarf)"|"Sable Banded"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Allen, TX United States"|"Purple light-up frog"|"Purple light-up frog"|"Peanut Butter and Tomatoes"
+"1620"|"Marcus"|"August, 2005"|"Hamster (Syrian)"|"Golden"|"Male"|"June, 2002"|"Gone to Hamster Heaven"|"Houston, TX United States"|"wooden chewies with peanut butter"|"wooden chewies with peanut butter"|"Sunflower seeds, lettuce, grapes"
+"1621"|"Squeakerz"|"August, 2005"|"Hamster (Dwarf)"|"Grey"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Regina, SK Canada"|"Wheel"|"Wheel"|"Carrots"
+"1622"|"Daisy"|"June, 2005"|"Hamster (Roborovskii)"|"Brown"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Anchorage, AK United States"|"Her Dad Buddy"|"Her Dad Buddy"|"Raisen"
+"1623"|"Lambster"|"February, 2008"|"Hamster (Unknown)"|"Grey"|"Female"|"January, 2008"|"49 months"|"Binghamton, NY United States"|"Salt Ring"|"Salt Ring"|"Cereal and Salt"
+"1624"|"Fritz"|"January, 2008"|"Hamster (Syrian)"|"Blonde"|"Male"|"November, 2007"|"51 months"|"Ithaca, NY United States"|"hamster ball"|"hamster ball"|"hamster ball"
+"1625"|"peaches"|"November, 2010"|"Hamster (Russian)"|"Grey"|"Female"|"March, 2010"|"23 months"|"Miami, FL United States"|"wire bars"|"wire bars"|"cheese"
+"1626"|"Darien"|"September, 2006"|"Hamster (Russian)"|"Agouti"|"Male"|"February, 2003"|"Gone to Hamster Heaven"|"Chestnut Hill Township, PA United States"|"The car"|"The car"|"Veggie-O's"
+"1627"|"Popopipi"|"March, 2007"|"Hamster (Russian)"|"Agouti"|"Male"|"October, 2006"|"64 months"|"Juarez, Mexico"|"chuchi"|"chuchi"|"todo"
+"1628"|"penelope"|"March, 2006"|"Hamster (Dwarf)"|"Albino"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"Old Forge, PA United States"|"wheel"|"wheel"|"sunflower seeds"
+"1629"|"Lucy"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"May, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Silent Spinner Wheel"|"Silent Spinner Wheel"|"Seeds"
+"1630"|"Salt"|"October, 2006"|"Hamster (Dwarf)"|"Mottled"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"Silent Spinner wheel"|"Silent Spinner wheel"|"Seeds"
+"1631"|"Sophie"|"October, 2006"|"Hamster (Dwarf)"|"Brown"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"San Francisco, CA United States"|"San Francisco, CA United States"|"San Francisco, CA United States"|"San Francisco, CA United States"
+"1632"|"Mugi"|"April, 2006"|"Hamster (Russian)"|"Argente"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Stamford, CT United States"|"wheel"|"wheel"|"wheel"
+"1633"|"Berta"|"July, 2006"|"Hamster (Unknown)"|"Black"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"New York, NY United States"|"Toilet paper tubes"|"Toilet paper tubes"|"Cheerios"
+"1634"|"Sandy"|"May, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"April, 2008"|"Gone to Hamster Heaven"|"Edinburgh, United Kingdom"|"Hamster Wheel"|"Hamster Wheel"|"Sunflower Seeds"
+"1635"|"Cappucino"|"May, 2008"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"April, 2008"|"46 months"|"Edinburgh, United Kingdom"|"Hamster Wheel"|"Hamster Wheel"|"Peanuts"
+"1636"|"Horus"|"July, 2006"|"Hamster (Syrian)"|"Honey"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Dacono, CO United States"|"The running wheel"|"The running wheel"|"Sunflower Seeds & Almonds"
+"1637"|"Beary"|"April, 2008"|"Hamster (Syrian)"|"Brown"|"Female"|"January, 2008"|"49 months"|"Provo, UT United States"|"Not too sure"|"Not too sure"|"Carrots"
+"1638"|"Kirby"|"April, 2008"|"Hamster (Syrian)"|"Cream"|"Female"|"January, 2004"|"Gone to Hamster Heaven"|"Provo, UT United States"|"A poop box"|"A poop box"|"He really liked blueberries"
+"1639"|"Polo"|"May, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"March, 2005"|"Gone to Hamster Heaven"|"Stevenage, United Kingdom"|"Banana Nibble Stix"|"Banana Nibble Stix"|"Vitakraft Strawberry Drops and Multi Grain cereal"
+"1640"|"Oliver"|"January, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"December, 2006"|"62 months"|"El Cajon, CA United States"|"El Cajon, CA United States"|"El Cajon, CA United States"|"Seeds"
+"1641"|"Rascal"|"November, 2006"|"Hamster (Common)"|"Golden"|"Female"|"September, 2006"|"65 months"|"Britton, MI United States"|"Hamster Wheel"|"Hamster Wheel"|"Sunflower seeds"
+"1642"|"Panda"|"February, 2007"|"Hamster (Teddy Bear)"|"Black"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Britton, MI United States"|"Hamster Ball"|"Hamster Ball"|"Cheerios"
+"1643"|"Cole"|"October, 2008"|"Hamster (Russian)"|"White"|"Male"|"July, 2007"|"55 months"|"Singapore, Singapore"|"peanut"|"peanut"|"peanut"
+"1644"|"Ginger"|"March, 2008"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"January, 2005"|"Gone to Gerbil Heaven"|"Kennett Square, PA United States"|"Sunflower Seeds"|"Sunflower Seeds"|"Sunflower Seeds"
+"1645"|"Marianne"|"March, 2008"|"Gerbil (Unknown)"|"Dove"|"Female"|"January, 2005"|"Gone to Gerbil Heaven"|"Kennett Square, PA United States"|"Paper Towel Rolls"|"Paper Towel Rolls"|"Corn"
+"1646"|"Kisses"|"July, 2008"|"Gerbil (Mongolian)"|"Blonde"|"Female"|"November, 2007"|"51 months"|"Albuquerque, NM United States"|"Her wooden house"|"Her wooden house"|"Anything breaded"
+"1647"|"Daisy"|"February, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"New Bedford, MA United States"|"Paper towel tubes"|"Paper towel tubes"|"Everything"
+"1648"|"Pui-Pui"|"July, 2004"|"Hamster (Dwarf)"|"Orange"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Spoon"|"Spoon"|"Walnut"
+"1649"|"Tricky"|"January, 2005"|"Hamster (Dwarf)"|"Argente"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"|"Tijuana, Mexico"
+"1650"|"Rocky Road"|"April, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Mt. Pleasant, MI United States"|"His Cage"|"His Cage"|"Fresh Fruits and Veggies or any special treat"
+"1651"|"Creamsicle"|"July, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Northampton, MA United States"|"Toilet paper tube"|"Toilet paper tube"|"Anything that people eat (that is hammy safe, of course)."
+"1652"|"Fredrick"|"September, 2006"|"Hamster (Syrian)"|"Cinnamon Banded"|"Male"|"June, 2005"|"Gone to Hamster Heaven"|"Corona, CA United States"|"Wheel"|"Wheel"|"Apples"
+"1653"|"Tinga"|"December, 2006"|"Hamster (Syrian)"|"Grey"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Manchester, United Kingdom"|"Wheel"|"Wheel"|"Chocolate drops"
+"1654"|"Freya"|"December, 2006"|"Hamster (Syrian)"|"Cream"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Manchester, United Kingdom"|"Cardboard Chube"|"Cardboard Chube"|"Banana Flakes"
+"1655"|"Kevin"|"November, 2008"|"Hamster (Teddy Bear)"|"Calico"|"Male"|"July, 2008"|"43 months"|"Ammon, ID United States"|"green chew stick"|"green chew stick"|"corn"
+"1656"|"Nick"|"November, 2008"|"Hamster (Teddy Bear)"|"Calico"|"Male"|"July, 2008"|"43 months"|"Ammon, ID United States"|"Hamster wheel"|"Hamster wheel"|"Strawberry poptarts"
+"1657"|"Kipper"|"December, 2010"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"April, 2009"|"34 months"|"Bangor, ME United States"|"Snuggle Pouch,Racecar,Carriage,Playpen"|"Snuggle Pouch,Racecar,Carriage,Playpen"|"Whatever Mommy's eating,Pumpkin Seeds"
+"1658"|"Lily"|"December, 2010"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"December, 2010"|"14 months"|"Dardenne Paire, MO United States"|"Not sure."|"Not sure."|"Anything fresh!"
+"1659"|"Teddi"|"May, 2007"|"Hamster (Teddy Bear)"|"Cinnamon"|"Female"|"December, 2006"|"62 months"|"Nowhere, MN United States"|"The bars on my cage"|"The bars on my cage"|"Carrots & sunflower nuts"
+"1660"|"Verruca Pudge"|"June, 2007"|"Hamster (Chinese)"|"Grey"|"Female"|"March, 2007"|"59 months"|"The Bow Under Your Bed,mn, MN United States"|"Wheel"|"Wheel"|"sunflower seeds"
+"1661"|"Arthur"|"January, 2007"|"Hamster (Dwarf)"|"Argente"|"Male"|"October, 2006"|"64 months"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Monterey Park, CA United States"|"Sunflower seeds"
+"1662"|"Frankie"|"January, 2008"|"Hamster (Syrian)"|"Brown"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Somerset, United Kingdom"|"anything made of cardboard"|"anything made of cardboard"|"carrots"
+"1663"|"Cotton Ball"|"November, 2007"|"Hamster (Teddy Bear)"|"White"|"Female"|"September, 2007"|"53 months"|"Edmonton, AB Canada"|"I love my wheel, I've chewed up the little red nob off my wheel that way everyone knows its mine!"|"I love my wheel, I've chewed up the little red nob off my wheel that way everyone knows its mine!"|"I love apples! they 're so sweet!"
+"1664"|"Mair"|"April, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"February, 2002"|"Gone to Hamster Heaven"|"Fort Worth, TX United States"|"Wheel"|"Wheel"|"Honey/seed sticks"
+"1665"|"Bear"|"September, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Longwood, FL United States"|"Hamster Ball"|"Hamster Ball"|"Hamster Ball"
+"1666"|"Clarity"|"July, 2007"|"Hamster (Libyan)"|"Nutmeg"|"Male"|"November, 2003"|"Gone to Hamster Heaven"|"Flint, MI United States"|"Too fat to play"|"Too fat to play"|"Romaine lettuce"
+"1667"|"Shnookie"|"August, 2004"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"July, 2003"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"San Diego, CA United States"|"San Diego, CA United States"|"San Diego, CA United States"
+"1668"|"Naria"|"May, 2004"|"Hamster (Russian)"|"Cream"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"Sand Bath (I love to roll around in it!)"|"Sand Bath (I love to roll around in it!)"|"Peanuts!"
+"1669"|"Jax"|"March, 2006"|"Hamster (Dwarf)"|"Cinnamon Banded"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Milldale, CT United States"|"His Tubes"|"His Tubes"|"Mixed seeds"
+"1670"|"Snow Flake"|"January, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"December, 2005"|"Gone to Hamster Heaven"|"El Monte, CA United States"|"El Monte, CA United States"|"El Monte, CA United States"|"El Monte, CA United States"
+"1671"|"XiaoBai"|"July, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Running Ball"|"Running Ball"|"Sunflower Seed"
+"1672"|"DaBai"|"July, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Cotton"|"Cotton"|"Carrot stick"
+"1673"|"Minateef"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Female"|"July, 2001"|"Gone to Hamster Heaven"|"Troy, NY United States"|"wheel"|"wheel"|"bread with milk"
+"1674"|"Fivel"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"July, 2001"|"Gone to Hamster Heaven"|"Troy, NY United States"|"tubes"|"tubes"|"apples"
+"1675"|"Mr. Cheeks"|"May, 2004"|"Hamster (Teddy Bear)"|"Yellow"|"Male"|"March, 2003"|"Gone to Hamster Heaven"|"Boston, MA United States"|"wheel"|"wheel"|"sunflower seeds"
+"1676"|"Leo"|"January, 2007"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Seattle, WA United States"|"Eating on his cage"|"Eating on his cage"|"Carrots"
+"1677"|"Daffi"|"February, 2011"|"Hamster (Russian)"|"Golden"|"Female"|"January, 2009"|"37 months"|"Reggio Emilia, Italy"|"Ruota"|"Ruota"|"Semi di ogni tipo...e lattuga!"
+"1678"|"Pancake"|"February, 2011"|"Hamster (Siberian)"|"Agouti"|"Male"|"September, 2009"|"Gone to Hamster Heaven"|"Lecce, Italy"|"wheel"|"wheel"|"sunflower seeds, salad, potato, peach"
+"1679"|"Felix"|"October, 2008"|"Hamster (Unknown)"|"Brown"|"Male"|"December, 2007"|"50 months"|"Varazdin, Croatia"|"Music box"|"Music box"|"salad"
+"1680"|"Howard"|"May, 2009"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"June, 2008"|"44 months"|"San Francisco, CA United States"|"running wheel"|"running wheel"|"sunflower seeds"
+"1681"|"Suey"|"June, 2007"|"Hamster (Syrian)"|"Tortoise Shell"|"Female"|"March, 2007"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Scratchpach"|"Scratchpach"|"Anything"
+"1682"|"Simon"|"April, 2005"|"Hamster (Syrian)"|"Cream"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Richmond, KY United States"|"his rollie car"|"his rollie car"|"strawberry yogurt drops"
+"1683"|"Pepper"|"March, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Ottawa, AB Canada"|"Little stuffed hamster"|"Little stuffed hamster"|"cucumber"
+"1684"|"Bulger"|"October, 2005"|"Gerbil (Unknown)"|"Albino"|"Male"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1685"|"Saint Jimmy"|"August, 2007"|"Hamster (Syrian)"|"Grey"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Birmingham, United Kingdom"|"wood chews"|"wood chews"|"cheese !"
+"1686"|"Frankie"|"September, 2006"|"Hamster (Teddy Bear)"|"White"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Hoboken, NJ United States"|"Anything he can nibble (shoelaces and the remote control are good chew toys.)"|"Anything he can nibble (shoelaces and the remote control are good chew toys.)"|"Frankie's not fussy!"
+"1687"|"Henry Bear"|"April, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Burnsville, MN United States"|"Wheel"|"Wheel"|"Carrots, Cracklin' Oat Bran, Rice Chex, Spinach, Tropical Mix Yogurt Dips"
+"1688"|"Jamster"|"July, 2006"|"Hamster (Dwarf)"|"Beige"|"Female"|"August, 2005"|"Gone to Hamster Heaven"|"Montara, CA United States"|"The Wheel, The Maze"|"The Wheel, The Maze"|"Baby Broccoli"
+"1689"|"Szarlotka"|"April, 2009"|"Hamster (Teddy Bear)"|"Beige"|"Female"|"March, 2009"|"Gone to Hamster Heaven"|"Tehachapi, CA United States"|"Her little stuffed animal owl mochi."|"Her little stuffed animal owl mochi."|"I dont know yet because i havent been abl to touch her since the babies have been born."
+"1690"|"cicciù"|"April, 2009"|"Hamster (Russian)"|"Grey"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Morciano, Italy"|"Morciano, Italy"|"Morciano, Italy"|"cibo vario"
+"1691"|"Tubby"|"April, 2009"|"Hamster (Teddy Bear)"|"Beige"|"Female"|"November, 2008"|"Gone to Hamster Heaven"|"Tehachapi, CA United States"|"Bars of his cage, to chew on! Wheel, and his bed!!!!"|"Bars of his cage, to chew on! Wheel, and his bed!!!!"|"Corn, sunflower seeds, carrots, popcorn."
+"1692"|"Scruffy"|"April, 2009"|"Hamster (Syrian)"|"Brown"|"Male"|"February, 2009"|"Gone to Hamster Heaven"|"Tehachapi, CA United States"|"Bars of his cage, ball, wheel, igloo, and his treats!!!~"|"Bars of his cage, ball, wheel, igloo, and his treats!!!~"|"Noodles, pumpkin seeds, and yogurt drop."
+"1693"|"Joyful McHammerton"|"October, 2007"|"Hamster (Syrian)"|"Golden"|"Female"|"July, 2007"|"Gone to Hamster Heaven"|"Baltimore, MD United States"|"Baltimore, MD United States"|"Baltimore, MD United States"|"Baltimore, MD United States"
+"1694"|"Cappuccino"|"March, 2008"|"Hamster (Syrian)"|"White"|"Male"|"March, 2008"|"Gone to Hamster Heaven"|"England, United Kingdom"|"A chew stick (so far)"|"A chew stick (so far)"|"Mealworms :)"
+"1695"|"Dex"|"March, 2006"|"Hamster (Dwarf)"|"Cinnamon Banded"|"Male"|"February, 2006"|"Gone to Hamster Heaven"|"Milldale, CT United States"|"His Tubes"|"His Tubes"|"Mixed seeds"
+"1696"|"mei mei"|"August, 2006"|"Hamster (Russian)"|"Black Banded"|"Female"|"June, 2006"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"everything..including my owner's hands"|"everything..including my owner's hands"|"hamie treatz, hamie biscuits and hamie star"
+"1697"|"Edna"|"November, 2008"|"Hamster (Chinese)"|"Brown"|"Female"|"September, 2006"|"65 months"|"London, United Kingdom"|"London, United Kingdom"|"London, United Kingdom"|"Yogurt Drops"
+"1698"|"Deadma Wilma"|"January, 2010"|"Hamster (Dwarf)"|"Silver"|"Female"|"November, 2009"|"27 months"|"Manila, Philippines"|"tissue strips"|"tissue strips"|"pellets"
+"1699"|"David F"|"October, 2006"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"November, 2005"|"Gone to Hamster Heaven"|"Philadelphia, PA United States"|"His Wheel"|"His Wheel"|"Corn"
+"1700"|"Cinderella"|"September, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Bronx, NY United States"|"toilet paper roll"|"toilet paper roll"|"carrots"
+"1701"|"Thurber"|"August, 2007"|"Hamster (Syrian)"|"Agouti"|"Male"|"January, 2007"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"A chew stick shaped like an ear of corn"|"A chew stick shaped like an ear of corn"|"Bits of banana and whole wheat bread"
+"1702"|"Johnny 5"|"June, 2005"|"Hamster (Roborovskii)"|"Beige"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Costa Mesa, CA United States"|"Wheel"|"Wheel"|"Seeds, seeds, seeds and more seeds!"
+"1703"|"Bootsie"|"January, 2008"|"Hamster (Syrian)"|"Black"|"Female"|"October, 2007"|"52 months"|"Los Angeles, CA United States"|"towels"|"towels"|"carrots"
+"1704"|"Siegel"|"November, 2005"|"Gerbil (Unknown)"|"Black"|"Male"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1705"|"Spot"|"September, 2005"|"Gerbil (Unknown)"|"Black"|"Female"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1706"|"Thumper"|"October, 2005"|"Gerbil (Unknown)"|"Beige"|"Female"|"September, 2005"|"Gone to Gerbil Heaven"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"|"Allston, MA United States"
+"1707"|"Baxter"|"July, 2006"|"Hamster (Syrian)"|"Black"|"Male"|"May, 2006"|"Gone to Hamster Heaven"|"Mesa, AZ United States"|"My T.V. bed"|"My T.V. bed"|"Sunflower Seeds and Oh's Cereal"
+"1708"|"Bocce"|"July, 2006"|"Hamster (Unknown)"|"Sable Banded"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Mesa, AZ United States"|"His Toilet Paper Roll"|"His Toilet Paper Roll"|"He's anorexic"
+"1709"|"Sally Brown"|"October, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Female"|"September, 2006"|"Gone to Hamster Heaven"|"Mesa, AZ United States"|"My ball."|"My ball."|"Apples"
+"1710"|"Bungee"|"July, 2004"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"April, 2004"|"Gone to Hamster Heaven"|"Northampton, MA United States"|"Anything that can be jumped over or on."|"Anything that can be jumped over or on."|"Mashed potatoes."
+"1711"|"Squishy"|"March, 2006"|"Hamster (Russian)"|"Agouti"|"Female"|"July, 2004"|"Gone to Hamster Heaven"|"Scotland, United Kingdom"|"wheel"|"wheel"|"sunflower seeds"
+"1712"|"Belle"|"April, 2004"|"Hamster (Roborovskii)"|"Agouti"|"Female"|"March, 2004"|"Gone to Hamster Heaven"|"Austin, TX United States"|"No real favorite chew toy"|"No real favorite chew toy"|"No real favorite chew toy"
+"1713"|"Colwin"|"August, 2007"|"Hamster (Syrian)"|"Agouti"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Quezon City, Philippines"|"Her wheel"|"Her wheel"|"Bits of whole wheat bread"
+"1714"|"Tame Tony"|"January, 2010"|"Hamster (Dwarf)"|"Grey"|"Male"|"November, 2009"|"27 months"|"Manila, Philippines"|"cardboard tissue roll"|"cardboard tissue roll"|"apple"
+"1715"|"Chill Jill"|"January, 2010"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"October, 2009"|"28 months"|"Manila, Philippines"|"cardboard tube"|"cardboard tube"|"banana"
+"1716"|"Seattle"|"December, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"November, 2006"|"63 months"|"Dallas, TX United States"|"Exercise Ball"|"Exercise Ball"|"Carrots"
+"1717"|"Furbie"|"January, 2005"|"Hamster (Unknown)"|"Champagne"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Dunedin, FL United States"|"toilet paper roll"|"toilet paper roll"|"lettuce"
+"1718"|"Mr. Slippers"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Lincoln, IL United States"|"His dressing room!"|"His dressing room!"|"Sunflower seeds"
+"1719"|"Ginger"|"September, 2004"|"Hamster (Teddy Bear)"|"Sable Banded"|"Female"|"September, 2002"|"Gone to Hamster Heaven"|"Pacoima, CA United States"|"wheel"|"wheel"|"everything!"
+"1720"|"Speedy"|"September, 2008"|"Hamster (Dwarf)"|"Grey"|"Male"|"September, 2007"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Tunnel"|"Tunnel"|"star star"
+"1721"|"Ah Fat"|"September, 2008"|"Hamster (Dwarf)"|"Grey"|"Female"|"September, 2007"|"53 months"|"Singapore, Singapore"|"cotton ball"|"cotton ball"|"star star"
+"1722"|"Snowdrop"|"October, 2006"|"Hamster (Russian)"|"White"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Wellington, New Zealand"|"Mini ball"|"Mini ball"|"seeds"
+"1723"|"Grim"|"August, 2005"|"Hamster (Russian)"|"Grey"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Wayne, NJ United States"|"Wheel"|"Wheel"|"Cherio's"
+"1724"|"Dres"|"January, 2005"|"Hamster (Unknown)"|"Black Banded"|"Male"|"April, 2004"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"Chicago, IL United States"|"Chicago, IL United States"|"Corn"
+"1725"|"rico"|"December, 2008"|"Hamster (Russian)"|"Black Banded"|"Male"|"January, 2009"|"Gone to Hamster Heaven"|"Atlanta, GA United States"|"wheel and empety toilet paper roll"|"wheel and empety toilet paper roll"|"sunflower seeds"
+"1726"|"Hamsy"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Female"|"January, 2000"|"Gone to Hamster Heaven"|"SG, Singapore"|"Ferrari Car"|"Ferrari Car"|"Ferrari Car"
+"1727"|"Timmy"|"January, 2007"|"Hamster (Unknown)"|"Brown"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Washington, DC United States"|"pencil"|"pencil"|"potato chips"
+"1728"|"Andie"|"March, 2007"|"Hamster (Unknown)"|"Black"|"Female"|"February, 2007"|"60 months"|"Uhrichsville, OH United States"|"Her wheel!"|"Her wheel!"|"Sunflower seeds, so far."
+"1729"|"Jacob Darwin"|"November, 2006"|"Gerbil (Mongolian)"|"Slate"|"Male"|"March, 2006"|"Gone to Gerbil Heaven"|"Rosemount, MN United States"|"cardboard rolls"|"cardboard rolls"|"is it edible?"
+"1730"|"Charles Darwin Campbelli"|"June, 2005"|"Hamster (Dwarf)"|"Brown"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"|"São Paulo, Brazil"
+"1731"|"Piccola PomPom"|"February, 2011"|"Hamster (Siberian)"|"Black Banded"|"Female"|"January, 2010"|"25 months"|"Padova , Italy, Italy"|"Ruota"|"Ruota"|"Semi di girasole"
+"1732"|"Mitra"|"August, 2006"|"Hamster (Syrian)"|"Black"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Allendale, MI United States"|"The cords on Mommy's hoodie sweaters"|"The cords on Mommy's hoodie sweaters"|"Cheese, pasta, hard boiled eggs, rice chex"
+"1733"|"Ichi"|"April, 2004"|"Hamster (Dwarf)"|"White"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"SG, Singapore"|"Hammy Ball"|"Hammy Ball"|"SunFlower Seeds"
+"1734"|"Hermione"|"January, 2007"|"Hamster (Dwarf)"|"Black"|"Female"|"December, 2006"|"62 months"|"Port Orange, FL United States"|"Plastic Hut"|"Plastic Hut"|"hamster blocks"
+"1735"|"Beck"|"July, 2006"|"Hamster (Syrian)"|"Beige"|"Male"|"June, 2006"|"Gone to Hamster Heaven"|"Fort Wayne, IN United States"|"The Wheel"|"The Wheel"|"Yogurt Drops"
+"1736"|"Hammie"|"July, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Male"|"July, 2002"|"Gone to Hamster Heaven"|"Annapolis, MD United States"|"his hamster ball, which he rolled around the house in"|"his hamster ball, which he rolled around the house in"|"Shortbread girl Scout cookies & Yogurt drops"
+"1737"|"Tucker"|"July, 2006"|"Hamster (Syrian)"|"Sable Banded"|"Female"|"April, 2003"|"Gone to Hamster Heaven"|"Annapolis, MD United States"|"Her rollie ball, her wheel and toilet paper tubes"|"Her rollie ball, her wheel and toilet paper tubes"|"Yogurt drops"
+"1738"|"Hamtaro"|"November, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"ST.Petersburg, FL United States"|"Nothing."|"Nothing."|"Sunflower seeds."
+"1739"|"Queen Elizabeth"|"July, 2006"|"Hamster (Dwarf)"|"White"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Fort Wayne, IN United States"|"wheel"|"wheel"|"yogurt drops"
+"1740"|"Polar Bear"|"May, 2006"|"Hamster (Syrian)"|"White"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"Glasgow, United Kingdom"|"A rat wheel"|"A rat wheel"|"Unknown as of yet"
+"1741"|"Sexy"|"August, 2005"|"Hamster (Dwarf)"|"Cream"|"Female"|"August, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"sun flower seed"|"sun flower seed"|"sun flower seed"
+"1742"|"ham ham"|"January, 2005"|"Hamster (Unknown)"|"White"|"Male"|"December, 2004"|"Gone to Hamster Heaven"|"Victorville, CA United States"|"Victorville, CA United States"|"Victorville, CA United States"|"seeds"
+"1743"|"Jubilee"|"June, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"June, 2002"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Hamster Wheel"|"Hamster Wheel"|"Sunflower Seeds, Corn"
+"1744"|"Koko"|"July, 2006"|"Gerbil (Unknown)"|"Brown"|"Female"|"May, 2005"|"Gone to Gerbil Heaven"|"Sum Plac In, NY United States"|"Anything I can get my teeth on ^-^"|"Anything I can get my teeth on ^-^"|"Ice Cream Cones"
+"1745"|"Grissom"|"September, 2006"|"Hamster (Dwarf)"|"Albino"|"Male"|"July, 2006"|"Gone to Hamster Heaven"|"Connacht, Ireland"|"Strawberry chew chew"|"Strawberry chew chew"|"Sunflower seeds"
+"1746"|"Kayde McPiddles"|"October, 2006"|"Hamster (Unknown)"|"Beige"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Philadelphia, PA United States"|"fingers"|"fingers"|"corn and his own poop"
+"1747"|"Snowflake"|"October, 2006"|"Hamster (Russian)"|"White"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Wellington, New Zealand"|"cocount house"|"cocount house"|"cashew nuts"
+"1748"|"Gnasher"|"June, 2007"|"Hamster (Syrian)"|"Tortoise Shell"|"Male"|"January, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"Wodent Wheel"|"Wodent Wheel"|"Broccoli"
+"1749"|"Creamer"|"December, 2007"|"Hamster (Dwarf)"|"Sapphire"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Spore, Singapore"|"Spore, Singapore"|"Spore, Singapore"|"Broccoli"
+"1750"|"Hamtaro"|"December, 2007"|"Hamster (Dwarf)"|"Brown"|"Female"|"October, 2005"|"Gone to Hamster Heaven"|"Spore, Singapore"|"The entire cage is his playground"|"The entire cage is his playground"|"Hamster cookies"
+"1751"|"Hammie"|"November, 2007"|"Hamster (Siberian)"|"Blue"|"Male"|"October, 2006"|"Gone to Hamster Heaven"|"Boston, MA United States"|"His plastic igloo"|"His plastic igloo"|"Peanut Butter"
+"1752"|"Oreo"|"November, 2006"|"Hamster (Unknown)"|"Sable Banded"|"Male"|"January, 2005"|"Gone to Hamster Heaven"|"ST.Petersburg, FL United States"|"It's wheel that's in the cage."|"It's wheel that's in the cage."|"Sunflower seeds."
+"1753"|"Valtteri"|"February, 2011"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"August, 2010"|"18 months"|"Lahti, Finland"|"His chew toy-toothbrush"|"His chew toy-toothbrush"|"Oat, bread with seeds"
+"1754"|"Tilly"|"February, 2011"|"Hamster (Teddy Bear)"|"Golden"|"Female"|"May, 2009"|"Gone to Hamster Heaven"|"Northwest, MT United States"|"Anything"|"Anything"|"(Haven't figured it out yet)"
+"1755"|"Seattle"|"March, 2007"|"Hamster (Syrian)"|"Black"|"Male"|"November, 2006"|"63 months"|"Dallas, TX United States"|"Excercise Ball"|"Excercise Ball"|"Cucumbers"
+"1756"|"Herbert"|"October, 2007"|"Hamster (Common)"|"Golden"|"Male"|"June, 2007"|"56 months"|"Augusta, GA United States"|"Bars!!"|"Bars!!"|"Fiesta by Kaytee & Vitakraft"
+"1757"|"Chester"|"November, 2006"|"Hamster (Dwarf)"|"Lilac"|"Male"|"March, 2005"|"Gone to Hamster Heaven"|"Monterey Park, CA United States"|"He likes the tubes from toilet paper."|"He likes the tubes from toilet paper."|"Sunflower Seeds and Peanuts."
+"1758"|"Rosie"|"November, 2006"|"Hamster (Russian)"|"Grey"|"Female"|"September, 2006"|"65 months"|"London, United Kingdom"|"Her sleeping house (to climb on)"|"Her sleeping house (to climb on)"|"Peanuts or sunflower seeds (little piggy!)"
+"1759"|"Kashi"|"November, 2006"|"Hamster (Dwarf)"|"Agouti"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Simi Valley, CA United States"|"Toilet paper tubes"|"Toilet paper tubes"|"Baby food"
+"1760"|"Samwise the Hamwise"|"May, 2007"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Hoboken, NJ United States"|"The wheel, definitely"|"The wheel, definitely"|"Doesn't matter, as long as there's a lot of it!"
+"1761"|"Flip"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Cleveland, OH United States"|"Cleveland, OH United States"|"Cleveland, OH United States"|"Little tiny seeds"
+"1762"|"Walnut"|"June, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"June, 2002"|"Gone to Hamster Heaven"|"Toronto, ON Canada"|"Kleenex"|"Kleenex"|"Anything"
+"1763"|"Patrick O'Houlihan"|"July, 2006"|"Hamster (Teddy Bear)"|"Brown"|"Male"|"May, 2005"|"Gone to Hamster Heaven"|"Duluth, MN United States"|"Exercise Ball"|"Exercise Ball"|"Carrots"
+"1764"|"Coree"|"October, 2008"|"Hamster (Russian)"|"White"|"Female"|"January, 2007"|"61 months"|"Singapore, Singapore"|"greenade"|"greenade"|"sunflower seeds"
+"1765"|"Winston"|"November, 2010"|"Hamster (Dwarf)"|"Cream"|"Male"|"November, 2009"|"27 months"|"Louisville, KY United States"|"Cage walls or piece of string"|"Cage walls or piece of string"|"Broccoli and sunflower seeds"
+"1766"|"Momo"|"June, 2006"|"Hamster (Dwarf)"|"Agouti"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Snowman-san"|"Snowman-san"|"Cornflakes"
+"1767"|"Suzie"|"April, 2009"|"Hamster (Dwarf)"|"Grey"|"Female"|"January, 2007"|"61 months"|"Lisbon Falls, ME United States"|"my fingers"|"my fingers"|"grapes"
+"1768"|"Kiwi"|"April, 2009"|"Hamster (Dwarf)"|"Grey"|"Female"|"October, 2008"|"40 months"|"Lisbon Falls, ME United States"|"Wheel"|"Wheel"|"Sunflower Seeds"
+"1769"|"Pikachu"|"July, 2005"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"April, 2005"|"Gone to Hamster Heaven"|"Newark, DE United States"|"Her yellow wheel"|"Her yellow wheel"|"cheese yogies"
+"1770"|"Sunshine"|"January, 2011"|"Hamster (Teddy Bear)"|"Golden"|"Male"|"May, 2010"|"21 months"|"Cornwall, ON Canada"|"Fruit Flavoured Pummice"|"Fruit Flavoured Pummice"|"Yogurt flavoured treats, sunflower seeds, and fresh vegetables."
+"1771"|"fatso jr."|"May, 2004"|"Hamster (Russian)"|"Brown"|"Male"|"March, 2004"|"Gone to Hamster Heaven"|"Santa Cruz, CA United States"|"fingers"|"fingers"|"avocado"
+"1772"|"Muffin II"|"June, 2008"|"Hamster (Syrian)"|"Golden"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"|"Singapore, Singapore"
+"1773"|"Bashful"|"March, 2005"|"Hamster (Dwarf)"|"Smoke Pearl"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Poughkeepsie, NY United States"|"the wheel!"|"the wheel!"|"peanut butter balls, apples, and goldfish"
+"1774"|"Cookie"|"July, 2008"|"Hamster (Dwarf)"|"White"|"Female"|"December, 2007"|"50 months"|"Lima, OH United States"|"Bed Fluff (for hamsters)"|"Bed Fluff (for hamsters)"|"Bed Fluff (for hamsters)"
+"1775"|"Matthias"|"May, 2008"|"Hamster (Teddy Bear)"|"Black"|"Male"|"October, 2005"|"Gone to Hamster Heaven"|"Atlantic, NC United States"|"Atlantic, NC United States"|"Atlantic, NC United States"|"Atlantic, NC United States"
+"1776"|"Hamron 9.2"|"February, 2005"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Wheel, Playhouse, Maze"|"Wheel, Playhouse, Maze"|"Radishes, Puffed Wheat, Lettuce, Sunflower seeds"
+"1777"|"Biggie"|"November, 2004"|"Hamster (Syrian)"|"Pink"|"Female"|"May, 2002"|"Gone to Hamster Heaven"|"Minneapolis, MN United States"|"Wodent Wheel"|"Wodent Wheel"|"Spinach leaf"
+"1778"|"Oscar"|"May, 2007"|"Hamster (Syrian)"|"Cream"|"Male"|"August, 2007"|"54 months"|"Abilene, TX United States"|"Abilene, TX United States"|"Abilene, TX United States"|"Abilene, TX United States"
+"1779"|"Nibbles"|"May, 2007"|"Hamster (Syrian)"|"Golden"|"Male"|"January, 2007"|"61 months"|"Hoboken, NJ United States"|"He'd rather be in his nest"|"He'd rather be in his nest"|"Seeds and raisins"
+"1780"|"Legolas"|"September, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Male"|"May, 2003"|"Gone to Hamster Heaven"|"Pacoima, CA United States"|"sides of his cage"|"sides of his cage"|"everything"
+"1781"|"Zippy"|"July, 2006"|"Hamster (Common)"|"Golden"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Tucson, AZ United States"|"Paper Towels"|"Paper Towels"|"Fruit"
+"1782"|"Lloyd"|"March, 2005"|"Hamster (Dwarf)"|"Grey"|"Male"|"September, 2004"|"Gone to Hamster Heaven"|"Ann Arbor, MI United States"|"his hamster tube ring"|"his hamster tube ring"|"corn, edamame beans, kix"
+"1783"|"Charles the Second"|"August, 2005"|"Hamster (Syrian)"|"Black"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Chicago, IL United States"|"his wheel and hid dog bone"|"his wheel and hid dog bone"|"swiss cheese, peanut butter"
+"1784"|"Belle"|"July, 2006"|"Hamster (Dwarf)"|"Blue Fawn"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Sum Plac In, NY United States"|"The hamster wheel!"|"The hamster wheel!"|"Non"
+"1785"|"Yogi"|"July, 2006"|"Gerbil (Unknown)"|"Cinnamon Banded"|"Male"|"June, 2005"|"Gone to Gerbil Heaven"|"Sum Plac In, NY United States"|"Whatever Koko likes, I like"|"Whatever Koko likes, I like"|"Ice cream! I took a whip from the dinning table XP"
+"1786"|"Junie B"|"July, 2006"|"Hamster (Unknown)"|"Cream"|"Female"|"February, 2005"|"Gone to Hamster Heaven"|"Lincoln, IL United States"|"Toilet Paper Tube"|"Toilet Paper Tube"|"Sunflower seeds"
+"1787"|"Mint"|"June, 2006"|"Hamster (Dwarf)"|"Mottled"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Snowman-san"|"Snowman-san"|"Banana rolled in peanut butter and sunflower seeds"
+"1788"|"Patch"|"June, 2006"|"Hamster (Dwarf)"|"Mottled"|"Male"|"April, 2006"|"Gone to Hamster Heaven"|"Manila, Philippines"|"Donkey"|"Donkey"|"Sunflower seeds"
+"1789"|"Nessa"|"February, 2006"|"Hamster (Dwarf)"|"Argente"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"London, United Kingdom"|"London, United Kingdom"|"London, United Kingdom"|"millet spray!"
+"1790"|"Hammie"|"January, 2007"|"Hamster (Syrian)"|"Honey"|"Male"|"April, 2005"|"Gone to Hamster Heaven"|"Urbana, IL United States"|"fiber chew flowers"|"fiber chew flowers"|"Apple bits, carrots, sunflower seeds"
+"1791"|"Hammy"|"October, 2007"|"Hamster (Teddy Bear)"|"Black"|"Female"|"May, 2007"|"57 months"|"Crawfordsville, IN United States"|"Ball"|"Ball"|"Wild Harvest Premium Blend Hamster and Gerbil Food"
+"1792"|"Snowball"|"October, 2007"|"Hamster (Teddy Bear)"|"Black"|"Male"|"May, 2007"|"57 months"|"Crawfordsville, IN United States"|"Wheel"|"Wheel"|"Wild Harvest Premium Blend Hamster and Gerbil Food"
+"1793"|"Simon"|"April, 2004"|"Hamster (Dwarf)"|"Grey"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Austin, TX United States"|"Wooden bell"|"Wooden bell"|"Wooden bell"
+"1794"|"Max"|"April, 2004"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"February, 2004"|"Gone to Hamster Heaven"|"Austin, TX United States"|"Climbing log"|"Climbing log"|"Climbing log"
+"1795"|"Hamlit"|"August, 2009"|"Hamster (Dwarf)"|"White"|"Male"|"March, 2007"|"Gone to Hamster Heaven"|"Bedford, United Kingdom"|"a salt lick"|"a salt lick"|"big peanuts"
+"1796"|"Judy"|"July, 2006"|"Hamster (Siberian)"|"Grey"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"Lake Zurich, IL United States"|"Wheel"|"Wheel"|"PUMPKIN SEEDS!!! (Currently in Rehab for 'em)"
+"1797"|"Boo"|"May, 2004"|"Hamster (Syrian)"|"Albino"|"Female"|"January, 2003"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"Plastic tubes"|"Plastic tubes"|"Fruit shaped treats"
+"1798"|"Lance"|"July, 2006"|"Hamster (Dwarf)"|"Grey"|"Female"|"December, 2004"|"Gone to Hamster Heaven"|"Lincoln, IL United States"|"Wheel"|"Wheel"|"Alfalfa blocks"
+"1799"|"Tuka (too-ka)"|"October, 2006"|"Hamster (Siberian)"|"Black Banded"|"Male"|"May, 2004"|"Gone to Hamster Heaven"|"Hingergonbobson, DC United States"|"Senor Tukey Hat"|"Senor Tukey Hat"|"Pumpkin Seeds"
+"1800"|"hamdriz family"|"October, 2006"|"Hamster (Unknown)"|"Cinnamon"|"Female"|"August, 2006"|"66 months"|"Manila, Philippines"|"Manila, Philippines"|"Manila, Philippines"|"cucumber and apple... mmmm yummy!!!"
+"1801"|"Vamp'ed"|"October, 2007"|"Hamster (Chinese)"|"Agouti"|"Female"|"February, 2007"|"60 months"|"Glenside, PA United States"|"A swinging, grass ball with a bell inside"|"A swinging, grass ball with a bell inside"|"Sushi/Fish"
+"1802"|"Zacky"|"February, 2007"|"Hamster (Teddy Bear)"|"Ruddy"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Humble, TX United States"|"His Wheel"|"His Wheel"|"His special treat sticks"
+"1803"|"Frankie"|"February, 2007"|"Hamster (Dwarf)"|"Black"|"Male"|"January, 2007"|"61 months"|"Port Orange, FL United States"|"Wheel"|"Wheel"|"Seed Treat"
+"1804"|"Sid"|"October, 2007"|"Hamster (Dwarf)"|"Grey"|"Male"|"August, 2005"|"Gone to Hamster Heaven"|"Midland, ON Canada"|"Fluff! I rearrange my fluff on a daily basis."|"Fluff! I rearrange my fluff on a daily basis."|"I like chicken and cucumbers and popcorn with no husks and apples and hammie donuts and once and awhile a plain potato chip"
+"1806"|"hera"|"August, 2008"|"Hamster (Russian)"|"Argente"|"Female"|"June, 2008"|"44 months"|"Paranaque, Philippines"|"Paranaque, Philippines"|"Paranaque, Philippines"|"sunflower seeds"
+"1807"|"Swiss"|"July, 2007"|"Hamster (Roborovskii)"|"Pudding"|"Female"|"April, 2006"|"Gone to Hamster Heaven"|"Flint, MI United States"|"hanging hammock"|"hanging hammock"|"Fruit and veggie salad"
+"1808"|"marzipan (lightfoot)"|"April, 2004"|"Hamster (Teddy Bear)"|"Golden Banded"|"Female"|"February, 2004"|"Gone to Hamster Heaven"|"Milwaukee, WI United States"|"365 degree wheel and her pink gladiator ball"|"365 degree wheel and her pink gladiator ball"|"sunflower seeds"
+"1809"|"Bebe"|"January, 2006"|"Hamster (Dwarf)"|"Cream"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"El Monte, CA United States"|"El Monte, CA United States"|"El Monte, CA United States"|"El Monte, CA United States"
+"1810"|"Blanche"|"July, 2006"|"Hamster (Unknown)"|"Cinnamon"|"Female"|"March, 2006"|"Gone to Hamster Heaven"|"St. Louis, MO United States"|"Wheel"|"Wheel"|"carrots"
+"1811"|"Amora"|"February, 2009"|"Hamster (Syrian)"|"Black"|"Female"|"December, 2008"|"38 months"|"Clarksville, IA United States"|"wheel"|"wheel"|"apples"
+"1812"|"Timbit Alexander"|"July, 2006"|"Gerbil (Mongolian)"|"Nutmeg"|"Female"|"January, 2005"|"Gone to Gerbil Heaven"|"New York City, NY United States"|"Timbit enjoys chewing up cardboard toilet paper tubes, of course!"|"Timbit enjoys chewing up cardboard toilet paper tubes, of course!"|"Sunflower seeds."
+"1813"|"hammy"|"July, 2006"|"Hamster (Syrian)"|"Agouti Yellow"|"Female"|"January, 2005"|"Gone to Hamster Heaven"|"Buford, GA United States"|"wheel"|"wheel"|"almonds"
+"1814"|"Pinky"|"January, 2010"|"Gerbil (Mongolian)"|"Argente"|"Female"|"September, 2006"|"65 months"|"Harrisonburg, VA United States"|"Bird toy with mirrors"|"Bird toy with mirrors"|"Sunflower Seeds"
+"1815"|"Cheesepuff"|"April, 2006"|"Hamster (Syrian)"|"Golden Banded"|"Female"|"January, 2006"|"Gone to Hamster Heaven"|"Clarksville, VA United States"|"Wheel"|"Wheel"|"Sunflower seeds"
+"1816"|"Bear Stapleton"|"July, 2006"|"Hamster (Teddy Bear)"|"Black"|"Male"|"August, 2002"|"Gone to Hamster Heaven"|"Jacksonville, FL United States"|"wire"|"wire"|"food"
+"1817"|"D.J."|"November, 2006"|"Gerbil (Mongolian)"|"Agouti"|"Male"|"August, 2001"|"Gone to Gerbil Heaven"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"
+"1818"|"Bellatrix"|"November, 2006"|"Gerbil (Mongolian)"|"Agouti"|"Female"|"November, 2003"|"Gone to Gerbil Heaven"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"|"Rosemount, MN United States"
+"1819"|"Charles Elwood"|"November, 2006"|"Gerbil (Mongolian)"|"Lilac"|"Male"|"March, 2006"|"Gone to Gerbil Heaven"|"Rosemount, MN United States"|"the exersize wheel"|"the exersize wheel"|"peanuts"
+"1820"|"Leila"|"January, 2010"|"Gerbil (Mongolian)"|"Red"|"Female"|"September, 2006"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Cardboard"|"Cardboard"|"Sunflower seeds"
+"1821"|"Mousie"|"January, 2010"|"Gerbil (Mongolian)"|"Lilac"|"Male"|"September, 2006"|"65 months"|"Harrisonburg, VA United States"|"Wheel"|"Wheel"|"Dried fruit"
+"1822"|"Cinder"|"January, 2010"|"Gerbil (Mongolian)"|"Nutmeg"|"Female"|"January, 2006"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Cardboard"|"Cardboard"|"Catfood"
+"1823"|"Blackie"|"January, 2010"|"Gerbil (Mongolian)"|"Black"|"Female"|"September, 2006"|"Gone to Gerbil Heaven"|"Harrisonburg, VA United States"|"Cardboard"|"Cardboard"|"Sunflower Seeds"
+"1824"|"Sid"|"April, 2005"|"Hamster (Roborovskii)"|"Agouti"|"Male"|"October, 2004"|"Gone to Hamster Heaven"|"Manchester, United Kingdom"|"treat sticks"|"treat sticks"|"sunflower seeds"
+"1825"|"Alexandra"|"March, 2006"|"Hamster (Teddy Bear)"|"Chocolate"|"Female"|"November, 2005"|"Gone to Hamster Heaven"|"Raleigh, NC United States"|"Wheel"|"Wheel"|"Peanut butter"
+"1826"|"Kairi"|"January, 2008"|"Hamster (Syrian)"|"White"|"Female"|"April, 2007"|"Gone to Hamster Heaven"|"Nowhere, MN United States"|"My wheel"|"My wheel"|"sunflower nuts"
+"1827"|"Pebbels"|"March, 2009"|"Hamster (Dwarf)"|"Grey"|"Female"|"November, 2008"|"39 months"|"Lisbon Falls, ME United States"|"Wheel"|"Wheel"|"Hard doughnut-looking hamster food"
+"1828"|"oreo"|"March, 2009"|"Hamster (Teddy Bear)"|"Grey"|"Female"|"March, 2008"|"Gone to Hamster Heaven"|"Lisbon, ME United States"|"weel"|"weel"|"sun flower seeds"
+"1829"|"Momo"|"May, 2005"|"Hamster (Siberian)"|"Grey"|"Female"|"September, 2004"|"Gone to Hamster Heaven"|"Los Angeles, CA United States"|"Swing"|"Swing"|"Sunflower seeds"
+"1830"|"Carrot"|"November, 2007"|"Hamster (Teddy Bear)"|"Orange"|"Female"|"March, 2007"|"59 months"|"Edmonton, AB Canada"|"I love my wheel and my little hut house."|"I love my wheel and my little hut house."|"I LOVE almonds!"
+"1831"|"Princess Lily"|"July, 2005"|"Hamster (Syrian)"|"Black"|"Female"|"May, 2005"|"Gone to Hamster Heaven"|"Newark, DE United States"|"Her strawberry house"|"Her strawberry house"|"no idea"
+"1832"|"Three Little Women"|"December, 2004"|"Hamster (Dwarf)"|"Argente"|"Female"|"November, 2004"|"Gone to Hamster Heaven"|"San Diego, CA United States"|"San Diego, CA United States"|"San Diego, CA United States"|"San Diego, CA United States"
+"1833"|"Sergio"|"September, 2005"|"Hamster (Dwarf)"|"White"|"Male"|"July, 2005"|"Gone to Hamster Heaven"|"Okc, OK United States"|"ball"|"ball"|"cheese"
+"1834"|"Nibbler + Gunter"|"May, 2004"|"Hamster (Russian)"|"Brown"|"Male"|"January, 2003"|"Gone to Hamster Heaven"|"Newcastle, United Kingdom"|"Our Wheel and our sand bath"|"Our Wheel and our sand bath"|"Seed stick treats (as seen in our photo!"
+"1835"|"Benny"|"January, 2008"|"Hamster (Unknown)"|"Nutmeg"|"Male"|"May, 2007"|"57 months"|"Washington, DC United States"|"cork"|"cork"|"pizza"
+"1836"|"Charles"|"October, 2009"|"Hamster (Chinese)"|"Agouti"|"Male"|"April, 2009"|"34 months"|"Pendell, PA United States"|"My wheel"|"My wheel"|"Pumpkin seeds"
+"1837"|"Caroline"|"February, 2008"|"Hamster (Dwarf)"|"Brown"|"Female"|"February, 2007"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"Plastic hideaways"|"Plastic hideaways"|"Forti-Diet Pellets"
+"1838"|"Hammin McSquish"|"January, 2006"|"Hamster (Teddy Bear)"|"Cinnamon Banded"|"Female"|"September, 2005"|"Gone to Hamster Heaven"|"Portland, OR United States"|"big blue ball"|"big blue ball"|"honey balls"
+"1839"|"Echo"|"July, 2007"|"Hamster (Teddy Bear)"|"Black"|"Male"|"March, 2006"|"Gone to Hamster Heaven"|"Sebastain, FL United States"|"Wheel"|"Wheel"|"Apples"
+"1840"|"Miko"|"October, 2006"|"Hamster (Russian)"|"Honey"|"Male"|"September, 2006"|"65 months"|"San Leandro, CA United States"|"Toilet paper role"|"Toilet paper role"|"Doritos"
+"1841"|"Wotsit"|"February, 2008"|"Hamster (Dwarf)"|"Agouti"|"Female"|"November, 2007"|"51 months"|"Wakefield, United Kingdom"|"Wheel"|"Wheel"|"Sunflower seeds"
+"1842"|"Thelma"|"October, 2009"|"Gerbil (Unknown)"|"Grey"|"Female"|"March, 2009"|"35 months"|"Pendell, PA United States"|"Cardboard"|"Cardboard"|"Penuts"
+"1843"|"Takeo"|"April, 2005"|"Hamster (Syrian)"|"Nutmeg"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Fredericksburg, VA United States"|"His potty litter"|"His potty litter"|"Biscuits"
+"1844"|"Honey"|"March, 2006"|"Hamster (Syrian)"|"Honey"|"Male"|"December, 2005"|"Gone to Hamster Heaven"|"Raleigh, NC United States"|"His cage - He loves climbing wires!"|"His cage - He loves climbing wires!"|"Whipped cream"
+"1845"|"Rufus"|"April, 2004"|"Hamster (Syrian)"|"Blonde"|"Male"|"January, 2004"|"Gone to Hamster Heaven"|"Swansea, MA United States"|"Wheel"|"Wheel"|"Wheel"
+"1847"|"MC Hamster"|"January, 2006"|"Hamster (Dwarf)"|"Fawn"|"Male"|"September, 2005"|"Gone to Hamster Heaven"|"Somerville, MA United States"|"Wheel"|"Wheel"|"Baby Carrots"
+"1848"|"Bobby"|"July, 2006"|"Hamster (Teddy Bear)"|"Golden Banded"|"Male"|"August, 2004"|"Gone to Hamster Heaven"|"Arlington, VA United States"|"His ball he runs in"|"His ball he runs in"|"Apples, sunflower seeds"
+"1849"|"Sir Poopsikinz"|"October, 2009"|"Hamster (Chinese)"|"Agouti"|"Male"|"April, 2009"|"34 months"|"Pendell, PA United States"|"My toilet paper role"|"My toilet paper role"|"plums and sesame seeds"
+"1850"|"Nikki"|"December, 2004"|"Hamster (Teddy Bear)"|"Cream"|"Female"|"August, 2003"|"Gone to Hamster Heaven"|"Winnipeg, MB Canada"|"Coconut Hut"|"Coconut Hut"|"Carrots, jam"
+"1851"|"Whiskers"|"October, 2006"|"Hamster (Russian)"|"Tortoise Shell"|"Male"|"September, 2006"|"65 months"|"San Leandro, CA United States"|"Paper"|"Paper"|"Peanuts"
+"1852"|"Pera"|"February, 2005"|"Hamster (Syrian)"|"Grey"|"Male"|"April, 2001"|"Gone to Hamster Heaven"|"Belgrade, Yugoslavia"|"his house- he just loved to play with it!"|"his house- he just loved to play with it!"|"all-"
+"1853"|"Daisy"|"July, 2005"|"Hamster (Syrian)"|"Blonde"|"Female"|"June, 2005"|"Gone to Hamster Heaven"|"Swansea, MA United States"|"Her wheel"|"Her wheel"|"Not sure yet!"
+"1854"|"Lilac"|"January, 2009"|"Hamster (Chinese)"|"Grey"|"Female"|"December, 2008"|"38 months"|"Horsham, PA United States"|"The wheel"|"The wheel"|"carrots"
+"1855"|"Fuzzball"|"May, 2006"|"Hamster (Russian)"|"Calico"|"Male"|"November, 2004"|"Gone to Hamster Heaven"|"Oyster Bay, NY United States"|"His Bowl"|"His Bowl"|"Anything"
+"1856"|"Ursa"|"September, 2006"|"Hamster (Teddy Bear)"|"Black"|"Female"|"July, 2006"|"Gone to Hamster Heaven"|"Pittsburgh, PA United States"|"Pittsburgh, PA United States"|"Pittsburgh, PA United States"|"Pittsburgh, PA United States"
+"1857"|"Louise"|"October, 2009"|"Gerbil (Unknown)"|"Black"|"Female"|"March, 2009"|"35 months"|"Pendell, PA United States"|"My ropes"|"My ropes"|"Anything the owner feeds me"
+"1858"|"Hampton/Hamptina"|"April, 2005"|"Hamster (Syrian)"|"Golden"|"Female"|"June, 2004"|"Gone to Hamster Heaven"|"Oneonta, NY United States"|"Alfalfa "cubes, toilet paper rolls and me!"|"Alfalfa "cubes, toilet paper rolls and me!"|"Sunflower seeds"
diff --git a/data/input_graphs/Quakers/quakers_edgelist.csv b/data/input_graphs/Quakers/quakers_edgelist.csv
new file mode 100644
index 0000000..8a932f5
--- /dev/null
+++ b/data/input_graphs/Quakers/quakers_edgelist.csv
@@ -0,0 +1,175 @@
+Source,Target
+George Keith,Robert Barclay
+George Keith,Benjamin Furly
+George Keith,Anne Conway Viscountess Conway and Killultagh
+George Keith,Franciscus Mercurius van Helmont
+George Keith,William Penn
+George Keith,George Fox
+George Keith,George Whitehead
+George Keith,William Bradford
+James Parnel,Benjamin Furly
+James Parnel,Stephen Crisp
+Peter Collinson,John Bartram
+Peter Collinson,James Logan
+Joseph Wyeth,Thomas Ellwood
+Alexander Skene of Newtyle,Lilias Skene
+Dorcas Erbery,James Nayler
+William Mucklow,George Fox
+Franciscus Mercurius van Helmont,Benjamin Furly
+William Dewsbury,Edward Burrough
+William Dewsbury,George Fox
+William Dewsbury,John Crook
+John Audland,John Camm
+John Audland,Francis Howgill
+John Audland,Edward Pyott
+John Audland,Charles Marshall
+John Audland,George Fox
+John Audland,Anne Camm
+Francis Howgill,Martha Simmonds
+Francis Howgill,James Nayler
+Francis Howgill,Edward Burrough
+Francis Howgill,George Fox
+Francis Howgill,Richard Farnworth
+Francis Howgill,William Crouch
+William Bradford,William Penn
+William Bradford,Tace Sowle
+John Bellers,Fettiplace Bellers
+William Rogers,Thomas Ellwood
+William Rogers,George Whitehead
+Martha Simmonds,Hannah Stranger
+Martha Simmonds,James Nayler
+Isabel Yeamans,William Penn
+George Fox the younger,Margaret Fell
+George Fox,Ellis Hookes
+George Fox,William Mead
+George Fox,Elizabeth Hooten
+George Fox,Margaret Fell
+George Fox,John Crook
+George Fox,George Whitehead
+George Fox,Benjamin Furly
+George Fox,Thomas Salthouse
+George Fox,James Nayler
+George Fox,Edward Burrough
+George Fox,John Wilkinson
+George Fox,Thomas Ellwood
+George Fox,William Coddington
+George Fox,John Stubbs
+George Fox,John Perrot
+George Fox,Leonard Fell
+George Fox,William Penn
+John Stubbs,Benjamin Furly
+John Stubbs,William Caton
+John Stubbs,Samuel Fisher
+John Stubbs,John Burnyeat
+John Camm,Charles Marshall
+John Camm,Thomas Camm
+John Camm,Edward Pyott
+Thomas Camm,John Story
+Thomas Camm,Anne Camm
+John Wilkinson,Charles Marshall
+John Wilkinson,Solomon Eccles
+John Wilkinson,John Story
+John Wilkinson,Alexander Parker
+Isaac Norris,William Penn
+John Swinton,David Barclay of Ury
+James Nayler,Hannah Stranger
+James Nayler,Gervase Benson
+James Nayler,Margaret Fell
+James Nayler,Richard Farnworth
+James Nayler,George Whitehead
+James Nayler,John Perrot
+James Nayler,Robert Rich
+James Nayler,Anthony Pearson
+James Nayler,Thomas Ellwood
+James Nayler,Edward Burrough
+James Nayler,Rebecca Travers
+James Nayler,William Tomlinson
+Anthony Sharp,Samuel Clarridge
+Anthony Sharp,Thomas Curtis
+Anthony Sharp,William Edmundson
+Thomas Salthouse,Margaret Fell
+William Ames,William Caton
+Mary Fisher,John Perrot
+Mary Fisher,Mary Prince
+Lydia Lancaster,Grace Chamber
+Henry Pickworth,Francis Bugg
+Samuel Clarridge,James Claypoole
+Francis Bugg,George Whitehead
+Thomas Lower,Margaret Fell
+Sarah Gibbons,Dorothy Waugh
+Gervase Benson,Anthony Pearson
+Stephen Crisp,William Caton
+Stephen Crisp,Benjamin Furly
+John Freame,David Barclay
+Humphrey Norton,John Rous
+William Gibson,Thomas Holme
+Gideon Wanton,John Wanton
+William Mead,Margaret Fell
+Benjamin Furly,Robert Barclay
+Benjamin Furly,Alexander Parker
+Benjamin Furly,William Caton
+Benjamin Furly,William Penn
+James Logan,John Bartram
+James Logan,William Penn
+James Logan,David Lloyd
+Mary Prince,John Perrot
+Edward Haistwell,William Penn
+John ap John,John Burnyeat
+John Crook,John Perrot
+John Crook,Edward Burrough
+Gilbert Latey,Edward Burrough
+Gilbert Latey,George Whitehead
+Richard Hubberthorne,George Whitehead
+Richard Hubberthorne,Richard Farnworth
+Joseph Besse,Richard Claridge
+Joseph Besse,Samuel Bownas
+George Whitehead,Alexander Parker
+George Whitehead,John Whitehead
+George Whitehead,Daniel Quare
+George Whitehead,William Penn
+George Whitehead,John Story
+George Whitehead,Rebecca Travers
+Silvanus Bevan,Daniel Quare
+Solomon Eccles,John Story
+Robert Rich,William Tomlinson
+John Burnyeat,William Edmundson
+John Burnyeat,William Penn
+Katharine Evans,Sarah Cheevers
+Edward Burrough,John Perrot
+Edward Burrough,Thomas Ellwood
+Edward Burrough,William Crouch
+John Whiting,Christopher Taylor
+Rebecca Travers,Alice Curwen
+Rebecca Travers,William Penn
+William Caton,Margaret Fell
+Thomas Lawson,Margaret Fell
+Thomas Lawson,Alexander Parker
+Richard Farnworth,John Perrot
+Richard Farnworth,Margaret Fell
+Richard Farnworth,Anthony Pearson
+Thomas Taylor,Christopher Taylor
+John Penington,Mary Penington
+Humphrey Woolrich,Mary Pennyman
+William Penn,Tace Sowle
+William Penn,James Claypoole
+William Penn,Thomas Story
+William Penn,Mary Penington
+William Penn,David Lloyd
+William Penn,Margaret Fell
+William Penn,Richard Claridge
+Richard Vickris,George Bishop
+Robert Barclay,David Barclay of Ury
+Jane Sowle,Tace Sowle
+Margaret Fell,Alexander Parker
+Margaret Fell,Elizabeth Leavens
+Margaret Fell,Anthony Pearson
+Elizabeth Leavens,Thomas Holme
+Lewis Morris,Sir Charles Wager
+Mary Penington,Thomas Curtis
+Mary Penington,Thomas Ellwood
+Thomas Curtis,Thomas Ellwood
+Thomas Curtis,William Simpson
+Thomas Curtis,John Story
+Alexander Parker,Sir Charles Wager
+John Story,Thomas Ellwood
+Thomas Aldam,Anthony Pearson
diff --git a/data/input_graphs/Quakers/quakers_edgelist.csv2 b/data/input_graphs/Quakers/quakers_edgelist.csv2
new file mode 100644
index 0000000..4cd9d20
--- /dev/null
+++ b/data/input_graphs/Quakers/quakers_edgelist.csv2
@@ -0,0 +1,175 @@
+Source,Target
+66,51
+66,41
+66,78
+66,69
+66,106
+66,15
+66,38
+66,10
+67,41
+67,25
+68,89
+68,2
+0,114
+1,4
+3,36
+5,15
+69,41
+7,96
+7,15
+7,32
+8,18
+8,71
+8,100
+8,104
+8,15
+8,17
+71,111
+71,36
+71,96
+71,15
+71,47
+71,40
+10,106
+10,53
+12,11
+74,114
+74,38
+111,118
+111,36
+13,106
+14,55
+15,34
+15,30
+15,37
+15,55
+15,32
+15,38
+15,41
+15,6
+15,36
+15,96
+15,61
+15,114
+15,48
+15,16
+15,117
+15,54
+15,106
+16,41
+16,70
+16,79
+16,95
+18,104
+18,19
+18,100
+19,112
+19,17
+61,104
+61,94
+61,112
+61,60
+75,106
+29,63
+36,118
+36,24
+36,55
+36,47
+36,38
+36,117
+36,43
+36,93
+36,114
+36,96
+36,97
+36,82
+76,22
+76,58
+76,98
+6,55
+73,70
+77,117
+77,88
+21,87
+31,80
+22,26
+80,38
+23,55
+81,108
+24,93
+25,70
+25,41
+28,64
+83,92
+84,27
+85,86
+30,55
+41,51
+41,60
+41,70
+41,106
+2,89
+2,106
+2,109
+88,117
+90,106
+91,95
+32,117
+32,96
+33,96
+33,38
+72,38
+72,47
+35,9
+35,116
+38,60
+38,39
+38,101
+38,106
+38,112
+38,97
+42,101
+94,112
+43,82
+95,98
+95,106
+20,99
+96,117
+96,114
+96,40
+44,45
+97,59
+97,106
+70,55
+46,55
+46,60
+47,117
+47,55
+47,93
+49,45
+102,103
+105,107
+106,53
+106,26
+106,113
+106,103
+106,109
+106,55
+106,9
+50,56
+51,63
+52,53
+55,60
+55,57
+55,93
+57,27
+110,65
+103,58
+103,114
+58,114
+58,115
+58,112
+60,65
+112,114
+62,93
diff --git a/data/input_graphs/Quakers/quakers_nodelist.csv b/data/input_graphs/Quakers/quakers_nodelist.csv
new file mode 100644
index 0000000..dddbfe0
--- /dev/null
+++ b/data/input_graphs/Quakers/quakers_nodelist.csv
@@ -0,0 +1,120 @@
+Name,Historical Significance,Gender,Birthdate,Deathdate,ID
+Joseph Wyeth,religious writer,male,1663,1731,10013191
+Alexander Skene of Newtyle,local politician and author,male,1621,1694,10011149
+James Logan,colonial official and scholar,male,1674,1751,10007567
+Dorcas Erbery,Quaker preacher,female,1656,1659,10003983
+Lilias Skene,Quaker preacher and poet,male,1626,1697,10011152
+William Mucklow,religious writer,male,1630,1713,10008595
+Thomas Salthouse,Quaker preacher and writer,male,1630,1691,10010643
+William Dewsbury,Quaker activist,male,1621,1688,10003478
+John Audland,Quaker preacher,male,1630,1664,10000411
+Richard Claridge,Quaker minister and schoolmaster,male,1649,1723,10002469
+William Bradford,printer,male,1663,1752,10001445
+Fettiplace Bellers,philosophical writer and playwright,male,1687,1750,10000933
+John Bellers,political economist and cloth merchant,male,1654,1725,10000934
+Isabel Yeamans,Quaker preacher,female,1637,1704,10013226
+George Fox the younger,religious writer,male,1551,1661,10004523
+George Fox, a founder of the Religious Society of Friends (Quakers),male,1624,1691,10004524
+John Stubbs,Quaker minister,male,1618,1675,10011695
+Anne Camm,Quaker preacher,female,1627,1705,10001967
+John Camm,Quaker preacher,male,1605,1657,10001968
+Thomas Camm,Quaker preacher and writer,male,1640,1708,10001969
+Katharine Evans,Quaker missionary,female,1618,1692,10004036
+Lydia Lancaster,Quaker minister,female,1683,1761,10007110
+Samuel Clarridge,Quaker activist,male,1631,1704,10002504
+Thomas Lower,Quaker activist and physician,male,1633,1720,10007626
+Gervase Benson,Quaker leader,male,1569,1679,10000972
+Stephen Crisp,Quaker activist and writer,male,1628,1692,10003022
+James Claypoole,merchant and pioneer settler in America,male,1634,1687,10002513
+Thomas Holme,Quaker missionary,male,1626,1666,10006100
+John Freame,banker and lobbyist,male,1665,1745,10004564
+John Swinton,politician,male,1620,1679,10011742
+William Mead,Quaker patron and merchant,male,1627,1713,10008161
+Henry Pickworth,religious controversialist,male,1673,1738,10009697
+John Crook,Quaker leader and writer,male,1616,1699,10003063
+Gilbert Latey,Quaker activist,male,1626,1705,10007166
+Ellis Hookes,Quaker administrator,male,1635,1681,10006146
+Joseph Besse,historian of Quakerism,male,1683,1757,10001027
+James Nayler,Quaker preacher and writer,male,1618,1660,10008713
+Elizabeth Hooten,Quaker preacher,female,1562,1672,10006153
+George Whitehead,Quaker leader and writer,male,1637,1724,10012813
+John Whitehead,Quaker minister and preacher,male,1630,1696,10012815
+William Crouch,Quaker leader and writer,male,1628,1711,10003087
+Benjamin Furly,merchant and religious writer,male,1636,1714,10004625
+Silvanus Bevan,apothecary,male,1691,1765,10001041
+Robert Rich,Quaker adherent and sectary,male,1607,1679,10010260
+John Whiting,Quaker bibliographer and writer,male,1656,1722,10012829
+Christopher Taylor,religious writer and schoolmaster,male,1614,1686,10011811
+Thomas Lawson,Quaker minister and botanist,male,1630,1691,10007210
+Richard Farnworth,Quaker preacher and writer,male,1630,1666,10004141
+William Coddington,merchant and official in America,male,1601,1678,10002606
+Thomas Taylor,Quaker minister and writer,male,1617,1682,10011824
+Richard Vickris,religious writer,male,1590,1700,10012350
+Robert Barclay,religious writer and colonial governor,male,1648,1690,10054848
+Jane Sowle,,female,1631,1711,10011331
+Tace Sowle,printer and bookseller,male,1666,1749,10011332
+Leonard Fell,Quaker missionary and writer,male,1624,1701,10004169
+Margaret Fell,Quaker leader,female,1614,1702,10004170
+George Bishop,government official and religious writer,male,1558,1668,10001097
+Elizabeth Leavens,Quaker missionary,female,1555,1665,10007246
+Thomas Curtis,Quaker schismatic,male,1602,1712,10003161
+Alice Curwen,Quaker missionary,female,1619,1679,10003162
+Alexander Parker,Quaker preacher and author,male,1628,1689,10009307
+John Wilkinson,Quaker schismatic,male,1652,1683,10012893
+Thomas Aldam,Quaker preacher and writer,male,1616,1660,10000099
+David Barclay of Ury,soldier and politician,male,1610,1686,10000621
+David Barclay,merchant,male,1682,1769,10000622
+Sir Charles Wager,naval officer and politician,male,1666,1743,10012403
+George Keith,Quaker schismatic and Church of England clergyman,male,1638,1716,10006784
+James Parnel,Quaker martyr,male,1636,1656,10009347
+Peter Collinson,botanist,male,1694,1768,10002694
+Franciscus Mercurius van Helmont,physician and cabbalist,male,1614,1698,10005781
+William Caton,Quaker preacher,male,1636,1665,10002203
+Francis Howgill,Quaker activist,male,1618,1669,10006305
+Richard Hubberthorne,Quaker activist,male,1628,1662,10006314
+William Ames,Quaker preacher,male,1552,1662,10000175
+William Rogers,Quaker schismatic,male,1601,1711,10010417
+Isaac Norris,colonial official and merchant,male,1671,1735,10008884
+Anthony Sharp,Quaker leader,male,1643,1707,10010941
+Mary Fisher,Quaker missionary,female,1623,1698,10004290
+Anne Conway Viscountess Conway and Killultagh,philosopher,female,1631,1679,10002755
+Samuel Fisher,Quaker preacher and writer,male,1604,1665,10004292
+Francis Bugg,Quaker apostate,male,1640,1727,10001737
+Sarah Gibbons,Quaker preacher in America,female,1634,1659,10004811
+William Tomlinson,religious writer,male,1650,1696,10011989
+Humphrey Norton,Quaker missionary and author,male,1655,1660,10008917
+William Gibson,Quaker leader,male,1628,1684,10004827
+Gideon Wanton,merchant and colonial governor,male,1693,1767,10012509
+John Wanton,merchant and colonial governor,male,1672,1740,10012510
+Grace Chamber,Quaker minister,female,1676,1762,10002274
+Mary Prince,Quaker preacher,female,1569,1679,10009959
+John Bartram,botanist and explorer in America,male,1699,1777,10000745
+Edward Haistwell,merchant,male,1658,1709,10005359
+John ap John,Quaker leader,male,1625,1697,10000243
+John Rous,Quaker missionary,male,1585,1695,10010488
+Anthony Pearson,Quaker administrator,male,1627,1666,10009470
+Solomon Eccles,musician and Quaker missionary,male,1617,1682,10003859
+John Burnyeat,Quaker minister,male,1631,1690,10001815
+Edward Burrough,Quaker activist and writer,male,1633,1663,10001818
+Rebecca Travers,Quaker preacher and writer,female,1609,1688,10012062
+William Edmundson,Quaker leader,male,1627,1712,10003882
+Sarah Cheevers,Quaker missionary,female,1608,1664,10002354
+Edward Pyott,parliamentarian army officer,male,1560,1670,10010036
+Daniel Quare,"maker of clocks, watches, and barometers",male,1648,1724,10010037
+John Penington,Quaker apologist and controversialist,male,1655,1710,10009526
+Mary Penington,Quaker and writer,female,1623,1682,10009527
+Charles Marshall,Quaker preacher and apothecary,male,1637,1698,10007992
+Humphrey Woolrich,religious writer,male,1633,1707,10013112
+William Penn,Quaker leader and founder of Pennsylvania,male,1644,1718,10009531
+Mary Pennyman,,female,1630,1701,10009535
+Dorothy Waugh,Quaker preacher,female,1636,1666,10012614
+David Lloyd,lawyer and politician in America,male,1656,1731,10007509
+Lewis Morris,politician in America,male,1671,1746,10008534
+Martha Simmonds,Quaker and author,female,1624,1665,10011100
+John Story,Quaker schismatic,male,1571,1681,10011613
+Thomas Story,Quaker minister and journal writer,male,1670,1742,10011614
+Thomas Ellwood,religious controversialist,male,1639,1713,10003945
+William Simpson,Quaker preacher,male,1627,1671,10011114
+Samuel Bownas,Quaker minister and writer,male,1677,1753,10001390
+John Perrot,Quaker schismatic,male,1555,1665,10009584
+Hannah Stranger,Quaker missionary,female,1656,1671,10011632
diff --git a/data/input_graphs/Quakers/quakers_nodelist.csv2 b/data/input_graphs/Quakers/quakers_nodelist.csv2
new file mode 100644
index 0000000..1e53910
--- /dev/null
+++ b/data/input_graphs/Quakers/quakers_nodelist.csv2
@@ -0,0 +1,120 @@
+Name,Historical Significance,Gender,Birthdate,Deathdate,ID
+0,religious writer,male,1663,1731,10013191
+1,local politician and author,male,1621,1694,10011149
+2,colonial official and scholar,male,1674,1751,10007567
+3,Quaker preacher,female,1656,1659,10003983
+4,Quaker preacher and poet,male,1626,1697,10011152
+5,religious writer,male,1630,1713,10008595
+6,Quaker preacher and writer,male,1630,1691,10010643
+7,Quaker activist,male,1621,1688,10003478
+8,Quaker preacher,male,1630,1664,10000411
+9,Quaker minister and schoolmaster,male,1649,1723,10002469
+10,printer,male,1663,1752,10001445
+11,philosophical writer and playwright,male,1687,1750,10000933
+12,political economist and cloth merchant,male,1654,1725,10000934
+13,Quaker preacher,female,1637,1704,10013226
+14,religious writer,male,1551,1661,10004523
+15, a founder of the Religious Society of Friends (Quakers),male,1624,1691,10004524
+16,Quaker minister,male,1618,1675,10011695
+17,Quaker preacher,female,1627,1705,10001967
+18,Quaker preacher,male,1605,1657,10001968
+19,Quaker preacher and writer,male,1640,1708,10001969
+20,Quaker missionary,female,1618,1692,10004036
+21,Quaker minister,female,1683,1761,10007110
+22,Quaker activist,male,1631,1704,10002504
+23,Quaker activist and physician,male,1633,1720,10007626
+24,Quaker leader,male,1569,1679,10000972
+25,Quaker activist and writer,male,1628,1692,10003022
+26,merchant and pioneer settler in America,male,1634,1687,10002513
+27,Quaker missionary,male,1626,1666,10006100
+28,banker and lobbyist,male,1665,1745,10004564
+29,politician,male,1620,1679,10011742
+30,Quaker patron and merchant,male,1627,1713,10008161
+31,religious controversialist,male,1673,1738,10009697
+32,Quaker leader and writer,male,1616,1699,10003063
+33,Quaker activist,male,1626,1705,10007166
+34,Quaker administrator,male,1635,1681,10006146
+35,historian of Quakerism,male,1683,1757,10001027
+36,Quaker preacher and writer,male,1618,1660,10008713
+37,Quaker preacher,female,1562,1672,10006153
+38,Quaker leader and writer,male,1637,1724,10012813
+39,Quaker minister and preacher,male,1630,1696,10012815
+40,Quaker leader and writer,male,1628,1711,10003087
+41,merchant and religious writer,male,1636,1714,10004625
+42,apothecary,male,1691,1765,10001041
+43,Quaker adherent and sectary,male,1607,1679,10010260
+44,Quaker bibliographer and writer,male,1656,1722,10012829
+45,religious writer and schoolmaster,male,1614,1686,10011811
+46,Quaker minister and botanist,male,1630,1691,10007210
+47,Quaker preacher and writer,male,1630,1666,10004141
+48,merchant and official in America,male,1601,1678,10002606
+49,Quaker minister and writer,male,1617,1682,10011824
+50,religious writer,male,1590,1700,10012350
+51,religious writer and colonial governor,male,1648,1690,10054848
+52,,female,1631,1711,10011331
+53,printer and bookseller,male,1666,1749,10011332
+54,Quaker missionary and writer,male,1624,1701,10004169
+55,Quaker leader,female,1614,1702,10004170
+56,government official and religious writer,male,1558,1668,10001097
+57,Quaker missionary,female,1555,1665,10007246
+58,Quaker schismatic,male,1602,1712,10003161
+59,Quaker missionary,female,1619,1679,10003162
+60,Quaker preacher and author,male,1628,1689,10009307
+61,Quaker schismatic,male,1652,1683,10012893
+62,Quaker preacher and writer,male,1616,1660,10000099
+63,soldier and politician,male,1610,1686,10000621
+64,merchant,male,1682,1769,10000622
+65,naval officer and politician,male,1666,1743,10012403
+66,Quaker schismatic and Church of England clergyman,male,1638,1716,10006784
+67,Quaker martyr,male,1636,1656,10009347
+68,botanist,male,1694,1768,10002694
+69,physician and cabbalist,male,1614,1698,10005781
+70,Quaker preacher,male,1636,1665,10002203
+71,Quaker activist,male,1618,1669,10006305
+72,Quaker activist,male,1628,1662,10006314
+73,Quaker preacher,male,1552,1662,10000175
+74,Quaker schismatic,male,1601,1711,10010417
+75,colonial official and merchant,male,1671,1735,10008884
+76,Quaker leader,male,1643,1707,10010941
+77,Quaker missionary,female,1623,1698,10004290
+78,philosopher,female,1631,1679,10002755
+79,Quaker preacher and writer,male,1604,1665,10004292
+80,Quaker apostate,male,1640,1727,10001737
+81,Quaker preacher in America,female,1634,1659,10004811
+82,religious writer,male,1650,1696,10011989
+83,Quaker missionary and author,male,1655,1660,10008917
+84,Quaker leader,male,1628,1684,10004827
+85,merchant and colonial governor,male,1693,1767,10012509
+86,merchant and colonial governor,male,1672,1740,10012510
+87,Quaker minister,female,1676,1762,10002274
+88,Quaker preacher,female,1569,1679,10009959
+89,botanist and explorer in America,male,1699,1777,10000745
+90,merchant,male,1658,1709,10005359
+91,Quaker leader,male,1625,1697,10000243
+92,Quaker missionary,male,1585,1695,10010488
+93,Quaker administrator,male,1627,1666,10009470
+94,musician and Quaker missionary,male,1617,1682,10003859
+95,Quaker minister,male,1631,1690,10001815
+96,Quaker activist and writer,male,1633,1663,10001818
+97,Quaker preacher and writer,female,1609,1688,10012062
+98,Quaker leader,male,1627,1712,10003882
+99,Quaker missionary,female,1608,1664,10002354
+100,parliamentarian army officer,male,1560,1670,10010036
+101,"maker of clocks, watches, and barometers",male,1648,1724,10010037
+102,Quaker apologist and controversialist,male,1655,1710,10009526
+103,Quaker and writer,female,1623,1682,10009527
+104,Quaker preacher and apothecary,male,1637,1698,10007992
+105,religious writer,male,1633,1707,10013112
+106,Quaker leader and founder of Pennsylvania,male,1644,1718,10009531
+107,,female,1630,1701,10009535
+108,Quaker preacher,female,1636,1666,10012614
+109,lawyer and politician in America,male,1656,1731,10007509
+110,politician in America,male,1671,1746,10008534
+111,Quaker and author,female,1624,1665,10011100
+112,Quaker schismatic,male,1571,1681,10011613
+113,Quaker minister and journal writer,male,1670,1742,10011614
+114,religious controversialist,male,1639,1713,10003945
+115,Quaker preacher,male,1627,1671,10011114
+116,Quaker minister and writer,male,1677,1753,10001390
+117,Quaker schismatic,male,1555,1665,10009584
+118,Quaker missionary,female,1656,1671,10011632
diff --git a/data/sample_data.txt b/data/sample_data.txt
deleted file mode 100644
index 5c611d5..0000000
--- a/data/sample_data.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a sample data file
\ No newline at end of file
diff --git a/datastore/mysql_datastore.py b/datastore/mysql_datastore.py
index 96278f0..378de16 100644
--- a/datastore/mysql_datastore.py
+++ b/datastore/mysql_datastore.py
@@ -1,7 +1,8 @@
import logging
from typing import List, Tuple, Dict
-from mysql import connector as mysql_connector
+from mysql import connector
+import mysql.connector.connection_cext
from .abstract_datastore import AbstractDatastore
@@ -11,8 +12,8 @@
class MySqlDatastore(AbstractDatastore):
__slots__ = ('_connection', '_cursor')
- _connection: mysql_connector.connection_cext.CMySQLConnection
- _cursor: mysql_connector.connection_cext.CMySQLCursor
+ _connection: connector.connection_cext.CMySQLConnection
+ _cursor: connector.connection_cext.CMySQLCursor
def __init__(self, config: Dict) -> None:
"""
@@ -25,7 +26,7 @@ def __init__(self, config: Dict) -> None:
@staticmethod
def get_connection(username: str, password: str, hostname: str, db_name: str, port: int = 3306) \
- -> Tuple[mysql_connector.connection_cext.CMySQLConnection, mysql_connector.connection_cext.CMySQLCursor]:
+ -> Tuple[connector.connection_cext.CMySQLConnection, connector.connection_cext.CMySQLCursor]:
"""
Creates and returns a connection and a cursor/session to the MySQL DB
@@ -37,7 +38,7 @@ def get_connection(username: str, password: str, hostname: str, db_name: str, po
:return:
"""
- connection = mysql_connector.connect(
+ connection = connector.connect(
host=hostname,
user=username,
passwd=password,
diff --git a/email_app/abstract_email_app.py b/email_app/abstract_email_app.py
deleted file mode 100644
index 3b180e2..0000000
--- a/email_app/abstract_email_app.py
+++ /dev/null
@@ -1,39 +0,0 @@
-from abc import ABC, abstractmethod
-
-
-class AbstractEmailApp(ABC):
- __slots__ = ('_handler',)
-
- @abstractmethod
- def __init__(self, *args, **kwargs) -> None:
- """
- Tha basic constructor. Creates a new instance of EmailApp using the specified credentials
-
- """
-
- pass
-
- @staticmethod
- @abstractmethod
- def get_handler(*args, **kwargs):
- """
- Returns an EmailApp handler.
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
-
- @abstractmethod
- def send_email(self, *args, **kwargs):
- """
- Sends an email with the specified arguments.
-
- :param args:
- :param kwargs:
- :return:
- """
-
- pass
diff --git a/email_app/gmail_email_app.py b/email_app/gmail_email_app.py
deleted file mode 100644
index 9126252..0000000
--- a/email_app/gmail_email_app.py
+++ /dev/null
@@ -1,85 +0,0 @@
-from typing import List, Dict
-import logging
-from gmail import GMail, Message
-
-from .abstract_email_app import AbstractEmailApp
-
-logger = logging.getLogger('GmailEmailApp')
-
-
-class GmailEmailApp(AbstractEmailApp):
- __slots__ = ('_handler', 'email_address', 'test_mode')
-
- _handler: GMail
- test_mode: bool
-
- def __init__(self, config: Dict, test_mode: bool = False) -> None:
- """
- The basic constructor. Creates a new instance of EmailApp using the specified credentials
-
- :param config:
- :param test_mode:
- """
-
- self.email_address = config['email_address']
- self._handler = self.get_handler(email_address=self.email_address,
- api_key=config['api_key'])
- self.test_mode = test_mode
- super().__init__()
-
- @staticmethod
- def get_handler(email_address: str, api_key: str) -> GMail:
- """
- Returns an EmailApp handler.
-
- :param email_address:
- :param api_key:
- :return:
- """
-
- gmail_handler = GMail(username=email_address, password=api_key)
- gmail_handler.connect()
- return gmail_handler
-
- def is_connected(self) -> bool:
- return self._handler.is_connected()
-
- def get_self_email(self):
- return self.email_address
-
- def send_email(self, subject: str, to: List, cc: List = None, bcc: List = None, text: str = None, html: str = None,
- attachments: List = None, sender: str = None, reply_to: str = None) -> None:
- """
- Sends an email with the specified arguments.
-
- :param subject:
- :param to:
- :param cc:
- :param bcc:
- :param text:
- :param html:
- :param attachments:
- :param sender:
- :param reply_to:
- :return:
- """
-
- if self.test_mode:
- to = self.email_address
- cc = self.email_address if cc is not None else None
- bcc = self.email_address if bcc is not None else None
-
- msg = Message(subject=subject,
- to=",".join(to),
- cc=",".join(cc) if cc is not None else None,
- bcc=",".join(bcc) if cc is not None else None,
- text=text,
- html=html,
- attachments=attachments,
- sender=sender,
- reply_to=reply_to)
- logger.debug("Sending email with Message: %s" % msg)
- self._handler.send(msg)
-
- def __exit__(self):
- self._handler.close()
diff --git a/email_app/__init__.py b/graph_tools/__init__.py
similarity index 100%
rename from email_app/__init__.py
rename to graph_tools/__init__.py
diff --git a/graph_tools/graph_tools.py b/graph_tools/graph_tools.py
new file mode 100644
index 0000000..e9f1fe4
--- /dev/null
+++ b/graph_tools/graph_tools.py
@@ -0,0 +1,540 @@
+from typing import List, Dict, Tuple
+import logging
+from tqdm import tqdm
+import numpy as np
+from sklearn.metrics.pairwise import cosine_similarity as pairwise_cosine_similarities
+
+from spark_manager import spark_manager as sm_lib
+from color_log.color_log import ColorLog
+
+logger = ColorLog(logging.getLogger('GraphTools'), 'cyan')
+
+
+class GraphTools:
+ """Manages the creation of the spark runtime along with any related file
+ system operations.
+ """
+
+ __slots__ = ('sm', 'max_sp_length',)
+
+ sm: sm_lib.SparkManager
+ max_sp_length: int
+
+ def __init__(self, sm: sm_lib.SparkManager, max_sp_length: int) -> None:
+ """The basic constructor. Creates a new instance of GraphTools using the
+ specified settings.
+
+ Args:
+ sm (sm_lib.SparkManager):
+ max_sp_length (int):
+ """
+
+ self.sm = sm
+ self.max_sp_length = max_sp_length
+
+ @staticmethod
+ def calculate_cosine_similarities(dummy_vectors: sm_lib.pyspark.sql.DataFrame,
+ edges_df: sm_lib.pyspark.sql.DataFrame) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Calculate cosine similarities for all input edges.
+
+ Args:
+ dummy_vectors (sm_lib.pyspark.sql.DataFrame):
+ edges_df (sm_lib.pyspark.sql.DataFrame):
+ """
+
+ logger.info("Calculating Cosine Similarities..")
+ edges_df = edges_df.repartition(4, "src").sortWithinPartitions("src")
+ dummy_vectors = dummy_vectors.repartition(4, "id").sortWithinPartitions("id")
+ # Join edge with the corresponding vectors
+ # noinspection PyTypeChecker
+ edge_vectors = edges_df.join(other=dummy_vectors,
+ on=edges_df.src == dummy_vectors.id,
+ how="inner") \
+ .withColumnRenamed('features', 'features_src') \
+ .drop("id") \
+ .repartition(4, "dst").sortWithinPartitions("dst") \
+ .join(other=dummy_vectors,
+ on=edges_df.dst == dummy_vectors.id,
+ how="inner") \
+ .withColumnRenamed('features', 'features_dst') \
+ .drop("id")
+
+ # Calculate cosine similarity of the each row's two vectors
+ udf_pairwise_cosine_similarities = sm_lib.udf(
+ f=lambda col1, col2: float(pairwise_cosine_similarities(np.array((col1, col2)))[0][1]),
+ returnType=sm_lib.FloatType()
+ )
+ cosine_similarities = edge_vectors.withColumn('similarity',
+ udf_pairwise_cosine_similarities(edge_vectors.features_src,
+ edge_vectors.features_dst))
+
+ return cosine_similarities.drop("features_src").drop("features_dst")
+
+ def calculate_edge_betweenness(self, g: sm_lib.GraphFrame, landmarks: List[int]) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Calculate edge betweenness.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ landmarks (List[int]):
+ """
+
+ logger.info("Calculating Edge Betweenness (Max Depth: %s).." % self.max_sp_length)
+ # Find all pairs of shortest paths
+ shortest_paths_df = self.calculate_all_pairs_shortest_paths(g=g, landmarks=landmarks)
+ # Use the shortest paths to find betweenness
+ return self.find_betweenness_from_shortest_paths(shortest_paths_df=shortest_paths_df)
+
+ def calculate_all_pairs_shortest_paths(self, g: sm_lib.GraphFrame, landmarks: List[int]) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Calculates all pairs of shortest paths for a GraphFrame.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ landmarks (List[int]):
+ """
+
+ logger.info("Calculating all pairs shortest paths..")
+ # Find all the shortest paths lengths
+ sp_lengths = self.calculate_sp_lengths(g=g, landmarks=landmarks, batch_size=int(len(landmarks) * 0.5))
+ # self.max_sp_length = self.get_max_length(sp_lengths)
+ # Calculate all the motifs(paths) with lengths between 1 and self.max_sp_length
+ possible_motifs = self.generate_all_possible_motifs(g=g)
+ self.sm.unpersist_all()
+ # Calculate all-pairs shortest paths using the distances and the motifs
+ shortest_paths_list = self.find_shortest_paths_from_motifs(sp_lengths=sp_lengths,
+ possible_motifs=possible_motifs)
+ # Create the shortest paths df from a of shortest paths
+ logger.info("Creating the shortest paths df from a of shortest paths..")
+ shortest_paths_df = self.sm.get_shortest_paths_df(shortest_paths_list=shortest_paths_list)
+ self.sm.unpersist_all()
+
+ return shortest_paths_df
+
+ def calculate_sp_lengths(self, g: sm_lib.GraphFrame, landmarks: List[int], batch_size: int = 100) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Calculates the distances of all the shortest paths
+
+ Args:
+ g (sm_lib.GraphFrame):
+ landmarks (List[int]):
+ batch_size (int):
+ """
+
+ g = self.sm.GraphFrame(g.vertices,
+ g.edges.union(g.edges.select(g.edges.dst.alias("src"), g.edges.src.alias("dst"))))
+ if batch_size > len(landmarks): batch_size = len(landmarks) - 1
+ sp_lengths_list = []
+ logger.info("Calculating shortest paths distances for %d nodes at a time.." % batch_size)
+
+ for ind in tqdm(range(0, len(landmarks), batch_size), desc="Calculating shortest paths distances"):
+ current_landmarks = []
+ for i in range(batch_size):
+ current_landmarks.append(landmarks[ind + i])
+ if ind + batch_size + 1 > len(landmarks):
+ break
+
+ paths = g.shortestPaths(landmarks=current_landmarks).persist(sm_lib.StorageLevel.MEMORY_AND_DISK)
+ sp_lengths_list.append(paths)
+
+ for sp_length_df in sp_lengths_list:
+ sp_length_df = sp_length_df.select("id", sm_lib.explode("distances")) \
+ .withColumnRenamed("id", "dst") \
+ .withColumnRenamed("key", "src") \
+ .withColumnRenamed("value", "distance") \
+ .filter("distance<={}".format(self.max_sp_length)) \
+ .dropDuplicates(['src', 'dst']) \
+ .repartition(4, "src").sortWithinPartitions("src")
+ self.sm.save_to_parquet(df=sp_length_df, name="sp_lengths", mode="append", pre_final=True)
+ sp_length_df.unpersist()
+ # sp_lengths_df = self.sm.union_dfs(sp_lengths_list, 5)
+ sp_lengths_df = self.sm.clean_and_reload_df(name="sp_lengths")
+ return sp_lengths_df.filter("distance>0")
+
+ # def get_max_length(self, df: sm_lib.pyspark.sql.DataFrame) -> int:
+ # """Calculate the max distance."""
+ #
+ # logger.info("Calculating the max sp distance..")
+ # max_length_df = df.agg({"distance": "max"})
+ # return max_length_df.collect()[0][0]
+
+ def generate_all_possible_motifs(self, g: sm_lib.GraphFrame) \
+ -> Dict[int, sm_lib.pyspark.sql.DataFrame]:
+ """Generates all the possible motifs up to the specified length.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ """
+
+ logger.info("Generating all the possible paths(motifs) with lengths between 1 and %s: " % self.max_sp_length)
+ g = self.sm.GraphFrame(g.vertices,
+ g.edges.union(g.edges.select(g.edges.dst.alias("src"),
+ g.edges.src.alias("dst"))))
+
+ possible_motifs = {}
+ for length in range(1, self.max_sp_length + 1):
+ motifPath = self.create_motif(length)
+ current_motif = g.find(motifPath).filter("a != z").dropDuplicates()
+ current_motif.persist(sm_lib.StorageLevel.MEMORY_AND_DISK)
+ possible_motifs[length] = current_motif
+ return possible_motifs
+
+ def find_shortest_paths_from_motifs(self, sp_lengths: sm_lib.pyspark.sql.DataFrame,
+ possible_motifs: Dict[int, sm_lib.pyspark.sql.DataFrame]) \
+ -> List[sm_lib.pyspark.sql.DataFrame]:
+ """Find the shortest paths based on the sp distances and the possible
+ motifs.
+
+ Args:
+ sp_lengths (sm_lib.pyspark.sql.DataFrame):
+ possible_motifs (Dict[int, sm_lib.pyspark.sql.DataFrame]):
+ """
+
+ logger.info("Calculating all-pairs shortest paths based on the distances and the motifs..")
+ shortest_paths_list = []
+ for length in range(self.max_sp_length, 0, -1):
+ sp_lengths = sp_lengths.filter("distance={}".format(length))
+ motifs = possible_motifs[length]
+ # splitWeights = [0.5 for _ in list(range(length))*10]
+ # inner_sp_lengths_list = sp_lengths_to_split.randomSplit(split_weights)
+ # for sp_lengths in tqdm(inner_sp_lengthsList):
+ motifs.createOrReplaceTempView("motifs")
+ sp_lengths.createOrReplaceTempView("sp_lengths")
+ # motifs.persist(StorageLevel.MEMORY_AND_DISK)
+ # sp_lengths.persist(StorageLevel.MEMORY_AND_DISK)
+ motifs = self.sm.sql_context.sql(
+ "SELECT m.* FROM motifs m INNER JOIN sp_lengths l ON (m.a.id = l.dst and m.z.id = l.src)") \
+ .dropDuplicates(["a", "z"]).orderBy("a", "z")
+ self.sm.spark_session.catalog.dropTempView("motifs")
+ self.sm.spark_session.catalog.dropTempView("sp_lengths")
+ # motifs.unpersist()
+ # sp_lengths.unpersist()
+ columns_starting_with_e = [c for c in motifs.columns if (c[0] == 'n' or c == 'a' or c == 'z')]
+ shortest_paths_list.append(sm_lib.reduce(sm_lib.pyspark.sql.DataFrame.drop,
+ columns_starting_with_e,
+ motifs))
+
+ return shortest_paths_list
+
+ @staticmethod
+ def create_motif(length: int) -> str:
+ """Create a motif string.
+
+ Args:
+ length (int):
+ """
+
+ motif_path = "(a)-[e0]->"
+ for i in range(1, length):
+ motif_path += "(n%s);(n%s)-[e%s]->" % (i - 1, i - 1, i)
+ motif_path += "(z)"
+ return motif_path
+
+ def find_betweenness_from_shortest_paths(self, shortest_paths_df: sm_lib.pyspark.sql.DataFrame) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Find the Girvan-Newman edge betweenness using the shortest paths.
+
+ Args:
+ shortest_paths_df (sm_lib.pyspark.sql.DataFrame):
+ """
+
+ logger.info("Find the Girvan-Newman edge betweenness using the shortest paths..")
+ # Put all edges from the shortest paths df into a single column
+ one_column_edges_df = self.put_edges_in_a_column(shortest_paths_df=shortest_paths_df)
+ # Calculate the edge occurrences which is basically the betweenness per edge
+ edge_occurrences_df = self.count_edge_occurrences(one_column_edges_df=one_column_edges_df)
+ edge_occurrences_df.persist(sm_lib.StorageLevel.MEMORY_AND_DISK)
+
+ # max_edges_df = find_max_betweenness_edges(edge_occurrences_df)
+ # edges_df = filterout_max_edges(edges_df, max_edges_df)
+ return edge_occurrences_df
+
+ @staticmethod
+ def put_edges_in_a_column(shortest_paths_df: sm_lib.pyspark.sql.DataFrame) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Take the spread-out edges from all the shortest paths columns and put
+ them in a single column.
+
+ Args:
+ shortest_paths_df (sm_lib.pyspark.sql.DataFrame):
+ """
+
+ logger.info("Putting all the shortest path edges into a single column..")
+ columns = [x for x in shortest_paths_df.columns if x[0] == 'e']
+ one_column_edges_df = shortest_paths_df
+ for col in columns[1:]:
+ one_column_edges_df = one_column_edges_df.select(columns[0]).union(shortest_paths_df.select(col))
+ return one_column_edges_df
+
+ @staticmethod
+ def count_edge_occurrences(one_column_edges_df: sm_lib.pyspark.sql.DataFrame) \
+ -> sm_lib.pyspark.sql.DataFrame:
+ """Count the occurrences of all the distinct edges.
+
+ Args:
+ one_column_edges_df (sm_lib.pyspark.sql.DataFrame):
+ """
+
+ logger.info("Counting the edge occurrences..")
+ columns = one_column_edges_df.columns
+ edge_occurrences_df = one_column_edges_df.withColumnRenamed(columns[0], "edges") \
+ .groupBy("edges") \
+ .agg({"edges": "count"}) \
+ .dropna() \
+ .withColumnRenamed("count(edges)", "betweenness")
+ return edge_occurrences_df
+
+ # def find_max_betweenness_edges(self, edge_occurrences_df):
+ # max_betweenness = edge_occurrences_df.agg({'betweenness': 'max'}) \
+ # .withColumnRenamed("max(betweenness)", "max_betweenness")
+ # max_edges_df = edge_occurrences_df.join(max_betweenness,
+ # edge_occurrences_df.betweenness == max_betweenness.max_betweenness,
+ # "inner")
+ # columns = max_edges_df.columns
+ # return max_edges_df.select(columns[0])
+
+ # def filterout_maxedges(self, edges_df, max_edges_df):
+ # cond1 = [edges_df.src == max_edges_df.edges.src, edges_df.dst == max_edges_df.edges.dst]
+ # cond2 = [edges_df.src == max_edges_df.edges.dst, edges_df.dst == max_edges_df.edges.src]
+ # return edges_df.join(max_edges_df, cond1, "left_anti") \
+ # .join(max_edges_df, cond2, "left_anti")
+
+ def filter_edges_based_on_r_metrics(self, g: sm_lib.GraphFrame, r_lvl1_thres: float, r_lvl2_thres: float) \
+ -> Tuple[sm_lib.pyspark.sql.DataFrame,
+ sm_lib.pyspark.sql.DataFrame,
+ sm_lib.pyspark.sql.DataFrame]:
+ """Scan the neighborhoods, calculate the r metrics and filter edges
+ based on the metrics.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ r_lvl1_thres (float):
+ r_lvl2_thres (float):
+ """
+
+ logger.info("Scanning Neighborhoods..")
+ # Find level 1 and 2 neighbors of each edge
+ lvl1_neighbors, lvl2_neighbors = self.find_neighbors(g=g)
+ # Calculate r metrics using the neighbors and remove edges based on them
+ edges_r = self.remove_edges_using_r_metrics(g=g,
+ lvl1_neighbors=lvl1_neighbors,
+ lvl2_neighbors=lvl2_neighbors,
+ r_lvl1_thres=r_lvl1_thres,
+ r_lvl2_thres=r_lvl2_thres)
+
+ return lvl1_neighbors, lvl2_neighbors, edges_r
+
+ def find_neighbors(self, g: sm_lib.GraphFrame) -> List[sm_lib.pyspark.sql.DataFrame]:
+ """Find level 1 and level neighbors of each node.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ """
+
+ logger.info("Searching for level 1 and 2 Neighbors..")
+ g = sm_lib.GraphFrame(g.vertices,
+ g.edges.union(g.edges.select(g.edges.dst.alias("src"), g.edges.src.alias("dst"))))
+
+ all_lvl_neighbors = list()
+ for path_length in range(1, 3):
+ motif_struct = self.create_motif(length=path_length)
+ if path_length == 1:
+ current_lvl_neighbors = g.find(motif_struct).selectExpr("a.id as id", "z.id as dst") \
+ .repartition(4, "id").sortWithinPartitions("id")
+ else:
+ # Neighbors in level 2 include also the neighbors from level 1
+ current_lvl_neighbors = g.find(motif_struct).selectExpr("a.id as id", "z.id as dst", "n0.id as dst_2") \
+ .repartition(4, "id").sortWithinPartitions("id")
+ current_lvl_neighbors = current_lvl_neighbors.select("id", "dst") \
+ .unionByName(current_lvl_neighbors.selectExpr("id", "dst_2 as dst"))
+
+ current_lvl_neighbors = current_lvl_neighbors.filter("id != dst") \
+ .dropDuplicates() \
+ .groupBy("id") \
+ .agg(sm_lib.collect_set("dst"), sm_lib.count("dst")) \
+ .withColumnRenamed("collect_set(dst)", "neighbors") \
+ .withColumnRenamed("count(dst)", "count") \
+ .orderBy(sm_lib.desc("count(dst)")) \
+ .repartition(4, "id").sortWithinPartitions("id") \
+ .join(g.vertices, "id", "full") \
+ .select("id", "count", "neighbors") \
+ .fillna({'count': '0'}) \
+ .withColumn("neighbors_2", sm_lib.coalesce(sm_lib.col("neighbors"),
+ sm_lib.array())) \
+ .drop("neighbors") \
+ .withColumnRenamed("neighbors_2", "neighbors") \
+ .repartition(4, "id").sortWithinPartitions("id")
+ all_lvl_neighbors.append(current_lvl_neighbors)
+
+ return all_lvl_neighbors
+
+ def remove_edges_using_r_metrics(self, g: sm_lib.GraphFrame,
+ lvl1_neighbors: sm_lib.pyspark.sql.DataFrame,
+ lvl2_neighbors: sm_lib.pyspark.sql.DataFrame,
+ r_lvl1_thres: float, r_lvl2_thres: float) -> sm_lib.pyspark.sql.DataFrame:
+ """Calculate the r metrics and remove edges based on them.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ lvl1_neighbors (sm_lib.pyspark.sql.DataFrame):
+ lvl2_neighbors (sm_lib.pyspark.sql.DataFrame):
+ r_lvl1_thres (float):
+ r_lvl2_thres (float):
+ """
+
+ logger.info("Calculating r metrics and removing edges based on them..")
+
+ # Udf declarations
+ @sm_lib.udf(returnType=sm_lib.ArrayType(sm_lib.StringType()))
+ def udf_merge_neighbors(neighbors_1, neighbors_2, src, dst):
+ neighbors_1 = set(neighbors_1)
+ neighbors_1.discard(src)
+ neighbors_1.discard(dst)
+ neighbors_2 = set(neighbors_2)
+ neighbors_2.discard(src)
+ neighbors_2.discard(dst)
+ return list(set(neighbors_1).intersection(neighbors_2))
+
+ udf_add_counts = sm_lib.udf(f=lambda neighbors: len(neighbors), returnType=sm_lib.IntegerType())
+ udf_calculate_r_metrics = sm_lib.udf(f=lambda common_count, count: common_count / count if count > 0 else 0.0,
+ returnType=sm_lib.FloatType())
+ udf_keep_edge_condition = sm_lib.udf(lambda r11, r12, r21, r22: (r11 > r_lvl1_thres or r12 > r_lvl1_thres or
+ r21 > r_lvl2_thres or r22 > r_lvl2_thres),
+ sm_lib.BooleanType())
+ # Remove edges based on r metrics
+ edges_r = g.edges.join(lvl1_neighbors, lvl1_neighbors.id == g.edges.src, "inner") \
+ .selectExpr("src", "dst", "count as count_src", "neighbors as neighbors_src") \
+ .join(lvl1_neighbors, lvl1_neighbors.id == g.edges.dst, "inner") \
+ .selectExpr("src", "dst", "count_src", "neighbors_src", "count as count_dst", "neighbors as neighbors_dst") \
+ .withColumn("common_neighbors",
+ udf_merge_neighbors(sm_lib.col("neighbors_src"), sm_lib.col("neighbors_dst"),
+ sm_lib.col("src"), sm_lib.col("dst"))) \
+ .withColumn("count_common", udf_add_counts(sm_lib.col("common_neighbors"))) \
+ .withColumn("r11", udf_calculate_r_metrics(sm_lib.col("count_common"), sm_lib.col("count_src"))) \
+ .withColumn("r12", udf_calculate_r_metrics(sm_lib.col("count_common"), sm_lib.col("count_dst"))) \
+ .select("src", "dst", "r11", "r12") \
+ .repartition(4, "src").sortWithinPartitions("src") \
+ .join(lvl2_neighbors, lvl2_neighbors.id == g.edges.src, "inner") \
+ .selectExpr("src", "dst", "r11", "r12", "count as count_src", "neighbors as neighbors_src") \
+ .repartition(4, "src").sortWithinPartitions("src") \
+ .join(lvl2_neighbors, lvl2_neighbors.id == g.edges.dst, "inner") \
+ .selectExpr("src", "dst", "r11", "r12", "count_src", "neighbors_src", "count as count_dst",
+ "neighbors as neighbors_dst") \
+ .withColumn("common_neighbors",
+ udf_merge_neighbors(sm_lib.col("neighbors_src"), sm_lib.col("neighbors_dst"),
+ sm_lib.col("src"), sm_lib.col("dst"))) \
+ .withColumn("count_common", udf_add_counts(sm_lib.col("common_neighbors"))) \
+ .withColumn("r21", udf_calculate_r_metrics(sm_lib.col("count_common"), sm_lib.col("count_src"))) \
+ .withColumn("r22", udf_calculate_r_metrics(sm_lib.col("count_common"), sm_lib.col("count_dst"))) \
+ .select("src", "dst", "common_neighbors", "r11", "r12", "r21", "r22") \
+ .withColumn("keepit", udf_keep_edge_condition(sm_lib.col("r11"), sm_lib.col("r12"),
+ sm_lib.col("r21"), sm_lib.col("r22"))) \
+ .repartition(4, "src").sortWithinPartitions("src")
+
+ return edges_r
+
+ def calculate_edge_weights(self, edges_r: sm_lib.pyspark.sql.DataFrame,
+ cosine_similarities: sm_lib.pyspark.sql.DataFrame,
+ feature_min_avg: float) -> sm_lib.pyspark.sql.DataFrame:
+ """Calculate edge weights based on the cosing similarities and the r
+ metrics.
+
+ Args:
+ edges_r (sm_lib.pyspark.sql.DataFrame):
+ cosine_similarities (sm_lib.pyspark.sql.DataFrame):
+ feature_min_avg (float):
+ """
+
+ logger.info("Calculating edge weights..")
+ # Create edges weights temp view
+ edge_weights = edges_r.filter("keepit == False") \
+ .selectExpr("src as nb_src", "dst as nb_dst", "common_neighbors") \
+ .select("nb_src", "nb_dst", sm_lib.explode("common_neighbors").alias("common_neighbors_exploded")) \
+ .repartition(4, "nb_src").sortWithinPartitions("nb_src")
+ edge_weights = self.sm.reload_df(name="edge_weights", df=edge_weights)
+ edge_weights = edge_weights.repartition(4, "common_neighbors_exploded") \
+ .sortWithinPartitions("common_neighbors_exploded")
+ edge_weights.createOrReplaceTempView("edge_weights")
+ # Create cosine similarities temp view
+ cosine_similarities = self.sm.reload_df(name="cosine_similarities", df=cosine_similarities)
+ cosine_similarities = cosine_similarities.repartition(4, "src").sortWithinPartitions("src")
+ cosine_similarities.createOrReplaceTempView("cosine_similarities")
+ # Calculate edge weights j_1
+ logger.debug("Calculating edge_weights j_1..")
+ j_1 = self.sm.sql_context.sql("""
+ SELECT nb_src, nb_dst, common_neighbors_exploded, src as j1_src, dst as j1_dst, similarity as j1_similarity
+ FROM cosine_similarities c
+ RIGHT JOIN edge_weights ew
+ ON c.src = ew.common_neighbors_exploded
+ """)
+ j_1 = self.sm.reload_df(name="j_1", df=j_1)
+ cosine_similarities = cosine_similarities.repartition(4, "dst").sortWithinPartitions("dst")
+ cosine_similarities.createOrReplaceTempView("cosine_similarities")
+ j_1 = j_1.repartition(4, "common_neighbors_exploded").sortWithinPartitions("common_neighbors_exploded")
+ j_1.createOrReplaceTempView("j_1")
+ # Calculate edge weights j_2
+ logger.debug("Calculating edge_weights j_2..")
+ j_2 = self.sm.sql_context.sql("""
+ SELECT j1.*, src as j2_src, dst as j2_dst, similarity as j2_similarity
+ FROM cosine_similarities c
+ RIGHT JOIN j_1 j1
+ ON c.dst = j1.common_neighbors_exploded
+ """)
+ j_2 = self.sm.reload_df(name="j_2", df=j_2)
+ j_2_left = j_2.select("nb_src", "nb_dst", "j1_src", "j1_dst", "j1_similarity")
+ j_2_left = j_2_left.repartition(4, "nb_src", "nb_dst").sortWithinPartitions("nb_src", "nb_dst")
+ j_2_left.createOrReplaceTempView("j_2_left")
+ j_2_right = j_2.select("nb_src", "nb_dst", "j2_src", "j2_dst", "j2_similarity")
+ j_2_right = j_2_right.repartition(4, "nb_src", "nb_dst").sortWithinPartitions("nb_src", "nb_dst")
+ j_2_right.createOrReplaceTempView("j_2_right")
+ # Calculate edge weights j_3
+ logger.debug("Calculating edge_weights j_3..")
+ j_3 = self.sm.sql_context.sql("""
+ SELECT jleft.nb_src as e1, jleft.nb_dst as e2, jleft.j1_similarity as similarity
+ FROM (
+ SELECT * FROM j_2_left
+ WHERE j1_src IS NOT NULL AND j1_dst IS NOT NULL AND j1_similarity IS NOT NULL
+ ) jleft
+ INNER JOIN (
+ SELECT * FROM j_2_right
+ WHERE j2_src IS NOT NULL AND j2_dst IS NOT NULL AND j2_similarity IS NOT NULL
+ ) jright
+ ON jleft.nb_src = jright.nb_src AND
+ jleft.nb_dst = jright.nb_dst AND
+ jleft.j1_src = jright.j2_src AND
+ jleft.j1_dst = jright.j2_dst AND
+ jleft.j1_similarity = jright.j2_similarity
+ """).dropDuplicates()
+ j_3 = self.sm.reload_df(name="j_3", df=j_3)
+ # Calculate final edge weights
+ logger.debug("Calculating final edge_weights..")
+ edge_weights = j_3.selectExpr("e1 as src", "e2 as dst", "similarity") \
+ .groupBy("src", "dst") \
+ .agg((sm_lib.count(sm_lib.when(j_3.similarity >= feature_min_avg,
+ j_3.similarity)) / sm_lib.count(j_3.similarity)).alias("edge_weight")
+ )
+ return edge_weights.repartition(4, "src", "dst").sortWithinPartitions("src", "dst")
+
+ def filter_out_small_communities(self, g: sm_lib.GraphFrame, min_node_count: int = 10) \
+ -> sm_lib.GraphFrame:
+ """Filter out communities smaller than the specified min.
+
+ Args:
+ g (sm_lib.GraphFrame):
+ min_node_count (int):
+ """
+
+ # Find Graph's components
+ logger.info('Cleaning communities with less than %s nodes..' % min_node_count)
+ components = g.connectedComponents()
+ grouped_components = components.groupBy('component').agg({"component": "count"}).filter(
+ "count(component)>={}".format(min_node_count))
+ filtered_nodes = components.join(grouped_components,
+ components.component == grouped_components.component,
+ "leftsemi").drop(
+ "component")
+ filtered_edges = g.edges.join(filtered_nodes, ((g.edges.src == filtered_nodes.id)), "leftsemi") \
+ .join(filtered_nodes, ((g.edges.dst == filtered_nodes.id)), "leftsemi")
+
+ return self.sm.GraphFrame(filtered_nodes, filtered_edges).dropIsolatedVertices()
diff --git a/logs/out.log b/logs/out.log
deleted file mode 100644
index 8b13789..0000000
--- a/logs/out.log
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/main.py b/main.py
index 94f2275..0eb0bf8 100644
--- a/main.py
+++ b/main.py
@@ -1,40 +1,53 @@
+# Core
+import os
import traceback
+from typing import Tuple, Dict, List
import logging
import argparse
-import os
+# Custom classes
from configuration.configuration import Configuration
-from datastore.mysql_datastore import MySqlDatastore
-from cloudstore.dropbox_cloudstore import DropboxCloudstore
-from email_app.gmail_email_app import GmailEmailApp
+from color_log.color_log import ColorLog
+from spark_manager import spark_manager
+from graph_tools import graph_tools
+from visualizer import plotly_visualizer
-logger = logging.getLogger('Main')
+logger = ColorLog(logging.getLogger('Main'), 'green')
def _setup_log(log_path: str = 'logs/output.log', debug: bool = False) -> None:
+ """Setup the logger.
+
+ Args:
+ log_path (str):
+ debug (bool):
+ """
+
log_path = log_path.split(os.sep)
if len(log_path) > 1:
-
try:
os.makedirs((os.sep.join(log_path[:-1])))
except FileExistsError:
pass
log_filename = os.sep.join(log_path)
+ for handler in logging.root.handlers[:]:
+ logging.root.removeHandler(handler)
# noinspection PyArgumentList
- logging.basicConfig(level=logging.INFO if debug is not True else logging.DEBUG,
+ logging.basicConfig(level=logging.INFO if not debug else logging.DEBUG,
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S',
handlers=[
logging.FileHandler(log_filename),
- # logging.handlers.TimedRotatingFileHandler(log_filename, when='midnight', interval=1),
logging.StreamHandler()
]
)
def _argparser() -> argparse.Namespace:
+ """Setup the argument parser."""
+
parser = argparse.ArgumentParser(
- description='A template for python projects.',
+ description='A Distributed Hybrid Community Detection Methodology for Social Networks.',
add_help=False)
# Required Args
required_arguments = parser.add_argument_group('Required Arguments')
@@ -43,12 +56,7 @@ def _argparser() -> argparse.Namespace:
'required': True,
'help': "The configuration yml file"
}
- required_arguments.add_argument('-m', '--run-mode', choices=['run_mode_1', 'run_mode_2', 'run_mode_3'],
- required=True,
- default='run_mode_1',
- help='Description of the run modes')
required_arguments.add_argument('-c', '--config-file', **config_file_params)
- required_arguments.add_argument('-l', '--log', help="Name of the output log file")
# Optional args
optional = parser.add_argument_group('Optional Arguments')
optional.add_argument('-d', '--debug', action='store_true', help='Enables the debug log messages')
@@ -57,87 +65,211 @@ def _argparser() -> argparse.Namespace:
return parser.parse_args()
-def main():
+def setup() -> Tuple[Dict, Dict, Dict, Dict, str]:
+ """Setup the configuration and the run properties."""
+
+ args = _argparser()
+ # Temporary logging
+ # noinspection PyArgumentList
+ logging.basicConfig(level=logging.INFO if not args.debug else logging.DEBUG,
+ format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
+ datefmt='%Y-%m-%d %H:%M:%S', handlers=[logging.StreamHandler()]
+ )
+ # Load the configuration
+ config = Configuration(config_src=args.config_file)
+ spark_config = config.get_spark_configs()[0]
+ input_config = config.get_input_configs()[0]
+ run_options_config = config.get_run_options_configs()[0]
+ output_config = config.get_output_configs()[0]
+ options_id_name = "featMinAvg-{featMinAvg}_rLvl1-{rLvl1}_" \
+ "rLvl2-{rLvl2}_betwThres-{betwThres}_feats-{feats}" \
+ .format(featMinAvg=run_options_config['feature_min_avg'],
+ rLvl1=run_options_config['r_lvl1_thres'],
+ rLvl2=run_options_config['r_lvl2_thres'],
+ betwThres=run_options_config['betweenness_thres'],
+ feats=''.join([feat[:10] for feat in run_options_config['features_to_check'][1:]]))
+ modified_graph_name = os.path.join(input_config['name'], options_id_name)
+ _setup_log(os.path.join(output_config['logs_folder'], modified_graph_name + '.log'), debug=args.debug)
+ return spark_config, input_config, run_options_config, output_config, modified_graph_name
+
+
+def load_graph(spark_manager: spark_manager.SparkManager, config: Dict) -> spark_manager.GraphFrame:
+ """Load the input nodes and eges into a GraphFrame.
+
+ Args:
+ spark_manager (spark_manager.SparkManager):
+ config (Dict):
"""
- :Example:
- python main.py -m run_mode_1
- -c confs/template_conf.yml
- -l logs/output.log
+
+ logger.info("Loading the input graph into a GraphFrame")
+ nodes_df = spark_manager.load_nodes_df(path=config['nodes']['path'],
+ delimiter=config['nodes']['delimiter'],
+ has_header=config['nodes']['has_header'])
+ edges_df = spark_manager.load_edges_df(path=config['edges']['path'],
+ delimiter=config['edges']['delimiter'],
+ has_weights=config['edges']['has_weights'],
+ has_header=config['edges']['has_header'])
+ return spark_manager.GraphFrame(nodes_df, edges_df)
+
+
+def get_edges_to_delete(edge_weights: spark_manager.pyspark.sql.DataFrame,
+ edge_betweenness: spark_manager.pyspark.sql.DataFrame,
+ max_edge_weight: float,
+ betweenness_thres: float) -> spark_manager.pyspark.sql.DataFrame:
+ """Delete edges based on edge weights and edge betweenness.
+
+ Args:
+ edge_weights (spark_manager.pyspark.sql.DataFrame):
+ edge_betweenness (spark_manager.pyspark.sql.DataFrame):
+ max_edge_weight (float):
+ betweenness_thres (float):
+ """
+
+ logger.info("Deciding which edges to delete based on edge weights and edge betweenness..")
+ # noinspection PyTypeChecker
+ edges_to_delete_1 = edge_weights.join(edge_betweenness, [edge_weights.src == edge_betweenness.edges.src,
+ edge_weights.dst == edge_betweenness.edges.dst], "inner")
+ # noinspection PyTypeChecker
+ edges_to_delete_2 = edge_weights.join(edge_betweenness, [edge_weights.src == edge_betweenness.edges.dst,
+ edge_weights.dst == edge_betweenness.edges.src], "inner")
+ full_edges_to_delete = edges_to_delete_1.union(edges_to_delete_2) \
+ .filter("(edge_weight < {0}) OR (edge_weight >= {0} AND betweenness > {1})".format(max_edge_weight,
+ betweenness_thres)) \
+ .select("src", "dst") \
+ .repartition(4, "src").sortWithinPartitions("src")
+
+ return full_edges_to_delete
+
+
+def main_loop(g: spark_manager.GraphFrame,
+ sm: spark_manager.SparkManager,
+ gt: graph_tools.GraphTools,
+ viz: plotly_visualizer.PlotlyVisualizer,
+ cosine_similarities: spark_manager.pyspark.sql.DataFrame,
+ edge_betweenness: spark_manager.pyspark.sql.DataFrame,
+ run_options_config: Dict,
+ plot_steps: List[int],
+ plot_dims: int) -> spark_manager.GraphFrame:
+ """The main loop.
+
+ Args:
+ g (spark_manager.GraphFrame):
+ sm (spark_manager.SparkManager):
+ gt (graph_tools.GraphTools):
+ viz (plotly_visualizer.PlotlyVisualizer):
+ cosine_similarities (spark_manager.pyspark.sql.DataFrame):
+ edge_betweenness (spark_manager.pyspark.sql.DataFrame):
+ run_options_config (Dict):
+ plot_steps:
+ plot_dims (int):
+ """
+
+ logger.info("Starting the Main Loop..")
+ while True:
+ # Increase the loop counter (it used to save to different parquets in each loop)
+ sm.loop_counter += 1
+ logger.info("*** Loop %s ***" % sm.loop_counter)
+ # Scan neighborhoods and filter edges based on the r metrics
+ sm.unpersist_all()
+ lvl1_neighbors, lvl2_neighbors, \
+ edges_r = gt.filter_edges_based_on_r_metrics(g=g,
+ r_lvl1_thres=run_options_config['r_lvl1_thres'],
+ r_lvl2_thres=run_options_config['r_lvl2_thres'])
+ edges_r = sm.reload_df(df=edges_r, name='edges_r')
+ # Calculate the edge weights
+ sm.unpersist_all()
+ edges_weights = gt.calculate_edge_weights(edges_r=edges_r,
+ cosine_similarities=cosine_similarities,
+ feature_min_avg=run_options_config['feature_min_avg'])
+ edges_weights = sm.reload_df(df=edges_weights, name='edges_weights')
+ # Delete Edges based on Edge Weights and Edge Betweenness
+ sm.unpersist_all()
+ edges_to_delete = get_edges_to_delete(edge_weights=edges_weights, edge_betweenness=edge_betweenness,
+ max_edge_weight=run_options_config['max_edge_weight'],
+ betweenness_thres=run_options_config['betweenness_thres'])
+ edges_to_delete = sm.reload_df(df=edges_to_delete, name="edges_to_delete")
+ # Count number of edges to delete
+ logger.debug("Counting the number of edges to delete..")
+ num_edges_to_delete = edges_to_delete.count()
+ logger.info("Calculated edges to delete: %s" % num_edges_to_delete)
+ # If max steps reached or not edges to delete were found
+ if num_edges_to_delete == 0 or sm.loop_counter > run_options_config['max_steps']:
+ logger.info("Exiting the main loop..")
+ break
+ # Delete edges and update the GraphFrame
+ logger.info("Deleting edges..")
+ edges_to_keep = g.edges.join(edges_to_delete,
+ [g.edges.src == edges_to_delete.src, g.edges.dst == edges_to_delete.dst],
+ "left_anti") \
+ .join(edges_to_delete, [g.edges.src == edges_to_delete.dst, g.edges.dst == edges_to_delete.src],
+ "left_anti") \
+ .select("src", "dst") \
+ .union(edges_r.filter("keepit == True").select("src", "dst"))
+ g = sm.GraphFrame(g.vertices, edges_to_keep).dropIsolatedVertices()
+ if sm.loop_counter in plot_steps:
+ viz.scatter_plot(g_netx=sm.graphframe_to_nx(g=g), loop_counter=sm.loop_counter,
+ plot_dimensions=plot_dims)
+
+ return g
+
+
+def main() -> None:
+ """Run the HGN code.
+
+ Example: python main.py -c confs/conf.yml [--debug]
"""
# Initializing
- args = _argparser()
- _setup_log(args.log, args.debug)
- logger.info("Starting in run mode: {0}".format(args.run_mode))
- # Load the configuration
- configuration = Configuration(config_src=args.config_file)
- # Init the Cloudstore
- cloud_store = DropboxCloudstore(config=configuration.get_cloudstores()[0])
- # Init the Datastore
- data_store = MySqlDatastore(**configuration.get_datastores()[0])
- # Init the Email App
- gmail_configuration = configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=configuration.get_email_apps()[0])
-
- # Mysql examples
- logger.info("\n\nMYSQL EXAMPLE\n-------------------------")
- logger.info("\n\nTables in current DB: {0}".format(list(data_store.show_tables())))
- logger.info("Creating Table: orders")
- table_schema = """ order_id INT(6) PRIMARY KEY,
- order_type VARCHAR(30) NOT NULL,
- location VARCHAR(30) NOT NULL """
- data_store.create_table(table='orders', schema=table_schema)
- logger.info("Tables in current DB:\n{0}".format(list(data_store.show_tables())))
- logger.info("Inserting into orders the values:\n(1 simple newyork)..")
- insert_data = {"order_id": 1,
- "order_type": "plain",
- "location": "new_york"}
- data_store.insert_into_table(table='orders', data=insert_data)
- logger.info("SELECT * FROM orders;\n{0}".format(data_store.select_from_table(table='orders')))
- logger.info("Deleting the inserted row from table orders..")
- data_store.delete_from_table(table='orders', where='order_id=1')
- logger.info("SELECT * FROM orders;\n{0}".format(data_store.select_from_table(table='orders')))
- logger.info("Dropping Table: orders")
- data_store.drop_table(table='orders')
- logger.info("Tables in current DB:\n{0}".format(list(data_store.show_tables())))
-
- # Dropbox examples
- logger.info("\n\nDROPBOX EXAMPLE\n-------------------------")
- logger.info(
- "List of files in Dropbox /python_template:\n{0}".format(list(cloud_store.ls(path='/python_template').keys())))
- upload_path = "/python_template/file1.txt"
- file_content = "test file content"
- logger.info("Uploading file {file} with content:\n{content}".format(file=upload_path, content=file_content))
- cloud_store.upload_file(file_bytes=file_content.encode(), upload_path=upload_path)
- logger.info(
- "List of files in Dropbox /python_template:\n{0}".format(list(cloud_store.ls(path='/python_template').keys())))
- downloaded_file = cloud_store.download_file(frompath=upload_path)
- logger.info("Downloaded file and its content is:\n{0}".format(downloaded_file))
- cloud_store.delete_file(file_path=upload_path)
- logger.info("Deleting file {file}..".format(file=upload_path))
- logger.info(
- "List of files in Dropbox /python_template:\n{0}".format(list(cloud_store.ls(path='/python_template').keys())))
-
- # Gmail examples
- logger.info("\n\nGMAIL EXAMPLE\n-------------------------")
- subject = "Email example"
- body = "This is an html body example
This goes to the html argument. " \
- "You can use the text argument for plain text."
- emails_list = [gmail_configuration['email_address']]
- attachments_paths = [os.path.join('data', 'sample_data.txt')]
- logger.info(
- "Sending email with `subject` = `{subject}`, `from,to,cc,bcc,reply_to` = `{email_addr}`, "
- "`html` = `{body}` and `attachments` = `{attachments}`".format(
- subject=subject, email_addr=emails_list[0], body=body, attachments=attachments_paths))
- gmail_app.send_email(subject=subject,
- to=emails_list,
- cc=emails_list,
- bcc=emails_list,
- html=body,
- attachments=attachments_paths,
- sender=emails_list[0],
- reply_to=emails_list[0]
- )
+ spark_config, input_config, run_options_config, output_config, modified_graph_name = setup()
+ plot_steps = output_config['visualizer']['steps']
+ sm = spark_manager.SparkManager(spark_conf=spark_config, graph_name=modified_graph_name,
+ feature_names=input_config['nodes']['feature_names'],
+ nodes_encoding=input_config['nodes']['encoding'],
+ features_to_check=run_options_config['features_to_check'],
+ has_edge_weights=input_config['edges']['has_weights'])
+ gt = graph_tools.GraphTools(sm=sm, max_sp_length=run_options_config['max_sp_length'])
+ viz = plotly_visualizer.PlotlyVisualizer(plots_folder=output_config['visualizer']['folder'],
+ plot_name=modified_graph_name,
+ save_img=output_config['visualizer']['save_img'])
+ logger.debug("Modified Graph Name: %s" % modified_graph_name)
+ # Load nodes, edges and create GraphFrame
+ g = load_graph(spark_manager=sm, config=input_config)
+ logger.debug("Loaded Graph. Nodes: %s, Edges: %s" % (g.vertices.count(), g.edges.count()))
+ if sm.loop_counter in plot_steps:
+ viz.scatter_plot(g_netx=sm.graphframe_to_nx(g=g), loop_counter=sm.loop_counter,
+ plot_dimensions=output_config['visualizer']['dimensions'])
+
+ # Compute Betweenness and Cosine Similarities
+ if run_options_config['cached_init_step']:
+ cosine_similarities = sm.load_from_parquet('cosine_similarities')
+ edge_betweenness = sm.load_from_parquet('edge_betweenness')
+ else:
+ # Generate dummy vectors of the input nodes
+ dummy_vectors = sm.create_dummy_vectors(nodes_df=g.vertices,
+ features_to_check=run_options_config['features_to_check'])
+ # Calculate the Cosine Similarities of the input edges
+ cosine_similarities = gt.calculate_cosine_similarities(dummy_vectors=dummy_vectors,
+ edges_df=g.edges)
+ # Calculate Edge Betweenness
+ landmarks = g.vertices.select("id").rdd.flatMap(lambda x: x).collect()
+ edge_betweenness = gt.calculate_edge_betweenness(g=g, landmarks=landmarks)
+ # Save and reload Cosine Similarities and Edge Betweenness
+ cosine_similarities = sm.reload_df(df=cosine_similarities, name="cosine_similarities")
+ edge_betweenness = sm.reload_df(df=edge_betweenness, name="edge_betweenness")
+
+ # Start the Main Loop of the HGN
+ g = main_loop(g=g, sm=sm, gt=gt, viz=viz,
+ cosine_similarities=cosine_similarities, edge_betweenness=edge_betweenness,
+ run_options_config=run_options_config,
+ plot_steps=plot_steps, plot_dims=output_config['visualizer']['dimensions'])
+
+ logger.debug("HGN Finished. Nodes: %s, Edges: %s" % (g.vertices.count(), g.edges.count()))
+ if -1 in plot_steps:
+ viz.scatter_plot(g_netx=sm.graphframe_to_nx(g=g), loop_counter=-1,
+ plot_dimensions=output_config['visualizer']['dimensions'])
+ if output_config['save_communities_to_csvs']:
+ sm.save_communities_to_csvs(g=g)
+ logger.info("End of code.")
if __name__ == '__main__':
diff --git a/requirements.txt b/requirements.txt
index d62e24d..6aff8d3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,31 @@
-mysql-connector-python==8.0.19
+attrs==19.3.0
+decorator==4.4.2
+graphframes==0.6
+importlib-metadata==1.6.0
+joblib==0.15.0
+jsonschema==3.2.0
+mysql-connector-python==8.0.20
mysql-connector==2.2.9
-dropbox==10.1.1
+networkx==2.4
+nose==1.3.7
+numpy==1.18.4
+pandas==1.0.3
+pkg-resources==0.0.0
+plotly==4.7.1
+protobuf==3.11.3
+py4j==0.10.7
+pyrsistent==0.16.0
+pyspark==2.4.5
+pyspark-stubs==2.4.0.post8
+python-dateutil==2.8.1
+pytz==2020.1
PyYAML==5.3.1
-jsonschema==3.2.0
-gmail==0.6.3
\ No newline at end of file
+retrying==1.3.3
+scikit-learn==0.23.0
+scipy==1.4.1
+six==1.14.0
+sklearn==0.0
+termcolor==1.1.0
+threadpoolctl==2.0.0
+tqdm==4.46.0
+zipp==3.1.0
diff --git a/setup.py b/setup.py
index 51b5d91..3557a01 100644
--- a/setup.py
+++ b/setup.py
@@ -24,21 +24,21 @@
# Run the Setup
setup(
- name='template_python_project',
- version='0.1',
+ name='HGN',
+ version='1.0',
# package_dir={'': '.'},
- packages=['datastore', 'cloudstore', 'configuration', 'email_app'],
+ packages=['color_log', 'configuration', 'datastore', 'graph_tools', 'spark_manager', 'visualizer'],
py_modules=['main'],
data_files=[('', ['configuration/yml_schema.json'])],
entry_points={
'console_scripts': [
- 'template_python_project=main:main',
+ 'hgn=main:main',
]
},
- url='https://github.com/drkostas/template_python_project',
+ url='https://github.com/drkostas/HGN',
license='GNU General Public License v3.0',
author='drkostas',
author_email='georgiou.kostas94@gmail.com',
- description='A template for python projects.'
+ description='A Distributed Hybrid Community Detection Methodology for Social Networks.'
)
diff --git a/spark.env b/spark.env
new file mode 100644
index 0000000..3d1b957
--- /dev/null
+++ b/spark.env
@@ -0,0 +1,3 @@
+export SPARK_HOME=
+export PYSPARK_SUBMIT_ARGS="--packages graphframes:graphframes:0.8.0-spark2.4-s_2.11 pyspark-shell"
+export JAVA_HOME=
\ No newline at end of file
diff --git a/spark_manager/__init__.py b/spark_manager/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/spark_manager/spark_manager.py b/spark_manager/spark_manager.py
new file mode 100644
index 0000000..8831f7a
--- /dev/null
+++ b/spark_manager/spark_manager.py
@@ -0,0 +1,477 @@
+import os
+import shutil
+import pathlib
+import csv
+from typing import List, Dict
+import logging
+from functools import reduce
+import networkx as nx
+import pandas as pd
+import pyspark
+import pyspark.sql
+import pyspark.ml.feature
+import pyspark.mllib.linalg.distributed
+from pyspark.sql.functions import lit, struct, explode, udf, collect_set, count, desc, coalesce, col, array, when
+from pyspark.sql.types import *
+from pyspark.storagelevel import StorageLevel
+from graphframes import GraphFrame
+
+from color_log.color_log import ColorLog
+
+logger = ColorLog(logging.getLogger('SparkManager'), 'red')
+logging.getLogger('py4j').setLevel(logging.INFO)
+
+
+class SparkManager:
+ """Manages the creation of the spark runtime along with any related file
+ system operations.
+ """
+
+ __slots__ = ('spark_session', 'spark_context', 'sql_context', 'spark_conf',
+ 'graph_name', 'df_data_folder', 'communities_csv_folder', 'loop_counter',
+ 'feature_names', 'features_to_check', 'nodes_encoding', 'has_edge_weights')
+
+ spark_session: pyspark.sql.SparkSession
+ spark_context: pyspark.SparkContext
+ sql_context: pyspark.sql.SQLContext
+ spark_conf: Dict
+ graph_name: str
+ df_data_folder: str
+ communities_csv_folder: str
+ feature_names: List
+ features_to_check: List
+ nodes_encoding: str
+ has_edge_weights: bool
+ loop_counter: int
+
+ def __init__(self, spark_conf: Dict, graph_name: str, feature_names: List, features_to_check: List,
+ nodes_encoding: str, has_edge_weights: bool) -> None:
+ """The basic constructor. Creates a new instance of SparkManager using
+ the specified settings.
+
+ Args:
+ spark_conf (Dict):
+ graph_name (str):
+ feature_names (List):
+ features_to_check (List):
+ nodes_encoding (str):
+ has_edge_weights (bool):
+ """
+
+ logger.info("Initializing SparkManager..")
+ # Store object properties
+ self.loop_counter = 0
+ self.graph_name = graph_name
+ self.feature_names = feature_names
+ self.features_to_check = features_to_check
+ self.df_data_folder = os.path.join(spark_conf['dirs']['df_data_folder'], self.graph_name)
+ self.communities_csv_folder = os.path.join(spark_conf['dirs']['communities_csv_folder'], self.graph_name)
+ self.nodes_encoding = nodes_encoding
+ self.has_edge_weights = has_edge_weights
+ checkpoints_folder = os.path.join(spark_conf['dirs']['checkpoints_folder'], self.graph_name)
+ spark_warehouse_folder = os.path.join(spark_conf['dirs']['spark_warehouse_folder'], self.graph_name)
+ # Delete old files
+ self._clean_folder(folder_path=self.df_data_folder)
+ self._clean_folder(folder_path=self.communities_csv_folder)
+ self._clean_folder(folder_path=checkpoints_folder)
+ self._clean_folder(folder_path=spark_warehouse_folder)
+ # Configure spark properties
+ conf = pyspark.SparkConf()
+ conf.setAppName(self.graph_name) \
+ .set("spark.sql.warehouse.dir", spark_warehouse_folder)
+ [conf.set(str(key), str(value)) for key, value in spark_conf['config'].items()]
+ logger.debug("Initializing Spark Session with conf:")
+ logger.debug(conf.getAll())
+ # Instantiate Spark
+ self.spark_session = pyspark.sql.SparkSession.builder.config(conf=conf).getOrCreate()
+ self.spark_context = self.spark_session.sparkContext
+ self.spark_context.setCheckpointDir(checkpoints_folder)
+ self.sql_context = pyspark.sql.SQLContext(self.spark_context)
+
+ @staticmethod
+ def GraphFrame(vertices: pyspark.sql.DataFrame, edges: pyspark.sql.DataFrame) -> GraphFrame:
+ """Simply calls the graphframes.GraphFrame
+
+ Args:
+ vertices (pyspark.sql.DataFrame):
+ edges (pyspark.sql.DataFrame):
+ """
+
+ return GraphFrame(vertices, edges)
+
+ def load_nodes_df(self, path: str, delimiter: str, has_header: bool = False) -> pyspark.sql.DataFrame:
+ """Loads the input nodes into a DataFrame.
+
+ Args:
+ path (str):
+ delimiter (str):
+ has_header (bool): If the input file has a header with the column
+ names
+ """
+
+ logger.debug("Loading nodes_df from path %s.." % path)
+ struct_list = [StructField(self.feature_names[0], LongType(), True)]
+ for feature in self.feature_names[1:]:
+ struct_list.append(StructField(feature, StringType(), True))
+ nodes_schema = StructType(struct_list)
+
+ nodes_df = self.sql_context.read.load(path, format="csv", header=has_header, sep=delimiter,
+ schema=nodes_schema)
+ return self.reload_df(df=nodes_df, name="nodes_df")
+
+ def load_edges_df(self, path: str, delimiter: str, has_weights: bool = False,
+ has_header: bool = False) -> pyspark.sql.DataFrame:
+ """Loads the input edges into a DataFrame.
+
+ Args:
+ path (str):
+ delimiter (str):
+ has_weights (bool): If the edge of the graph have a weight attribute
+ has_header (bool): If the input file has a header with the column
+ names
+ """
+
+ logger.debug("Loading edges_df from path %s.." % path)
+ if has_weights:
+ edges_schema = StructType([
+ StructField("src", LongType(), True),
+ StructField("dst", LongType(), True),
+ StructField("weight", FloatType(), True)])
+ edges_df = self.sql_context.read.load(path, format="csv", header=has_header, sep=delimiter,
+ schema=edges_schema)
+ else:
+ edges_schema = StructType([
+ StructField("src", LongType(), True),
+ StructField("dst", LongType(), True)])
+ edges_df = self.sql_context.read.load(path, format="csv", header=has_header, sep=delimiter,
+ schema=edges_schema)
+ # nodes_df = edges_df.select("src").union(edges_df.select("dst")).withColumnRenamed('src', 'id').distinct().orderBy("id")
+ return self.reload_df(df=edges_df, name="edges_df")
+
+ def create_dummy_vectors(self, nodes_df: pyspark.sql.DataFrame, features_to_check: List[str]) \
+ -> pyspark.sql.DataFrame:
+ """Create dummy vectors from the input nodes.
+
+ Args:
+ nodes_df (pyspark.sql.DataFrame):
+ features_to_check (List[str])):
+ """
+
+ logger.info("Creating Dummy Vectors from the input nodes..")
+ # String Indexer
+ indexers = [pyspark.ml.feature.StringIndexer(inputCol=column, outputCol=column + "_index") \
+ .setHandleInvalid("keep") \
+ .fit(nodes_df)
+ for column in features_to_check[1:]]
+ # One Hot Encoder
+ indexed_features = list(map(lambda el: el + "_index", features_to_check[1:]))
+ vectorized_features = list(map(lambda el: el + "_vector", features_to_check[1:]))
+ encoder = pyspark.ml.feature.OneHotEncoderEstimator(inputCols=indexed_features, outputCols=vectorized_features)
+ # Vector Assembler
+ assembler = pyspark.ml.feature.VectorAssembler(inputCols=vectorized_features, outputCol="features")
+ # Assembling the Pipeline
+ pipeline = pyspark.ml.Pipeline(stages=indexers + [encoder, assembler])
+ dummy_vectors = pipeline.fit(nodes_df).transform(nodes_df)
+
+ return dummy_vectors.select(features_to_check[0], "features")
+
+ def get_shortest_paths_df(self, shortest_paths_list: List[pyspark.sql.DataFrame]) -> pyspark.sql.DataFrame:
+ """Creates the shortest paths DataFrame from a list of motifs(paths).
+
+ Args:
+ shortest_paths_list (List[pyspark.sql.DataFrame]):
+ """
+
+ logger.debug("Creating shortest_paths_df..")
+ # motifs = self.union_dfs(motifs_list_eq, 5)
+ for motif in self._add_missing_columns_to_paths_dfs(dfs_list=shortest_paths_list,
+ has_edge_weights=self.has_edge_weights):
+ self.save_to_parquet(df=motif, name="shortest_paths", mode="append", pre_final=True)
+ return self.clean_and_reload_df(name="shortest_paths")
+
+ def clean_and_reload_df(self, name: str, df: pyspark.sql.DataFrame = None) -> pyspark.sql.DataFrame:
+ """Stores df to temp parquet, drop duplicates and reloads it.
+
+ Args:
+ name (str):
+ df (pyspark.sql.DataFrame):
+ """
+
+ logger.debug("Cleaning and reloading df %s.." % name)
+ path = os.path.join(self.df_data_folder, name, str(self.loop_counter))
+ if df:
+ loaded_df = self.reload_df(df=df, name=name, pre_final=True)
+ else:
+ loaded_df = self.load_from_parquet(name=name, pre_final=True)
+ loaded_df.persist(StorageLevel.MEMORY_AND_DISK)
+ loaded_df = loaded_df.dropDuplicates()
+
+ self.save_to_parquet(df=loaded_df, name=name, mode="overwrite", pre_final=False)
+ if os.path.exists(path + "/" + name + ".pre_final.parquet"):
+ shutil.rmtree(path + "/" + name + ".pre_final.parquet", ignore_errors=True)
+
+ return self.load_from_parquet(name=name, pre_final=False)
+
+ def reload_df(self, df: pyspark.sql.DataFrame, name: str, num_partitions: int = None,
+ partition_cols: List[str] = None, pre_final: bool = False) -> pyspark.sql.DataFrame:
+ """Saves a DataFrame as parquet and reloads it.
+
+ Args:
+ df (pyspark.sql.DataFrame):
+ name (str):
+ num_partitions (int):
+ partition_cols:
+ pre_final (bool):
+ """
+
+ self.save_to_parquet(df=df, name=name, num_partitions=num_partitions, partition_cols=partition_cols,
+ pre_final=pre_final)
+ df = self.load_from_parquet(name=name, pre_final=pre_final)
+ df.persist(StorageLevel.MEMORY_AND_DISK)
+ return df
+
+ def save_to_parquet(self, df: pyspark.sql.DataFrame, name: str, mode: str = "overwrite",
+ num_partitions: int = None, partition_cols: List[str] = None, pre_final: bool = False):
+ """Saves a DataFrame into a parquet file.
+
+ Args:
+ df (pyspark.sql.DataFrame):
+ name (str):
+ mode (str):
+ num_partitions (int):
+ partition_cols (list):
+ pre_final (bool):
+ """
+
+ logger.debug("Saving %s to parquet.." % name if not pre_final
+ else "Saving %s.pre_final to parquet.." % name)
+ path = os.path.join(self.df_data_folder, name, str(self.loop_counter))
+ if not os.path.exists(path):
+ os.makedirs(path)
+ if pre_final:
+ parquet_name = os.path.join(path, name + ".pre_final.parquet")
+ else:
+ parquet_name = os.path.join(path, name + ".parquet")
+
+ if partition_cols and num_partitions:
+ df.repartition(num_partitions, *partition_cols).write.mode(mode).parquet(parquet_name)
+ elif num_partitions and not partition_cols:
+ df.repartition(num_partitions).write.mode(mode).parquet(parquet_name)
+ elif partition_cols and not num_partitions:
+ df.repartition(*partition_cols).write.mode(mode).parquet(parquet_name)
+ else:
+ df.repartition(1).write.mode(mode).parquet(parquet_name)
+
+ def load_from_parquet(self, name: str, pre_final: bool = False) -> pyspark.sql.DataFrame:
+ """Loads a DataFrame from a parquet file.
+
+ Args:
+ name (str):
+ pre_final (bool):
+ """
+
+ logger.debug("Loading from parquet %s.." % name if not pre_final
+ else "Loading from parquet %s.pre_final.." % name)
+ path = os.path.join(self.df_data_folder, name, str(self.loop_counter))
+ if pre_final:
+ parquet_name = os.path.join(path, name + ".pre_final.parquet")
+ else:
+ parquet_name = os.path.join(path, name + ".parquet")
+
+ df = self.sql_context.read.format('parquet').load(parquet_name)
+
+ return df
+
+ def unpersist_all(self) -> None:
+ """Unpersists all the rdds using the internal java spark context."""
+
+ logger.debug('Unpersisting all RDDs..')
+ [rdd.unpersist() for rdd in list(self.spark_context._jsc.getPersistentRDDs().values())]
+ self.spark_session.catalog.clearCache()
+
+ @staticmethod
+ def repartition_dfs_list(dfs_list: List[pyspark.sql.DataFrame], num_partitions: int):
+ """Repartitions a list of DataFrames into the specified num of
+ partitions.
+
+ Args:
+ dfs_list (List[pyspark.sql.DataFrame]):
+ num_partitions (int):
+ """
+
+ logger.debug("Repartitioning to %s num_partitions %s dfs.." % (num_partitions, len(dfs_list)))
+ return [df.repartition(num_partitions) for df in dfs_list]
+
+ def union_dfs(self, dfs_list: List[pyspark.sql.DataFrame], union_steps: int) -> pyspark.sql.DataFrame:
+ """Recursively unifies several DataFrames in the number of specified
+ steps.
+
+ Args:
+ dfs_list (List[pyspark.sql.DataFrame]):
+ union_steps (int): Defines the numbers of union steps - more steps:
+ slower but less memory intensive
+ """
+
+ logger.debug("Starting recursive union for %s dfs in %s steps" % (len(dfs_list), union_steps))
+ return self._reduce_union(*self._recursive_union(dfs_list=dfs_list, union_steps=union_steps))
+
+ def graphframe_to_nx(self, g: GraphFrame) -> nx.Graph:
+ """Convert a GraphFrame to a NetworkX graph.
+
+ Args:
+ g (GraphFrame):
+ """
+
+ logger.debug("Converting GraphFrame to NetworkX..")
+ nodes_pd = g.vertices.toPandas()
+ edges_pd = g.edges.toPandas()
+ g_netx = nx.from_pandas_edgelist(df=edges_pd, source='src', target='dst')
+ for feature in self.features_to_check[1:]:
+ nx.set_node_attributes(G=g_netx, name=feature,
+ values=pd.Series(data=nodes_pd[feature],
+ index=nodes_pd[self.features_to_check[0]]).to_dict())
+ return g_netx
+
+ def save_communities_to_csvs(self, g: GraphFrame):
+ """Save the different communities of the graph to different CSVs.
+
+ Args:
+ g (GraphFrame):
+ """
+
+ logger.info("Saving Graph's communities to CSVs..")
+ g_netx = self.graphframe_to_nx(g=g)
+ graph_components = [comp for comp in nx.connected_components(g_netx)]
+ # Create csv's with the communities data
+ csv_save_path = os.path.join(self.communities_csv_folder, 'Loop-{}'.format(self.loop_counter))
+ pathlib.Path(csv_save_path).mkdir(parents=True, exist_ok=True)
+ community_ind = 0
+ community_sizes = []
+ logger.debug("*** {:^20} ***".format("Showing info about the communities"))
+ logger.debug("{:^20}|{:^20}".format("Communities", "Number of Nodes"))
+ for graph_component in graph_components:
+ community_ind += 1
+ logger.debug("{:^20}|{:^20}".format(community_ind, len(graph_component)))
+ community_sizes.append(len(graph_component))
+
+ csv_file_name = 'community_{}.csv'.format(community_ind)
+ csv_full_path = os.path.join(csv_save_path, csv_file_name)
+ with open(file=csv_full_path, mode='w', newline='', encoding=self.nodes_encoding) as csv_file:
+ csv_writer = csv.writer(csv_file, delimiter='|')
+ csv_writer.writerow(['sep=|'])
+ csv_writer.writerow(self.features_to_check)
+ for node in graph_component:
+ row = [node] + \
+ [nx.get_node_attributes(G=g_netx, name=feat_name)[node]
+ if node in list(nx.get_node_attributes(G=g_netx, name=feat_name)) else "UNKNOWN"
+ for feat_name in self.features_to_check[1:]]
+ csv_writer.writerow(row)
+
+ @staticmethod
+ def _reduce_union(dfs_list: List[pyspark.sql.DataFrame]) -> pyspark.sql.DataFrame:
+ """Reduces a list of DataFrames into a single DataFrame using the Union
+ function.
+
+ Args:
+ dfs_list (List[pyspark.sql.DataFrame]):
+ """
+
+ return reduce(pyspark.sql.DataFrame.union, *dfs_list)
+
+ def _recursive_union(self, dfs_list: List[pyspark.sql.DataFrame], union_steps: int) -> List[pyspark.sql.DataFrame]:
+ """Implements the recursion function of the DataFrame union.
+
+ Args:
+ dfs_list (List[pyspark.sql.DataFrame]):
+ union_steps (int): Defines the numbers of union steps - more steps:
+ slower but less memory intensive
+ """
+
+ unified_dfs_list = []
+
+ for cnt in range(0, len(dfs_list) // union_steps):
+ unified_dfs_list.append(self._reduce_union(*dfs_list[cnt * union_steps:(cnt + 1) * union_steps]))
+
+ remaining_unions = len(dfs_list[len(dfs_list) // union_steps * union_steps:])
+
+ if remaining_unions > 0:
+ if remaining_unions > union_steps:
+ unified_dfs_list = self._recursive_union(dfs_list=unified_dfs_list,
+ union_steps=union_steps)
+ unified_dfs_list.append(self._reduce_union(dfs_list=dfs_list[len(dfs_list) // union_steps * union_steps:]))
+
+ unified_dfs_list = self.repartition_dfs_list(dfs_list=unified_dfs_list, num_partitions=4)
+
+ if len(unified_dfs_list) > union_steps:
+ unified_dfs_list = self._recursive_union(dfs_list=unified_dfs_list,
+ union_steps=union_steps)
+
+ return unified_dfs_list
+
+ @staticmethod
+ def _add_missing_columns_to_paths_dfs(dfs_list: List[pyspark.sql.DataFrame],
+ has_edge_weights: bool) -> List[pyspark.sql.DataFrame]:
+ """For a given list of DataFrames containing graph paths, it adds the
+ union of all columns to the dfs that are missing them.
+
+ Args:
+ dfs_list (List[pyspark.sql.DataFrame]):
+ has_edge_weights (bool):
+ """
+
+ logger.debug("Adding missing columns to list with %s path dfs.." % len(dfs_list))
+ if has_edge_weights:
+ edges_column = struct(*[lit(0).alias('src'), lit(0).alias('dst'), lit(0.0).alias('weight')])
+ edges_schema = StructType([
+ StructField("src", LongType(), True),
+ StructField("dst", LongType(), True),
+ StructField("weight", FloatType(), True)
+ ])
+ else:
+ edges_column = struct(*[lit(0).alias('src'), lit(0).alias('dst')])
+ edges_schema = StructType([
+ StructField("src", LongType(), True),
+ StructField("dst", LongType(), True)
+ ])
+
+ columns = [df.columns for df in dfs_list]
+ column_lengths = [len(column) for column in columns]
+ max_length = max(column_lengths)
+ max_column = ["e%d" % i for i in range(max_length)]
+
+ for df_count in range(len(dfs_list)):
+ if column_lengths[df_count] < max_length:
+ missing_columns = list(set(max_column).difference(set(columns[df_count])))
+ for missing_column in missing_columns:
+ dfs_list[df_count] = dfs_list[df_count].withColumn(missing_column, edges_column)
+ dfs_list[df_count] = dfs_list[df_count] \
+ .withColumnRenamed(missing_column, '{}_tmp'.format(missing_column))
+ dfs_list[df_count] = dfs_list[df_count].select('*', dfs_list[df_count][
+ '{}_tmp'.format(missing_column)].cast(edges_schema).alias(missing_column)) \
+ .drop('{}_tmp'.format(missing_column))
+
+ yield dfs_list[df_count]
+
+ @staticmethod
+ def _clean_folder(folder_path: str) -> None:
+ """Removes all files/subfolders from a directory.
+
+ Args:
+ folder_path (str):
+ """
+
+ logger.debug("Clearing all files/folders from folder %s.." % folder_path)
+ if os.path.exists(folder_path):
+ shutil.rmtree(folder_path, ignore_errors=True)
+ os.makedirs(folder_path)
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ """
+ Args:
+ exc_type:
+ exc_val:
+ exc_tb:
+ """
+
+ logger.debug("Closing SparkManager..")
+ self.spark_context.stop()
diff --git a/tests/test_configuration.py b/tests/test_configuration.py
index 422d5d7..aab488c 100644
--- a/tests/test_configuration.py
+++ b/tests/test_configuration.py
@@ -39,10 +39,7 @@ def test_to_json(self):
'password': 'pass2',
'db_name': 'db3',
'port': 3306},
- 'type': 'mysql'}],
- 'cloudstore': [{'config':
- {'api_key': 'apiqwerty'},
- 'type': 'dropbox'}]}
+ 'type': 'mysql'}]}
# Compare
logger.info('Comparing the results..')
self.assertDictEqual(self._sort_dict(expected_json), self._sort_dict(configuration.to_json()))
@@ -53,9 +50,8 @@ def test_to_yaml(self):
# Modify and export yml
logger.info('Changed the host and the api_key..')
configuration.datastore[0]['config']['hostname'] = 'changedhost'
- configuration.cloudstore[0]['config']['api_key'] = 'changed_api'
logger.info('Exporting to yaml..')
- configuration.to_yaml('test_data/test_configuration/actual_output_to_yaml.yml', include_tag=True)
+ configuration.to_yaml('test_data/test_configuration/actual_output_to_yaml.yml')
# Load the modified yml
logger.info('Loading the exported yaml..')
modified_configuration = Configuration(
@@ -69,10 +65,7 @@ def test_to_yaml(self):
'password': 'pass2',
'db_name': 'db3',
'port': 3306},
- 'type': 'mysql'}],
- 'cloudstore': [{'config':
- {'api_key': 'changed_api'},
- 'type': 'dropbox'}]}
+ 'type': 'mysql'}]}
self.assertDictEqual(self._sort_dict(expected_json), self._sort_dict(modified_configuration.to_json()))
@classmethod
diff --git a/tests/test_data/test_configuration/actual_output_to_yaml.yml b/tests/test_data/test_configuration/actual_output_to_yaml.yml
index d2f5c32..7957560 100644
--- a/tests/test_data/test_configuration/actual_output_to_yaml.yml
+++ b/tests/test_data/test_configuration/actual_output_to_yaml.yml
@@ -1,7 +1,3 @@
-cloudstore:
-- config:
- api_key: changed_api
- type: dropbox
datastore:
- config:
db_name: db3
diff --git a/tests/test_data/test_dropbox_cloudstore/template_conf.yml b/tests/test_data/test_dropbox_cloudstore/template_conf.yml
deleted file mode 100644
index 3b1ff28..0000000
--- a/tests/test_data/test_dropbox_cloudstore/template_conf.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-tag: production
-cloudstore:
- - config:
- api_key: !ENV ${DROPBOX_API_KEY}
- type: dropbox
-datastore:
- - config:
- hostname: host123
- username: user1
- password: pass2
- db_name: db3
- port: 3306
- type: mysql
\ No newline at end of file
diff --git a/tests/test_data/test_gmail_email_app/sample_data.txt b/tests/test_data/test_gmail_email_app/sample_data.txt
deleted file mode 100644
index 5c611d5..0000000
--- a/tests/test_data/test_gmail_email_app/sample_data.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is a sample data file
\ No newline at end of file
diff --git a/tests/test_data/test_gmail_email_app/template_conf.yml b/tests/test_data/test_gmail_email_app/template_conf.yml
deleted file mode 100644
index 5deff53..0000000
--- a/tests/test_data/test_gmail_email_app/template_conf.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-tag: production
-cloudstore:
- - config:
- api_key: !ENV ${DROPBOX_API_KEY}
- type: dropbox
-datastore:
- - config:
- hostname: !ENV ${MYSQL_HOST}
- username: !ENV ${MYSQL_USERNAME}
- password: !ENV ${MYSQL_PASSWORD}
- db_name: !ENV ${MYSQL_DB_NAME}
- port: 3306
- type: mysql
-email_app:
- - config:
- email_address: !ENV ${EMAIL_ADDRESS}
- api_key: !ENV ${GMAIL_API_KEY}
- type: gmail
\ No newline at end of file
diff --git a/tests/test_dropbox_cloudstore.py b/tests/test_dropbox_cloudstore.py
deleted file mode 100644
index b09f238..0000000
--- a/tests/test_dropbox_cloudstore.py
+++ /dev/null
@@ -1,111 +0,0 @@
-import unittest
-import os
-import random
-import string
-import logging
-import copy
-from typing import Tuple
-from dropbox.exceptions import BadInputError
-
-from configuration.configuration import Configuration
-from cloudstore.dropbox_cloudstore import DropboxCloudstore
-
-logger = logging.getLogger('TestDropboxCloudstore')
-
-
-class TestDropboxCloudstore(unittest.TestCase):
- __slots__ = ('configuration', 'file_name')
-
- configuration: Configuration
- file_name: str
- test_data_path: str = os.path.join('test_data', 'test_dropbox_cloudstore')
-
- def test_connect(self):
- # Test the connection with the correct api key
- try:
- cloud_store_correct_key = DropboxCloudstore(config=self.configuration.get_cloudstores()[0])
- cloud_store_correct_key.ls()
- except BadInputError as e:
- logger.error('Error connecting with the correct credentials: %s', e)
- self.fail('Error connecting with the correct credentials')
- else:
- logger.info('Connected with the correct credentials successfully.')
- # Test that the connection is failed with the wrong credentials
- with self.assertRaises(BadInputError):
- cloud_store_wrong_configuration = copy.deepcopy(self.configuration.get_cloudstores()[0])
- cloud_store_wrong_configuration['api_key'] = 'wrong_key'
- cloud_store_wrong_key = DropboxCloudstore(config=cloud_store_wrong_configuration)
- cloud_store_wrong_key.ls()
- logger.info("Loading Dropbox with wrong credentials failed successfully.")
-
- def test_upload_download(self):
- cloud_store = DropboxCloudstore(config=self.configuration.get_cloudstores()[0])
- # Upload file
- logger.info('Uploading file..')
- file_to_upload = open(os.path.join(self.test_data_path, self.file_name), 'rb').read()
- cloud_store.upload_file(file_to_upload, '/tests/' + self.file_name)
- # Check if it was uploaded
- self.assertIn(self.file_name, cloud_store.ls('/tests/').keys())
- # Download it
- logger.info('Downloading file..')
- cloud_store.download_file(frompath='/tests/' + self.file_name,
- tofile=os.path.join(self.test_data_path, 'actual_downloaded.txt'))
- # Compare contents of downloaded file with the original
- self.assertEqual(open(os.path.join(self.test_data_path, self.file_name), 'rb').read(),
- open(os.path.join(self.test_data_path, 'actual_downloaded.txt'), 'rb').read())
-
- def test_upload_delete(self):
- cloud_store = DropboxCloudstore(config=self.configuration.get_cloudstores()[0])
- # Upload file
- logger.info('Uploading file..')
- file_to_upload = open(os.path.join(self.test_data_path, self.file_name), 'rb').read()
- cloud_store.upload_file(file_to_upload, '/tests/' + self.file_name)
- # Check if it was uploaded
- self.assertIn(self.file_name, cloud_store.ls('/tests/').keys())
- # Delete it
- cloud_store.delete_file('/tests/' + self.file_name)
- # Check if it was deleted
- self.assertNotIn(self.file_name, cloud_store.ls('/tests/').keys())
-
- @staticmethod
- def _generate_random_filename_and_contents() -> Tuple[str, str]:
- letters = string.ascii_lowercase
- file_name = ''.join(random.choice(letters) for _ in range(10)) + '.txt'
- contents = ''.join(random.choice(letters) for _ in range(20))
- return file_name, contents
-
- @staticmethod
- def _setup_log() -> None:
- # noinspection PyArgumentList
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
- datefmt='%Y-%m-%d %H:%M:%S',
- handlers=[logging.StreamHandler()
- ]
- )
-
- def setUp(self) -> None:
- self.file_name, contents = self._generate_random_filename_and_contents()
- with open(os.path.join(self.test_data_path, self.file_name), 'a') as f:
- f.write(contents)
-
- def tearDown(self) -> None:
- os.remove(os.path.join(self.test_data_path, self.file_name))
-
- @classmethod
- def setUpClass(cls):
- cls._setup_log()
- if "DROPBOX_API_KEY" not in os.environ:
- logger.error('DROPBOX_API_KEY env variable is not set!')
- raise Exception('DROPBOX_API_KEY env variable is not set!')
- logger.info('Loading Configuration..')
- cls.configuration = Configuration(config_src=os.path.join(cls.test_data_path, 'template_conf.yml'))
-
- @classmethod
- def tearDownClass(cls):
- cloud_store = DropboxCloudstore(config=cls.configuration.get_cloudstores()[0])
- cloud_store.delete_file('/tests')
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/tests/test_gmail_email_app.py b/tests/test_gmail_email_app.py
deleted file mode 100644
index 205429d..0000000
--- a/tests/test_gmail_email_app.py
+++ /dev/null
@@ -1,143 +0,0 @@
-import unittest
-import os
-import random
-import string
-import logging
-import copy
-from typing import Tuple
-from smtplib import SMTPAuthenticationError
-
-from configuration.configuration import Configuration
-from email_app.gmail_email_app import GmailEmailApp
-
-logger = logging.getLogger('TestGmailEmailApp')
-
-
-class TestGmailEmailApp(unittest.TestCase):
- __slots__ = ('configuration', 'file_name')
-
- configuration: Configuration
- file_name: str
- test_data_path: str = os.path.join('test_data', 'test_gmail_email_app')
-
- def test_connect(self):
- # Test the connection with the correct api key
- try:
- gmail_configuration = self.configuration.get_email_apps()[0]
- GmailEmailApp(config=gmail_configuration)
- except SMTPAuthenticationError as e:
- logger.error('Error connecting with the correct credentials: %s', e)
- self.fail('Error connecting with the correct credentials')
- else:
- logger.info('Connected with the correct credentials successfully.')
- # Test that the connection is failed with the wrong credentials
- with self.assertRaises(SMTPAuthenticationError):
- gmail_wrong_configuration = copy.deepcopy(gmail_configuration)
- gmail_wrong_configuration['api_key'] = 'wrong_key'
- GmailEmailApp(config=gmail_wrong_configuration)
- logger.info("Loading Dropbox with wrong credentials failed successfully.")
-
- def test_is_connected_and_exit(self):
- gmail_configuration = self.configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=gmail_configuration)
- self.assertEqual(True, gmail_app.is_connected())
- gmail_app.__exit__()
- self.assertEqual(False, gmail_app.is_connected())
-
- def test_send_email_with_all_args(self):
- try:
- gmail_configuration = self.configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=gmail_configuration)
-
- gmail_app.send_email(subject='test_send_email_with_all_args',
- to=[gmail_configuration['email_address']],
- cc=[gmail_configuration['email_address']],
- bcc=[gmail_configuration['email_address']],
- text='Test plain/text body',
- html='Test html body
',
- attachments=[os.path.join(self.test_data_path, 'sample_data.txt')],
- sender=gmail_configuration['email_address'],
- reply_to=gmail_configuration['email_address']
- )
- except Exception as e:
- logger.error("Test failed with exception: %s" % e)
- self.fail("Test failed with exception: %s" % e)
-
- def test_send_email_with_required_args(self):
- try:
- gmail_configuration = self.configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=gmail_configuration)
-
- gmail_app.send_email(subject='test_send_email_with_required_args',
- to=[gmail_configuration['email_address']]
- )
- except Exception as e:
- logger.error("Test failed with exception: %s" % e)
- self.fail("Test failed with exception: %s" % e)
-
- def test_send_email_with_html(self):
- try:
- gmail_configuration = self.configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=gmail_configuration)
-
- gmail_app.send_email(subject='test_send_email_with_html',
- to=[gmail_configuration['email_address']],
- html='Html only
'
- )
- except Exception as e:
- logger.error("Test failed with exception: %s" % e)
- self.fail("Test failed with exception: %s" % e)
-
- def test_send_email_with_text(self):
- try:
- gmail_configuration = self.configuration.get_email_apps()[0]
- gmail_app = GmailEmailApp(config=gmail_configuration)
-
- gmail_app.send_email(subject='test_send_email_with_text',
- to=[gmail_configuration['email_address']],
- text='Text only'
- )
- except Exception as e:
- logger.error("Test failed with exception: %s" % e)
- self.fail("Test failed with exception: %s" % e)
-
- @staticmethod
- def _generate_random_filename_and_contents() -> Tuple[str, str]:
- letters = string.ascii_lowercase
- file_name = ''.join(random.choice(letters) for _ in range(10)) + '.txt'
- contents = ''.join(random.choice(letters) for _ in range(20))
- return file_name, contents
-
- @staticmethod
- def _setup_log() -> None:
- # noinspection PyArgumentList
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
- datefmt='%Y-%m-%d %H:%M:%S',
- handlers=[logging.StreamHandler()
- ]
- )
-
- def setUp(self) -> None:
- pass
-
- def tearDown(self) -> None:
- pass
-
- @classmethod
- def setUpClass(cls):
- cls._setup_log()
- gmail_os_vars = ['EMAIL_ADDRESS', 'GMAIL_API_KEY']
- if not all(gmail_os_var in os.environ for gmail_os_var in gmail_os_vars):
- logger.error('Gmail env variables are not set!')
- raise Exception('Gmail env variables are not set!')
- logger.info('Loading Configuration..')
- cls.configuration = Configuration(config_src=os.path.join(cls.test_data_path, 'template_conf.yml'))
-
- @classmethod
- def tearDownClass(cls):
- pass
-
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/tests/test_mysql_datastore.py b/tests/test_mysql_datastore.py
index e86c40e..d4b9a3f 100644
--- a/tests/test_mysql_datastore.py
+++ b/tests/test_mysql_datastore.py
@@ -1,120 +1,120 @@
-import unittest
-import os
-import copy
-import random
-import string
-import logging
-from typing import List
-from mysql.connector.errors import ProgrammingError as MsqlProgrammingError
-
-from configuration.configuration import Configuration
-from datastore.mysql_datastore import MySqlDatastore
-
-logger = logging.getLogger('TestMysqlDatastore')
-
-
-class TestMysqlDatastore(unittest.TestCase):
- __slots__ = ('configuration', 'test_table_schema')
-
- configuration: Configuration
- test_table_schema: str
- generated_table_names: List[str] = list()
- test_data_path: str = os.path.join('test_data', 'test_mysql_datastore')
-
- def test_connect(self):
- # Test the connection with the correct api key
- try:
- MySqlDatastore(config=self.configuration.get_datastores()[0])
- except MsqlProgrammingError as e:
- logger.error('Error connecting with the correct credentials: %s', e)
- self.fail('Error connecting with the correct credentials')
- else:
- logger.info('Connected with the correct credentials successfully.')
- # Test that the connection is failed with the wrong credentials
- with self.assertRaises(MsqlProgrammingError):
- datastore_conf_copy = copy.deepcopy(self.configuration.get_datastores()[0])
- datastore_conf_copy['password'] = 'wrong_password'
- MySqlDatastore(config=datastore_conf_copy)
- logger.info("Loading Mysql with wrong credentials failed successfully.")
-
- def test_create_drop(self):
- data_store = MySqlDatastore(config=self.configuration.get_datastores()[0])
- # Create table
- logger.info('Creating table..')
- data_store.create_table(self.table_name, self.test_table_schema)
- # Check if it was created
- self.assertIn(self.table_name, data_store.show_tables())
- # Drop table
- logger.info('Dropping table..')
- data_store.drop_table(table=self.table_name)
- self.assertNotIn(self.table_name, data_store.show_tables())
-
- def test_insert_update_delete(self):
- data_store = MySqlDatastore(config=self.configuration.get_datastores()[0])
- # Create table
- logger.info('Creating table..')
- data_store.create_table(self.table_name, self.test_table_schema)
- # Ensure it is empty
- results = data_store.select_from_table(table=self.table_name)
- self.assertEqual([], results)
- # Insert into table
- insert_data = {"order_id": 1,
- "order_type": "plain",
- "is_delivered": False}
- logger.info("Inserting into table..")
- data_store.insert_into_table(table=self.table_name, data=insert_data)
- # Check if the data was inserted
- results = data_store.select_from_table(table=self.table_name)
- self.assertEqual([(1, "plain", False)], results)
- logger.info("Deleting from table..")
- data_store.delete_from_table(table=self.table_name, where='order_id =1 ')
- # Check if the data was inserted
- results = data_store.select_from_table(table=self.table_name)
- self.assertEqual([], results)
-
- @staticmethod
- def _generate_random_filename() -> str:
- letters = string.ascii_lowercase
- file_name = 'test_table_' + ''.join(random.choice(letters) for _ in range(10))
- return file_name
-
- @staticmethod
- def _setup_log() -> None:
- # noinspection PyArgumentList
- logging.basicConfig(level=logging.DEBUG,
- format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
- datefmt='%Y-%m-%d %H:%M:%S',
- handlers=[logging.StreamHandler()
- ]
- )
-
- def setUp(self) -> None:
- self.table_name = self._generate_random_filename()
- self.generated_table_names.append(self.table_name)
-
- def tearDown(self) -> None:
- pass
-
- @classmethod
- def setUpClass(cls):
- cls._setup_log()
- mysql_os_vars = ['MYSQL_HOST', 'MYSQL_USERNAME', 'MYSQL_PASSWORD', 'MYSQL_DB_NAME']
- if not all(mysql_os_var in os.environ for mysql_os_var in mysql_os_vars):
- logger.error('Mysql env variables are not set!')
- raise Exception('Mysql env variables are not set!')
- logger.info('Loading Configuration..')
- cls.configuration = Configuration(config_src=os.path.join(cls.test_data_path, 'template_conf.yml'))
- cls.test_table_schema = """ order_id INT(6) PRIMARY KEY,
- order_type VARCHAR(30) NOT NULL,
- is_delivered BOOLEAN NOT NULL """
-
- @classmethod
- def tearDownClass(cls):
- data_store = MySqlDatastore(config=cls.configuration.get_datastores()[0])
- for table in cls.generated_table_names:
- logger.info('Dropping table {0}'.format(table))
- data_store.drop_table(table=table)
-
-
-if __name__ == '__main__':
- unittest.main()
+# import unittest
+# import os
+# import copy
+# import random
+# import string
+# import logging
+# from typing import List
+# from mysql.connector.errors import ProgrammingError as MsqlProgrammingError
+#
+# from configuration.configuration import Configuration
+# from datastore.mysql_datastore import MySqlDatastore
+#
+# logger = logging.getLogger('TestMysqlDatastore')
+#
+#
+# class TestMysqlDatastore(unittest.TestCase):
+# __slots__ = ('configuration', 'test_table_schema')
+#
+# configuration: Configuration
+# test_table_schema: str
+# generated_table_names: List[str] = list()
+# test_data_path: str = os.path.join('test_data', 'test_mysql_datastore')
+#
+# def test_connect(self):
+# # Test the connection with the correct api key
+# try:
+# MySqlDatastore(config=self.configuration.get_datastore_configs()[0])
+# except MsqlProgrammingError as e:
+# logger.error('Error connecting with the correct credentials: %s', e)
+# self.fail('Error connecting with the correct credentials')
+# else:
+# logger.info('Connected with the correct credentials successfully.')
+# # Test that the connection is failed with the wrong credentials
+# with self.assertRaises(MsqlProgrammingError):
+# datastore_conf_copy = copy.deepcopy(self.configuration.get_datastore_configs()[0])
+# datastore_conf_copy['password'] = 'wrong_password'
+# MySqlDatastore(config=datastore_conf_copy)
+# logger.info("Loading Mysql with wrong credentials failed successfully.")
+#
+# def test_create_drop(self):
+# data_store = MySqlDatastore(config=self.configuration.get_datastore_configs()[0])
+# # Create table
+# logger.info('Creating table..')
+# data_store.create_table(self.table_name, self.test_table_schema)
+# # Check if it was created
+# self.assertIn(self.table_name, data_store.show_tables())
+# # Drop table
+# logger.info('Dropping table..')
+# data_store.drop_table(table=self.table_name)
+# self.assertNotIn(self.table_name, data_store.show_tables())
+#
+# def test_insert_update_delete(self):
+# data_store = MySqlDatastore(config=self.configuration.get_datastore_configs()[0])
+# # Create table
+# logger.info('Creating table..')
+# data_store.create_table(self.table_name, self.test_table_schema)
+# # Ensure it is empty
+# results = data_store.select_from_table(table=self.table_name)
+# self.assertEqual([], results)
+# # Insert into table
+# insert_data = {"order_id": 1,
+# "order_type": "plain",
+# "is_delivered": False}
+# logger.info("Inserting into table..")
+# data_store.insert_into_table(table=self.table_name, data=insert_data)
+# # Check if the data was inserted
+# results = data_store.select_from_table(table=self.table_name)
+# self.assertEqual([(1, "plain", False)], results)
+# logger.info("Deleting from table..")
+# data_store.delete_from_table(table=self.table_name, where='order_id =1 ')
+# # Check if the data was inserted
+# results = data_store.select_from_table(table=self.table_name)
+# self.assertEqual([], results)
+#
+# @staticmethod
+# def _generate_random_filename() -> str:
+# letters = string.ascii_lowercase
+# file_name = 'test_table_' + ''.join(random.choice(letters) for _ in range(10))
+# return file_name
+#
+# @staticmethod
+# def _setup_log() -> None:
+# # noinspection PyArgumentList
+# logging.basicConfig(level=logging.DEBUG,
+# format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
+# datefmt='%Y-%m-%d %H:%M:%S',
+# handlers=[logging.StreamHandler()
+# ]
+# )
+#
+# def setUp(self) -> None:
+# self.table_name = self._generate_random_filename()
+# self.generated_table_names.append(self.table_name)
+#
+# def tearDown(self) -> None:
+# pass
+#
+# @classmethod
+# def setUpClass(cls):
+# cls._setup_log()
+# mysql_os_vars = ['MYSQL_HOST', 'MYSQL_USERNAME', 'MYSQL_PASSWORD', 'MYSQL_DB_NAME']
+# if not all(mysql_os_var in os.environ for mysql_os_var in mysql_os_vars):
+# logger.error('Mysql env variables are not set!')
+# raise Exception('Mysql env variables are not set!')
+# logger.info('Loading Configuration..')
+# cls.configuration = Configuration(config_src=os.path.join(cls.test_data_path, 'template_conf.yml'))
+# cls.test_table_schema = """ order_id INT(6) PRIMARY KEY,
+# order_type VARCHAR(30) NOT NULL,
+# is_delivered BOOLEAN NOT NULL """
+#
+# @classmethod
+# def tearDownClass(cls):
+# data_store = MySqlDatastore(config=cls.configuration.get_datastore_configs()[0])
+# for table in cls.generated_table_names:
+# logger.info('Dropping table {0}'.format(table))
+# data_store.drop_table(table=table)
+#
+#
+# if __name__ == '__main__':
+# unittest.main()
diff --git a/visualizer/__init__.py b/visualizer/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/visualizer/plotly_visualizer.py b/visualizer/plotly_visualizer.py
new file mode 100644
index 0000000..1d81dad
--- /dev/null
+++ b/visualizer/plotly_visualizer.py
@@ -0,0 +1,240 @@
+import os
+import pathlib
+from typing import List, Dict, Tuple
+import logging
+import networkx as nx
+import plotly.graph_objs as go
+from plotly.offline import plot
+
+from .visualizer import AbstractVisualizer
+from color_log.color_log import ColorLog
+
+logger = ColorLog(logging.getLogger('PlotlyVisualizer'), "yellow")
+
+
+class PlotlyVisualizer(AbstractVisualizer):
+ """Manages the plotting of an input GraphFrame"""
+
+ __slots__ = ('plots_folder', 'plot_name', 'plot_path', 'dimensions', 'save_img')
+
+ plots_folder: str
+ plot_name: str
+ plot_path: str
+ dimensions: int
+ save_img: bool
+ custom_color_scale: List \
+ = [[0.0, 'rgb(50, 245, 155)'], [0.01, 'rgb(49, 136, 169)'], [0.02, 'rgb(235, 120, 83)'],
+ [0.03, 'rgb(158, 209, 161)'], [0.04, 'rgb(94, 122, 90)'], [0.06, 'rgb(104, 214, 214)'],
+ [0.07, 'rgb(17, 122, 145)'], [0.08, 'rgb(72, 220, 3)'], [0.09, 'rgb(250, 45, 188)'],
+ [0.1, 'rgb(225, 165, 176)'], [0.11, 'rgb(2, 141, 134)'], [0.12, 'rgb(58, 123, 65)'],
+ [0.13, 'rgb(217, 154, 90)'], [0.15, 'rgb(229, 64, 48)'], [0.16, 'rgb(209, 24, 125)'],
+ [0.17, 'rgb(255, 39, 0)'], [0.18, 'rgb(121, 47, 71)'], [0.19, 'rgb(2, 10, 198)'],
+ [0.2, 'rgb(91, 185, 190)'], [0.21, 'rgb(169, 12, 23)'], [0.22, 'rgb(200, 235, 15)'],
+ [0.24, 'rgb(18, 244, 20)'], [0.25, 'rgb(178, 107, 210)'], [0.26, 'rgb(18, 237, 185)'],
+ [0.27, 'rgb(182, 44, 36)'], [0.28, 'rgb(76, 211, 88)'], [0.29, 'rgb(151, 168, 188)'],
+ [0.3, 'rgb(198, 226, 43)'], [0.31, 'rgb(83, 227, 25)'], [0.33, 'rgb(221, 0, 147)'],
+ [0.34, 'rgb(77, 242, 21)'], [0.35, 'rgb(186, 198, 55)'], [0.36, 'rgb(47, 225, 32)'],
+ [0.37, 'rgb(216, 75, 181)'], [0.38, 'rgb(89, 37, 156)'], [0.39, 'rgb(142, 152, 11)'],
+ [0.4, 'rgb(220, 105, 41)'], [0.42, 'rgb(20, 159, 108)'], [0.43, 'rgb(3, 68, 224)'],
+ [0.44, 'rgb(164, 157, 147)'], [0.45, 'rgb(146, 35, 179)'], [0.46, 'rgb(232, 244, 33)'],
+ [0.47, 'rgb(211, 103, 60)'], [0.48, 'rgb(51, 7, 143)'], [0.49, 'rgb(130, 49, 253)'],
+ [0.51, 'rgb(89, 7, 203)'], [0.52, 'rgb(170, 58, 230)'], [0.53, 'rgb(188, 146, 77)'],
+ [0.54, 'rgb(247, 15, 248)'], [0.55, 'rgb(247, 178, 154)'], [0.56, 'rgb(14, 48, 96)'],
+ [0.57, 'rgb(176, 175, 185)'], [0.58, 'rgb(87, 111, 154)'], [0.6, 'rgb(200, 28, 129)'],
+ [0.61, 'rgb(87, 128, 161)'], [0.62, 'rgb(186, 255, 166)'], [0.63, 'rgb(246, 106, 82)'],
+ [0.64, 'rgb(59, 154, 162)'], [0.65, 'rgb(70, 182, 52)'], [0.66, 'rgb(120, 192, 150)'],
+ [0.67, 'rgb(21, 17, 76)'], [0.69, 'rgb(116, 46, 232)'], [0.7, 'rgb(2, 58, 206)'],
+ [0.71, 'rgb(193, 72, 119)'], [0.72, 'rgb(207, 9, 250)'], [0.73, 'rgb(1, 241, 52)'],
+ [0.74, 'rgb(234, 145, 152)'], [0.75, 'rgb(154, 189, 72)'], [0.76, 'rgb(177, 159, 145)'],
+ [0.78, 'rgb(118, 8, 240)'], [0.79, 'rgb(32, 17, 21)'], [0.8, 'rgb(96, 255, 25)'],
+ [0.81, 'rgb(138, 51, 136)'], [0.82, 'rgb(179, 148, 50)'], [0.83, 'rgb(106, 151, 41)'],
+ [0.84, 'rgb(117, 153, 123)'], [0.85, 'rgb(237, 190, 220)'], [0.87, 'rgb(117, 123, 143)'],
+ [0.88, 'rgb(51, 44, 133)'], [0.89, 'rgb(254, 8, 83)'], [0.9, 'rgb(45, 139, 111)'],
+ [0.91, 'rgb(117, 210, 59)'], [0.92, 'rgb(251, 6, 105)'], [0.93, 'rgb(90, 216, 101)'],
+ [0.94, 'rgb(230, 62, 249)'], [0.96, 'rgb(33, 107, 220)'], [0.97, 'rgb(180, 40, 102)'],
+ [0.98, 'rgb(70, 20, 200)'], [0.99, 'rgb(225, 43, 169)'], [1.0, 'rgb(8, 244, 127)']]
+
+ def __init__(self, plots_folder: str, plot_name: str, save_img: bool) -> None:
+ """The basic constructor. Creates a new instance of SparkManager using
+ the specified settings.
+
+ Args:
+ plots_folder (str):
+ plot_name (str):
+ save_img (bool):
+ """
+
+ logger.info("Initializing PlotlyVisualizer..")
+ self.plots_folder = plots_folder
+ self.plot_name = plot_name
+ self.save_img = save_img
+ self.plot_path = os.path.join(self.plots_folder, self.plot_name)
+ pathlib.Path(self.plot_path).mkdir(parents=True, exist_ok=True)
+ super().__init__()
+
+ def scatter_plot(self, g_netx: nx.Graph, loop_counter: int, plot_dimensions: int = 3,
+ custom_node_labels: Dict = None) -> None:
+ """Creates a 2d or a 3d plotly scatter plot.
+
+ Args:
+ g_netx (nx.Graph):
+ loop_counter (int):
+ plot_dimensions (int):
+ custom_node_labels (Dict):
+ """
+
+ if plot_dimensions == 2:
+ self._scatter_plot_2d(g_netx=g_netx, loop_counter=loop_counter, custom_node_labels=custom_node_labels)
+ elif plot_dimensions == 3:
+ self._scatter_plot_3d(g_netx=g_netx, loop_counter=loop_counter, custom_node_labels=custom_node_labels)
+ else:
+ logger.error("Wrong scatter plot dimensions given: %s. Falling back to 2 dimensions..")
+ self._scatter_plot_2d(g_netx=g_netx, loop_counter=loop_counter, custom_node_labels=custom_node_labels)
+
+ def _scatter_plot_3d(self, g_netx: nx.Graph, loop_counter: int, custom_node_labels: Dict = None) -> None:
+ """Creates a 3d plotly scatter plot.
+
+ Args:
+ g_netx (nx.Graph):
+ loop_counter (int):
+ custom_node_labels (Dict):
+ """
+
+ logger.info("Constructing 3d Scatter plot..")
+ # Initialize components and edges
+ graph_components, \
+ nodes_with_colors, \
+ node_labels, \
+ graph_edges = self._prepare_data(g_netx=g_netx, custom_node_labels=custom_node_labels)
+ # Create Scatter Plot
+ scatter_layout = nx.spring_layout(G=g_netx, dim=3)
+ Xn = [scatter_layout[k][0] for k in list(scatter_layout.keys())] # x-coordinates of nodes
+ Yn = [scatter_layout[k][1] for k in list(scatter_layout.keys())] # y-coordinates
+ Zn = [scatter_layout[k][2] for k in list(scatter_layout.keys())] # z-coordinates
+ Xe = []
+ Ye = []
+ Ze = []
+ for edge in graph_edges:
+ Xe += [scatter_layout[edge[0]][0], scatter_layout[edge[1]][0], None] # x-coordinates of edge ends
+ Ye += [scatter_layout[edge[0]][1], scatter_layout[edge[1]][1], None] # y-coordinates of edge ends
+ Ze += [scatter_layout[edge[0]][2], scatter_layout[edge[1]][2], None] # z-coordinates of edge ends
+
+ lines = go.Scatter3d(x=Xe, y=Ye, z=Ze,
+ mode='lines', line=dict(color='rgb(90, 90, 90)', width=2.5), hoverinfo='none')
+ nodes = go.Scatter3d(x=Xn, y=Yn, z=Zn,
+ mode='markers',
+ marker=dict(symbol='circle', size=6,
+ color=nodes_with_colors, colorscale=self.custom_color_scale,
+ line=dict(color='rgb(255,255,255)', width=4)),
+ text=node_labels, hoverinfo='text')
+
+ x_axis = dict(backgroundcolor="rgb(200, 200, 230)", gridcolor="rgb(255, 255, 255)",
+ showbackground=True, zerolinecolor="rgb(255, 255, 255)")
+ y_axis = dict(backgroundcolor="rgb(230, 200,230)", gridcolor="rgb(255, 255, 255)",
+ showbackground=True, zerolinecolor="rgb(255, 255, 255)")
+ z_axis = dict(
+ backgroundcolor="rgb(230, 230,200)", gridcolor="rgb(255, 255, 255)",
+ showbackground=True, zerolinecolor="rgb(255, 255, 255)")
+ camera = dict(up=dict(x=0, y=0, z=1), center=dict(x=0, y=0, z=0), eye=dict(x=0.85, y=0.85, z=0.85))
+ plot_title = self.plot_name + '_Loop-{}'.format(loop_counter) + "_NumOfCommunities-" + str(
+ len(graph_components))
+ layout = go.Layout(title=plot_title,
+ scene=dict(xaxis=dict(x_axis), yaxis=dict(y_axis), zaxis=dict(z_axis), camera=camera),
+ margin=dict(t=100), hovermode='closest', showlegend=False, )
+ data = [lines, nodes]
+ fig = go.Figure(data=data, layout=layout)
+
+ plot_name = os.path.join(self.plot_path, "scatter_3d_loop_{}.html".format(loop_counter))
+ logger.info("Plotting...")
+ if self.save_img:
+ plot(figure_or_data=fig, filename=plot_name, validate=False, auto_open=True,
+ image='png', image_filename=self.plot_name, output_type='file', image_width=1700, image_height=800)
+ else:
+ plot(figure_or_data=fig, filename=plot_name)
+
+ def _scatter_plot_2d(self, g_netx: nx.Graph, loop_counter: int, custom_node_labels: Dict = None) -> None:
+ """Creates a 2d plotly scatter plot. :param g_netx: :type g_netx:
+ nx.Graph :param loop_counter: :type loop_counter: int :param
+ save_as_image: :type save_as_image: bool :param custom_node_labels:
+ :type custom_node_labels: Dict
+
+ Args:
+ g_netx (nx.Graph):
+ loop_counter (int):
+ custom_node_labels (Dict):
+ """
+
+ logger.info("Constructing 2d Scatter plot..")
+ # Initialize components and edges
+ graph_components, \
+ nodes_with_colors, \
+ node_labels, \
+ graph_edges = self._prepare_data(g_netx=g_netx, custom_node_labels=custom_node_labels)
+ # Create Scatter Plot
+ scatter_layout = nx.spring_layout(G=g_netx, dim=2)
+ Xn = [scatter_layout[k][0] for k in list(scatter_layout.keys())] # x-coordinates of nodes
+ Yn = [scatter_layout[k][1] for k in list(scatter_layout.keys())] # y-coordinates
+ Xe = []
+ Ye = []
+ for edge in graph_edges:
+ Xe += [scatter_layout[edge[0]][0], scatter_layout[edge[1]][0], None] # x-coordinates of edge ends
+ Ye += [scatter_layout[edge[0]][1], scatter_layout[edge[1]][1], None] # y-coordinates of edge ends
+
+ lines = go.Scatter(x=Xe, y=Ye,
+ mode='lines', line=dict(color='rgb(90, 90, 90)', width=2.5), hoverinfo='none')
+ nodes = go.Scatter(x=Xn, y=Yn,
+ mode='markers',
+ marker=dict(symbol='circle', size=6,
+ color=nodes_with_colors, colorscale=self.custom_color_scale,
+ line=dict(color='rgb(255,255,255)', width=4)),
+ text=node_labels, hoverinfo='text')
+
+ x_axis = dict(backgroundcolor="rgb(200, 200, 230)", gridcolor="rgb(255, 255, 255)",
+ showbackground=True, zerolinecolor="rgb(255, 255, 255)")
+ y_axis = dict(backgroundcolor="rgb(230, 200,230)", gridcolor="rgb(255, 255, 255)",
+ showbackground=True, zerolinecolor="rgb(255, 255, 255)")
+ plot_title = self.plot_name + '_Loop-{}'.format(loop_counter) + "_NumOfCommunities-" + str(
+ len(graph_components))
+ layout = go.Layout(title=plot_title, width=1080, height=720,
+ scene=dict(xaxis=dict(x_axis), yaxis=dict(y_axis)),
+ margin=dict(t=100), hovermode='closest', showlegend=False)
+ data = [lines, nodes]
+ fig = go.Figure(data=data, layout=layout)
+
+ plot_name = os.path.join(self.plot_path, "scatter_2d_loop_{}.html".format(loop_counter))
+ logger.info("Plotting...")
+ if self.save_img:
+ plot(figure_or_data=fig, filename=plot_name, validate=False, auto_open=True,
+ image='png', image_filename=self.plot_name, output_type='file', image_width=1700, image_height=800)
+ else:
+ plot(figure_or_data=fig, filename=plot_name)
+
+ def _prepare_data(self, g_netx: nx.Graph, custom_node_labels: Dict) -> Tuple[List, List, List, nx.graph.EdgeView]:
+ """Create the scatter plot data from a NetworkX Graph.
+
+ Args:
+ g_netx (nx.Graph):
+ custom_node_labels (Dict):
+ """
+
+ graph_components = [comp for comp in nx.connected_components(g_netx)]
+ graph_edges = g_netx.edges()
+ # Prepare the node groups and colors
+ communities_dict = {}
+ for community_ind, graph_component in enumerate(graph_components):
+ for node in graph_component:
+ if custom_node_labels:
+ communities_dict[node] = custom_node_labels[node]
+ else:
+ communities_dict[node] = community_ind
+ nodes_with_colors = []
+ node_labels = []
+ for node in g_netx.nodes():
+ labels_current = node
+ node_labels.append("Node: {}".format(labels_current))
+ try:
+ nodes_with_colors.append(communities_dict[node])
+ except KeyError:
+ print("Node %d in small community" % node)
+
+ return graph_components, nodes_with_colors, node_labels, graph_edges
diff --git a/visualizer/visualizer.py b/visualizer/visualizer.py
new file mode 100644
index 0000000..ad873be
--- /dev/null
+++ b/visualizer/visualizer.py
@@ -0,0 +1,25 @@
+from abc import ABC, abstractmethod
+
+
+class AbstractVisualizer(ABC):
+ """Manages the plotting of an input GraphFrame"""
+
+ def __init__(self, *args, **kwargs) -> None:
+ """Abstract Visualizer
+
+ Args:
+ *args:
+ **kwargs:
+ """
+
+ pass
+
+ @abstractmethod
+ def scatter_plot(self, *args, **kwargs):
+ """Plots using the specified arguments. :param * args: :param ** kwargs:
+
+ Args:
+ *args:
+ **kwargs:
+ """
+ pass