From 55a4fc962d0c387fafa75537ccbe751d285edffb Mon Sep 17 00:00:00 2001 From: droudy Date: Thu, 18 Aug 2016 11:19:48 -0400 Subject: [PATCH 01/26] updated refactor --- gensim/models/doc2vec.py | 16 +- gensim/models/word2vec.py | 678 ++++++----------------------------- gensim/test/test_doc2vec.py | 4 +- gensim/test/test_word2vec.py | 78 ++-- 4 files changed, 150 insertions(+), 626 deletions(-) diff --git a/gensim/models/doc2vec.py b/gensim/models/doc2vec.py index 631745483a..d43ca6a37f 100644 --- a/gensim/models/doc2vec.py +++ b/gensim/models/doc2vec.py @@ -130,7 +130,7 @@ def train_document_dm(model, doc_words, doctag_indexes, alpha, work=None, neu1=N """ if word_vectors is None: - word_vectors = model.syn0 + word_vectors = model.kv.syn0 if word_locks is None: word_locks = model.syn0_lockf if doctag_vectors is None: @@ -138,8 +138,8 @@ def train_document_dm(model, doc_words, doctag_indexes, alpha, work=None, neu1=N if doctag_locks is None: doctag_locks = model.docvecs.doctag_syn0_lockf - word_vocabs = [model.vocab[w] for w in doc_words if w in model.vocab and - model.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.kv.vocab[w] for w in doc_words if w in model.kv.vocab and + model.kv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original doc2vec code @@ -185,7 +185,7 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, """ if word_vectors is None: - word_vectors = model.syn0 + word_vectors = model.kv.syn0 if word_locks is None: word_locks = model.syn0_lockf if doctag_vectors is None: @@ -193,13 +193,13 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, if doctag_locks is None: doctag_locks = model.docvecs.doctag_syn0_lockf - word_vocabs = [model.vocab[w] for w in doc_words if w in model.vocab and - model.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.kv.vocab[w] for w in doc_words if w in model.kv.vocab and + model.kv.vocab[w].sample_int > model.random.rand() * 2**32] doctag_len = len(doctag_indexes) if doctag_len != model.dm_tag_count: return 0 # skip doc without expected number of doctag(s) (TODO: warn/pad?) - null_word = model.vocab['\0'] + null_word = model.kv.vocab['\0'] pre_pad_count = model.window post_pad_count = model.window padded_document_indexes = ( @@ -214,7 +214,7 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, + padded_document_indexes[(pos + 1):(pos + 1 + post_pad_count)] # following words ) word_context_len = len(word_context_indexes) - predict_word = model.vocab[model.index2word[padded_document_indexes[pos]]] + predict_word = model.kv.vocab[model.kv.index2word[padded_document_indexes[pos]]] # numpy advanced-indexing copies; concatenate, flatten to 1d l1 = concatenate((doctag_vectors[doctag_indexes], word_vectors[word_context_indexes])).ravel() neu1e = train_cbow_pair(model, predict_word, None, l1, alpha, diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 31d403ad48..36ce4e7904 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -8,59 +8,38 @@ """ Deep learning via word2vec's "skip-gram and CBOW models", using either hierarchical softmax or negative sampling [1]_ [2]_. - The training algorithms were originally ported from the C package https://code.google.com/p/word2vec/ and extended with additional functionality. - For a blog tutorial on gensim word2vec, with an interactive web app trained on GoogleNews, visit http://radimrehurek.com/2014/02/word2vec-tutorial/ - **Make sure you have a C compiler before installing gensim, to use optimized (compiled) word2vec training** (70x speedup compared to plain NumPy implementation [3]_). - Initialize a model with e.g.:: - >>> model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4) - Persist a model to disk with:: - >>> model.save(fname) >>> model = Word2Vec.load(fname) # you can continue training with the loaded model! - The model can also be instantiated from an existing file on disk in the word2vec C format:: - >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.txt', binary=False) # C text format >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.bin', binary=True) # C binary format - You can perform various syntactic/semantic NLP word tasks with the model. Some of them are already built-in:: - >>> model.most_similar(positive=['woman', 'king'], negative=['man']) [('queen', 0.50882536), ...] - >>> model.doesnt_match("breakfast cereal dinner lunch".split()) 'cereal' - >>> model.similarity('woman', 'man') 0.73723527 - >>> model['computer'] # raw numpy vector of a word array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32) - and so on. - If you're finished training a model (=no more updates, only querying), you can do - >>> model.init_sims(replace=True) - to trim unneeded model memory = use (much) less RAM. - Note that there is a :mod:`gensim.models.phrases` module which lets you automatically detect phrases longer than one word. Using phrases, you can learn a word2vec model where "words" are actually multiword expressions, such as `new_york_times` or `financial_crisis`: - >>> bigram_transformer = gensim.models.Phrases(sentences) >>> model = Word2Vec(bigram_transformer[sentences], size=100, ...) - .. [1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013. .. [2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013. @@ -79,6 +58,7 @@ import itertools from gensim.utils import keep_vocab_item +from word2vec_helper import KeyedVectors # bad place to keep keyedvectors try: from queue import Queue, Empty @@ -111,18 +91,15 @@ def train_batch_sg(model, sentences, alpha, work=None): """ Update skip-gram model by training on a sequence of sentences. - Each sentence is a list of string tokens, which are looked up in the model's vocab dictionary. Called internally from `Word2Vec.train()`. - This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. - """ result = 0 for sentence in sentences: - word_vocabs = [model.vocab[w] for w in sentence if w in model.vocab and - model.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab and + model.kv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original word2vec code @@ -131,31 +108,28 @@ def train_batch_sg(model, sentences, alpha, work=None): for pos2, word2 in enumerate(word_vocabs[start:(pos + model.window + 1 - reduced_window)], start): # don't train on the `word` itself if pos2 != pos: - train_sg_pair(model, model.index2word[word.index], word2.index, alpha) + train_sg_pair(model, model.kv.index2word[word.index], word2.index, alpha) result += len(word_vocabs) return result def train_batch_cbow(model, sentences, alpha, work=None, neu1=None): """ Update CBOW model by training on a sequence of sentences. - Each sentence is a list of string tokens, which are looked up in the model's vocab dictionary. Called internally from `Word2Vec.train()`. - This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. - """ result = 0 for sentence in sentences: - word_vocabs = [model.vocab[w] for w in sentence if w in model.vocab and - model.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab and + model.kv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original word2vec code start = max(0, pos - model.window + reduced_window) window_pos = enumerate(word_vocabs[start:(pos + model.window + 1 - reduced_window)], start) word2_indices = [word2.index for pos2, word2 in window_pos if (word2 is not None and pos2 != pos)] - l1 = np_sum(model.syn0[word2_indices], axis=0) # 1 x vector_size + l1 = np_sum(model.kv.syn0[word2_indices], axis=0) # 1 x vector_size if word2_indices and model.cbow_mean: l1 /= len(word2_indices) train_cbow_pair(model, word, word2_indices, l1, alpha) @@ -165,20 +139,17 @@ def train_batch_cbow(model, sentences, alpha, work=None, neu1=None): def score_sentence_sg(model, sentence, work=None): """ Obtain likelihood score for a single sentence in a fitted skip-gram representaion. - The sentence is a list of Vocab objects (or None, when the corresponding word is not in the vocabulary). Called internally from `Word2Vec.score()`. - This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. - """ log_prob_sentence = 0.0 if model.negative: raise RuntimeError("scoring is only available for HS=True") - word_vocabs = [model.vocab[w] for w in sentence if w in model.vocab] + word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab] for pos, word in enumerate(word_vocabs): if word is None: continue # OOV word in the input sentence => skip @@ -195,19 +166,16 @@ def score_sentence_sg(model, sentence, work=None): def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): """ Obtain likelihood score for a single sentence in a fitted CBOW representaion. - The sentence is a list of Vocab objects (or None, where the corresponding word is not in the vocabulary. Called internally from `Word2Vec.score()`. - This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. - """ log_prob_sentence = 0.0 if model.negative: raise RuntimeError("scoring is only available for HS=True") - word_vocabs = [model.vocab[w] for w in sentence if w in model.vocab] + word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab] for pos, word in enumerate(word_vocabs): if word is None: continue # OOV word in the input sentence => skip @@ -215,7 +183,7 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): start = max(0, pos - model.window) window_pos = enumerate(word_vocabs[start:(pos + model.window + 1)], start) word2_indices = [word2.index for pos2, word2 in window_pos if (word2 is not None and pos2 != pos)] - l1 = np_sum(model.syn0[word2_indices], axis=0) # 1 x layer1_size + l1 = np_sum(model.kv.syn0[word2_indices], axis=0) # 1 x layer1_size if word2_indices and model.cbow_mean: l1 /= len(word2_indices) log_prob_sentence += score_cbow_pair(model, word, word2_indices, l1) @@ -233,13 +201,13 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): def train_sg_pair(model, word, context_index, alpha, learn_vectors=True, learn_hidden=True, context_vectors=None, context_locks=None): if context_vectors is None: - context_vectors = model.syn0 + context_vectors = model.kv.syn0 if context_locks is None: context_locks = model.syn0_lockf - if word not in model.vocab: + if word not in model.kv.vocab: return - predict_word = model.vocab[word] # target word (NN output) + predict_word = model.kv.vocab[word] # target word (NN output) l1 = context_vectors[context_index] # input word (NN input/projection layer) lock_factor = context_locks[context_index] @@ -270,7 +238,7 @@ def train_sg_pair(model, word, context_index, alpha, learn_vectors=True, learn_h neu1e += dot(gb, l2b) # save error if learn_vectors: - l1 += neu1e * lock_factor # learn input -> hidden (mutates model.syn0[word2.index], if that is l1) + l1 += neu1e * lock_factor # learn input -> hidden (mutates model.kv.syn0[word2.index], if that is l1) return neu1e @@ -304,13 +272,13 @@ def train_cbow_pair(model, word, input_word_indices, l1, alpha, learn_vectors=Tr if not model.cbow_mean and input_word_indices: neu1e /= len(input_word_indices) for i in input_word_indices: - model.syn0[i] += neu1e * model.syn0_lockf[i] + model.kv.syn0[i] += neu1e * model.syn0_lockf[i] return neu1e def score_sg_pair(model, word, word2): - l1 = model.syn0[word2.index] + l1 = model.kv.syn0[word2.index] l2a = deepcopy(model.syn1[word.point]) # 2d matrix, codelen x layer1_size sgn = (-1.0)**word.code # ch function, 0-> 1, 1 -> -1 lprob = -log(1.0 + exp(-sgn*dot(l1, l2a.T))) @@ -328,7 +296,6 @@ class Vocab(object): """ A single vocabulary item, used internally for collecting per-word frequency/sampling info, and for constructing binary trees (incl. both word leaves and inner nodes). - """ def __init__(self, **kwargs): self.count = 0 @@ -345,10 +312,8 @@ def __str__(self): class Word2Vec(utils.SaveLoad): """ Class for training, using and evaluating neural networks described in https://code.google.com/p/word2vec/ - The model can be stored/loaded via its `save()` and `load()` methods, or stored/loaded in a format compatible with the original word2vec implementation via `save_word2vec_format()` and `load_word2vec_format()`. - """ def __init__( self, sentences=None, size=100, alpha=0.025, window=5, min_count=5, @@ -358,74 +323,53 @@ def __init__( """ Initialize the model from an iterable of `sentences`. Each sentence is a list of words (unicode strings) that will be used for training. - The `sentences` iterable can be simply a list, but for larger corpora, consider an iterable that streams the sentences directly from disk/network. See :class:`BrownCorpus`, :class:`Text8Corpus` or :class:`LineSentence` in this module for such examples. - If you don't supply `sentences`, the model is left uninitialized -- use if you plan to initialize it in some other way. - `sg` defines the training algorithm. By default (`sg=0`), CBOW is used. Otherwise (`sg=1`), skip-gram is employed. - `size` is the dimensionality of the feature vectors. - `window` is the maximum distance between the current and predicted word within a sentence. - `alpha` is the initial learning rate (will linearly drop to `min_alpha` as training progresses). - `seed` = for the random number generator. Initial vectors for each word are seeded with a hash of the concatenation of word + str(seed). Note that for a fully deterministically-reproducible run, you must also limit the model to a single worker thread, to eliminate ordering jitter from OS thread scheduling. (In Python 3, reproducibility between interpreter launches also requires use of the PYTHONHASHSEED environment variable to control hash randomization.) - `min_count` = ignore all words with total frequency lower than this. - `max_vocab_size` = limit RAM during vocabulary building; if there are more unique words than this, then prune the infrequent ones. Every 10 million word types need about 1GB of RAM. Set to `None` for no limit (default). - `sample` = threshold for configuring which higher-frequency words are randomly downsampled; default is 1e-3, useful range is (0, 1e-5). - `workers` = use this many worker threads to train the model (=faster training with multicore machines). - `hs` = if 1, hierarchical softmax will be used for model training. If set to 0 (default), and `negative` is non-zero, negative sampling will be used. - `negative` = if > 0, negative sampling will be used, the int for negative specifies how many "noise words" should be drawn (usually between 5-20). Default is 5. If set to 0, no negative samping is used. - `cbow_mean` = if 0, use the sum of the context word vectors. If 1 (default), use the mean. Only applies when cbow is used. - `hashfxn` = hash function to use to randomly initialize weights, for increased training reproducibility. Default is Python's rudimentary built in hash function. - `iter` = number of iterations (epochs) over the corpus. Default is 5. - `trim_rule` = vocabulary trimming rule, specifies whether certain words should remain in the vocabulary, be trimmed away, or handled using the default (discard if word count < min_count). Can be None (min_count will be used), or a callable that accepts parameters (word, count, min_count) and returns either `utils.RULE_DISCARD`, `utils.RULE_KEEP` or `utils.RULE_DEFAULT`. Note: The rule, if given, is only used prune vocabulary during build_vocab() and is not stored as part of the model. - `sorted_vocab` = if 1 (default), sort the vocabulary by descending frequency before assigning word indexes. - `batch_words` = target size (in words) for batches of examples passed to worker threads (and thus cython routines). Default is 10000. (Larger batches will be passed if individual texts are longer than 10000 words, but the standard cython code truncates to that maximum.) - """ - self.vocab = {} # mapping from a word (string) to a Vocab object - self.index2word = [] # map from a word's matrix index (int) to word (string) + self.kv = KeyedVectors() # kv --> KeyedVectors self.sg = int(sg) self.cum_table = None # for negative sampling self.vector_size = int(size) @@ -463,21 +407,19 @@ def make_cum_table(self, power=0.75, domain=2**31 - 1): """ Create a cumulative-distribution table using stored vocabulary word counts for drawing random words in the negative-sampling training routines. - To draw a word index, choose a random integer up to the maximum value in the table (cum_table[-1]), then finding that integer's sorted insertion point (as if by bisect_left or ndarray.searchsorted()). That insertion point is the drawn index, coming up in proportion equal to the increment at that slot. - Called internally from 'build_vocab()'. """ - vocab_size = len(self.index2word) + vocab_size = len(self.kv.index2word) self.cum_table = zeros(vocab_size, dtype=uint32) # compute sum of all power (Z in paper) - train_words_pow = float(sum([self.vocab[word].count**power for word in self.vocab])) + train_words_pow = float(sum([self.kv.vocab[word].count**power for word in self.kv.vocab])) cumulative = 0.0 for word_index in range(vocab_size): - cumulative += self.vocab[self.index2word[word_index]].count**power / train_words_pow + cumulative += self.kv.vocab[self.kv.index2word[word_index]].count**power / train_words_pow self.cum_table[word_index] = round(cumulative * domain) if len(self.cum_table) > 0: assert self.cum_table[-1] == domain @@ -486,29 +428,28 @@ def create_binary_tree(self): """ Create a binary Huffman tree using stored vocabulary word counts. Frequent words will have shorter binary codes. Called internally from `build_vocab()`. - """ - logger.info("constructing a huffman tree from %i words", len(self.vocab)) + logger.info("constructing a huffman tree from %i words", len(self.kv.vocab)) # build the huffman tree - heap = list(itervalues(self.vocab)) + heap = list(itervalues(self.kv.vocab)) heapq.heapify(heap) - for i in xrange(len(self.vocab) - 1): + for i in xrange(len(self.kv.vocab) - 1): min1, min2 = heapq.heappop(heap), heapq.heappop(heap) - heapq.heappush(heap, Vocab(count=min1.count + min2.count, index=i + len(self.vocab), left=min1, right=min2)) + heapq.heappush(heap, Vocab(count=min1.count + min2.count, index=i + len(self.kv.vocab), left=min1, right=min2)) # recurse over the tree, assigning a binary code to each vocabulary word if heap: max_depth, stack = 0, [(heap[0], [], [])] while stack: node, codes, points = stack.pop() - if node.index < len(self.vocab): + if node.index < len(self.kv.vocab): # leaf node => store its path from the root node.code, node.point = codes, points max_depth = max(len(codes), max_depth) else: # inner node => continue recursion - points = array(list(points) + [node.index - len(self.vocab)], dtype=uint32) + points = array(list(points) + [node.index - len(self.kv.vocab)], dtype=uint32) stack.append((node.left, array(list(codes) + [0], dtype=uint8), points)) stack.append((node.right, array(list(codes) + [1], dtype=uint8), points)) @@ -518,7 +459,6 @@ def build_vocab(self, sentences, keep_raw_vocab=False, trim_rule=None, progress_ """ Build vocabulary from a sequence of sentences (can be a once-only generator stream). Each sentence must be a list of unicode strings. - """ self.scan_vocab(sentences, progress_per=progress_per, trim_rule=trim_rule) # initial survey self.scale_vocab(keep_raw_vocab=keep_raw_vocab, trim_rule=trim_rule) # trim by min_count & precalculate downsampling @@ -558,26 +498,23 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab """ Apply vocabulary settings for `min_count` (discarding less-frequent words) and `sample` (controlling the downsampling of more-frequent words). - Calling with `dry_run=True` will only simulate the provided settings and report the size of the retained vocabulary, effective corpus length, and estimated memory requirements. Results are both printed via logging and returned as a dict. - Delete the raw vocabulary after the scaling is done to free up RAM, unless `keep_raw_vocab` is set. - """ min_count = min_count or self.min_count sample = sample or self.sample # Discard words less-frequent than min_count if not dry_run: - self.index2word = [] + self.kv.index2word = [] # make stored settings match these applied settings self.min_count = min_count self.sample = sample - self.vocab = {} + self.kv.vocab = {} drop_unique, drop_total, retain_total, original_total = 0, 0, 0, 0 retain_words = [] for word, v in iteritems(self.raw_vocab): @@ -586,8 +523,8 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab retain_total += v original_total += v if not dry_run: - self.vocab[word] = Vocab(count=v, index=len(self.index2word)) - self.index2word.append(word) + self.kv.vocab[word] = Vocab(count=v, index=len(self.kv.index2word)) + self.kv.index2word.append(word) else: drop_unique += 1 drop_total += v @@ -619,7 +556,7 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab word_probability = 1.0 downsample_total += v if not dry_run: - self.vocab[w].sample_int = int(round(word_probability * 2**32)) + self.kv.vocab[w].sample_int = int(round(word_probability * 2**32)) if not dry_run and not keep_raw_vocab: logger.info("deleting the raw counts dictionary of %i items", len(self.raw_vocab)) @@ -640,7 +577,7 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab def finalize_vocab(self): """Build tables and model weights based on final vocabulary settings.""" - if not self.index2word: + if not self.kv.index2word: self.scale_vocab() if self.sorted_vocab: self.sort_vocab() @@ -654,27 +591,27 @@ def finalize_vocab(self): # create null pseudo-word for padding when using concatenative L1 (run-of-words) # this word is only ever input – never predicted – so count, huffman-point, etc doesn't matter word, v = '\0', Vocab(count=1, sample_int=0) - v.index = len(self.vocab) - self.index2word.append(word) - self.vocab[word] = v + v.index = len(self.kv.vocab) + self.kv.index2word.append(word) + self.kv.vocab[word] = v # set initial input/projection and hidden weights self.reset_weights() def sort_vocab(self): """Sort the vocabulary so the most frequent words have the lowest indexes.""" - if hasattr(self, 'syn0'): + if hasattr(self.kv, 'syn0'): raise RuntimeError("must sort before initializing vectors/weights") - self.index2word.sort(key=lambda word: self.vocab[word].count, reverse=True) - for i, word in enumerate(self.index2word): - self.vocab[word].index = i + self.kv.index2word.sort(key=lambda word: self.kv.vocab[word].count, reverse=True) + for i, word in enumerate(self.kv.index2word): + self.kv.vocab[word].index = i def reset_from(self, other_model): """ Borrow shareable pre-built structures (like vocab) from the other_model. Useful if testing multiple models in parallel on the same corpus. """ - self.vocab = other_model.vocab - self.index2word = other_model.index2word + self.kv.vocab = other_model.vocab + self.kv.index2word = other_model.index2word self.cum_table = other_model.cum_table self.corpus_count = other_model.corpus_count self.reset_weights() @@ -701,11 +638,9 @@ def train(self, sentences, total_words=None, word_count=0, """ Update the model's neural weights from a sequence of sentences (can be a once-only generator stream). For Word2Vec, each sentence must be a list of unicode strings. (Subclasses may accept other examples.) - To support linear learning-rate decay from (initial) alpha to min_alpha, either total_examples (count of sentences) or total_words (count of raw words in sentences) should be provided, unless the sentences are the same as those that were used to initially build the vocabulary. - """ if FAST_VERSION < 0: import warnings @@ -720,12 +655,12 @@ def train(self, sentences, total_words=None, word_count=0, logger.info( "training model with %i workers on %i vocabulary and %i features, " "using sg=%s hs=%s sample=%s negative=%s", - self.workers, len(self.vocab), self.layer1_size, self.sg, + self.workers, len(self.kv.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) - if not self.vocab: + if not self.kv.vocab: raise RuntimeError("you must first build vocabulary before training the model") - if not hasattr(self, 'syn0'): + if not hasattr(self.kv, 'syn0'): raise RuntimeError("you must first finalize vocabulary before training the model") if total_words is None and total_examples is None: @@ -891,18 +826,13 @@ def score(self, sentences, total_sentences=int(1e6), chunksize=100, queue_factor Score the log probability for a sequence of sentences (can be a once-only generator stream). Each sentence must be a list of unicode strings. This does not change the fitted model in any way (see Word2Vec.train() for that). - We have currently only implemented score for the hierarchical softmax scheme, so you need to have run word2vec with hs=1 and negative=0 for this to work. - Note that you should specify total_sentences; we'll run into problems if you ask to score more than this number of sentences but it is inefficient to set the value too high. - See the article by [taddy]_ and the gensim demo at [deepir]_ for examples of how to use such scores in document classification. - .. [taddy] Taddy, Matt. Document Classification by Inversion of Distributed Language Representations, in Proceedings of the 2015 Conference of the Association of Computational Linguistics. .. [deepir] https://github.com/piskvorky/gensim/blob/develop/docs/notebooks/deepir.ipynb - """ if FAST_VERSION < 0: import warnings @@ -912,9 +842,9 @@ def score(self, sentences, total_sentences=int(1e6), chunksize=100, queue_factor logger.info( "scoring sentences with %i workers on %i vocabulary and %i features, " "using sg=%s hs=%s sample=%s and negative=%s", - self.workers, len(self.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) + self.workers, len(self.kv.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) - if not self.vocab: + if not self.kv.vocab: raise RuntimeError("you must first build vocabulary before scoring new data") if not self.hs: @@ -1001,23 +931,23 @@ def worker_loop(): return sentence_scores[:sentence_count] def clear_sims(self): - self.syn0norm = None + self.kv.syn0norm = None def reset_weights(self): """Reset all projection weights to an initial (untrained) state, but keep the existing vocabulary.""" logger.info("resetting layer weights") - self.syn0 = empty((len(self.vocab), self.vector_size), dtype=REAL) + self.kv.syn0 = empty((len(self.kv.vocab), self.vector_size), dtype=REAL) # randomize weights vector by vector, rather than materializing a huge random matrix in RAM at once - for i in xrange(len(self.vocab)): + for i in xrange(len(self.kv.vocab)): # construct deterministic seed from word AND seed argument - self.syn0[i] = self.seeded_vector(self.index2word[i] + str(self.seed)) + self.kv.syn0[i] = self.seeded_vector(self.kv.index2word[i] + str(self.seed)) if self.hs: - self.syn1 = zeros((len(self.vocab), self.layer1_size), dtype=REAL) + self.syn1 = zeros((len(self.kv.vocab), self.layer1_size), dtype=REAL) if self.negative: - self.syn1neg = zeros((len(self.vocab), self.layer1_size), dtype=REAL) - self.syn0norm = None + self.syn1neg = zeros((len(self.kv.vocab), self.layer1_size), dtype=REAL) + self.kv.syn0norm = None - self.syn0_lockf = ones(len(self.vocab), dtype=REAL) # zeros suppress learning + self.syn0_lockf = ones(len(self.kv.vocab), dtype=REAL) # zeros suppress learning def seeded_vector(self, seed_string): """Create one 'random' vector (but deterministic by seed_string)""" @@ -1029,25 +959,23 @@ def save_word2vec_format(self, fname, fvocab=None, binary=False): """ Store the input-hidden weight matrix in the same format used by the original C word2vec-tool, for compatibility. - `fname` is the file used to save the vectors in `fvocab` is an optional file used to save the vocabulary `binary` is an optional boolean indicating whether the data is to be saved in binary word2vec format (default: False) - """ if fvocab is not None: logger.info("storing vocabulary in %s" % (fvocab)) with utils.smart_open(fvocab, 'wb') as vout: - for word, vocab in sorted(iteritems(self.vocab), key=lambda item: -item[1].count): + for word, vocab in sorted(iteritems(self.kv.vocab), key=lambda item: -item[1].count): vout.write(utils.to_utf8("%s %s\n" % (word, vocab.count))) - logger.info("storing %sx%s projection weights into %s" % (len(self.vocab), self.vector_size, fname)) - assert (len(self.vocab), self.vector_size) == self.syn0.shape + logger.info("storing %sx%s projection weights into %s" % (len(self.kv.vocab), self.vector_size, fname)) + assert (len(self.kv.vocab), self.vector_size) == self.kv.syn0.shape with utils.smart_open(fname, 'wb') as fout: - fout.write(utils.to_utf8("%s %s\n" % self.syn0.shape)) + fout.write(utils.to_utf8("%s %s\n" % self.kv.syn0.shape)) # store in sorted order: most frequent words at the top - for word, vocab in sorted(iteritems(self.vocab), key=lambda item: -item[1].count): - row = self.syn0[vocab.index] + for word, vocab in sorted(iteritems(self.kv.vocab), key=lambda item: -item[1].count): + row = self.kv.syn0[vocab.index] if binary: fout.write(utils.to_utf8(word) + b" " + row.tostring()) else: @@ -1058,31 +986,24 @@ def load_word2vec_format(cls, fname, fvocab=None, binary=False, encoding='utf8', limit=None, datatype=REAL): """ Load the input-hidden weight matrix from the original C word2vec-tool format. - Note that the information stored in the file is incomplete (the binary tree is missing), so while you can query for word similarity etc., you cannot continue training with a model loaded this way. - `binary` is a boolean indicating whether the data is in binary word2vec format. `norm_only` is a boolean indicating whether to only store normalised word2vec vectors in memory. Word counts are read from `fvocab` filename, if set (this is the file generated by `-save-vocab` flag of the original C tool). - If you trained the C model using non-utf8 encoding for words, specify that encoding in `encoding`. - `unicode_errors`, default 'strict', is a string suitable to be passed as the `errors` argument to the unicode() (Python 2.x) or str() (Python 3.x) function. If your source file may include word tokens truncated in the middle of a multibyte unicode character (as is common from the original word2vec.c tool), 'ignore' or 'replace' may help. - `limit` sets a maximum number of word-vectors to read from the file. The default, None, means read all. - `datatype` (experimental) can coerce dimensions to a non-default float type (such as np.float16) to save memory. (Such types may result in much slower bulk operations or incompatibility with optimized routines.) - """ counts = None if fvocab is not None: @@ -1100,25 +1021,25 @@ def load_word2vec_format(cls, fname, fvocab=None, binary=False, encoding='utf8', if limit: vocab_size = min(vocab_size, limit) result = cls(size=vector_size) - result.syn0 = zeros((vocab_size, vector_size), dtype=datatype) + result.kv.syn0 = zeros((vocab_size, vector_size), dtype=datatype) def add_word(word, weights): - word_id = len(result.vocab) - if word in result.vocab: + word_id = len(result.kv.vocab) + if word in result.kv.vocab: logger.warning("duplicate word '%s' in %s, ignoring all but first", word, fname) return if counts is None: # most common scenario: no vocab file given. just make up some bogus counts, in descending order - result.vocab[word] = Vocab(index=word_id, count=vocab_size - word_id) + result.kv.vocab[word] = Vocab(index=word_id, count=vocab_size - word_id) elif word in counts: # use count from the vocab file - result.vocab[word] = Vocab(index=word_id, count=counts[word]) + result.kv.vocab[word] = Vocab(index=word_id, count=counts[word]) else: # vocab file given, but word is missing -- set count to None (TODO: or raise?) logger.warning("vocabulary file is incomplete: '%s' is missing", word) - result.vocab[word] = Vocab(index=word_id, count=None) - result.syn0[word_id] = weights - result.index2word.append(word) + result.kv.vocab[word] = Vocab(index=word_id, count=None) + result.kv.syn0[word_id] = weights + result.kv.index2word.append(word) if binary: binary_len = dtype(REAL).itemsize * vector_size @@ -1146,15 +1067,15 @@ def add_word(word, weights): raise ValueError("invalid vector on line %s (is this really the text format?)" % (line_no)) word, weights = parts[0], list(map(REAL, parts[1:])) add_word(word, weights) - if result.syn0.shape[0] != len(result.vocab): + if result.kv.syn0.shape[0] != len(result.kv.vocab): logger.info( "duplicate words detected, shrinking matrix size from %i to %i", - result.syn0.shape[0], len(result.vocab) + result.kv.syn0.shape[0], len(result.kv.vocab) ) - result.syn0 = ascontiguousarray(result.syn0[: len(result.vocab)]) - assert (len(result.vocab), result.vector_size) == result.syn0.shape + result.kv.syn0 = ascontiguousarray(result.kv.syn0[: len(result.kv.vocab)]) + assert (len(result.kv.vocab), result.vector_size) == result.kv.syn0.shape - logger.info("loaded %s matrix from %s" % (result.syn0.shape, fname)) + logger.info("loaded %s matrix from %s" % (result.kv.syn0.shape, fname)) return result def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='utf8', unicode_errors='strict'): @@ -1163,9 +1084,7 @@ def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='ut given, where it intersects with the current vocabulary. (No words are added to the existing vocabulary, but intersecting words adopt the file's weights, and non-intersecting words are left alone.) - `binary` is a boolean indicating whether the data is in binary word2vec format. - `lockf` is a lock-factor value to be set for any imported word-vectors; the default value of 0.0 prevents further updating of the vector during subsequent training. Use 1.0 to allow further training updates of merged vectors. @@ -1191,383 +1110,73 @@ def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='ut word.append(ch) word = utils.to_unicode(b''.join(word), encoding=encoding, errors=unicode_errors) weights = fromstring(fin.read(binary_len), dtype=REAL) - if word in self.vocab: + if word in self.kv.vocab: overlap_count += 1 - self.syn0[self.vocab[word].index] = weights - self.syn0_lockf[self.vocab[word].index] = lockf # lock-factor: 0.0 stops further changes + self.kv.syn0[self.kv.vocab[word].index] = weights + self.syn0_lockf[self.kv.vocab[word].index] = lockf # lock-factor: 0.0 stops further changes else: for line_no, line in enumerate(fin): parts = utils.to_unicode(line.rstrip(), encoding=encoding, errors=unicode_errors).split(" ") if len(parts) != vector_size + 1: raise ValueError("invalid vector on line %s (is this really the text format?)" % (line_no)) word, weights = parts[0], list(map(REAL, parts[1:])) - if word in self.vocab: + if word in self.kv.vocab: overlap_count += 1 - self.syn0[self.vocab[word].index] = weights - logger.info("merged %d vectors into %s matrix from %s" % (overlap_count, self.syn0.shape, fname)) + self.kv.syn0[self.kv.vocab[word].index] = weights + logger.info("merged %d vectors into %s matrix from %s" % (overlap_count, self.kv.syn0.shape, fname)) def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, indexer=None): - """ - Find the top-N most similar words. Positive words contribute positively towards the - similarity, negative words negatively. - - This method computes cosine similarity between a simple mean of the projection - weight vectors of the given words and the vectors for each word in the model. - The method corresponds to the `word-analogy` and `distance` scripts in the original - word2vec implementation. - - If topn is False, most_similar returns the vector of similarity scores. - - `restrict_vocab` is an optional integer which limits the range of vectors which - are searched for most-similar values. For example, restrict_vocab=10000 would - only check the first 10000 word vectors in the vocabulary order. (This may be - meaningful if you've sorted the vocabulary by descending frequency.) - - Example:: - - >>> trained_model.most_similar(positive=['woman', 'king'], negative=['man']) - [('queen', 0.50882536), ...] - - """ - self.init_sims() - - if isinstance(positive, string_types) and not negative: - # allow calls like most_similar('dog'), as a shorthand for most_similar(['dog']) - positive = [positive] - - # add weights for each word, if not already present; default to 1.0 for positive and -1.0 for negative words - positive = [ - (word, 1.0) if isinstance(word, string_types + (ndarray,)) else word - for word in positive - ] - negative = [ - (word, -1.0) if isinstance(word, string_types + (ndarray,)) else word - for word in negative - ] - - # compute the weighted average of all words - all_words, mean = set(), [] - for word, weight in positive + negative: - if isinstance(word, ndarray): - mean.append(weight * word) - elif word in self.vocab: - mean.append(weight * self.syn0norm[self.vocab[word].index]) - all_words.add(self.vocab[word].index) - else: - raise KeyError("word '%s' not in vocabulary" % word) - if not mean: - raise ValueError("cannot compute similarity with no input") - mean = matutils.unitvec(array(mean).mean(axis=0)).astype(REAL) - - if indexer is not None: - return indexer.most_similar(mean, topn) - - limited = self.syn0norm if restrict_vocab is None else self.syn0norm[:restrict_vocab] - dists = dot(limited, mean) - if not topn: - return dists - best = matutils.argsort(dists, topn=topn + len(all_words), reverse=True) - # ignore (don't return) words from the input - result = [(self.index2word[sim], float(dists[sim])) for sim in best if sim not in all_words] - return result[:topn] + return self.kv.most_similar(positive, negative, topn, restrict_vocab, indexer) def wmdistance(self, document1, document2): - """ - Compute the Word Mover's Distance between two documents. When using this - code, please consider citing the following papers: - - .. Ofir Pele and Michael Werman, "A linear time histogram metric for improved SIFT matching". - .. Ofir Pele and Michael Werman, "Fast and robust earth mover's distances". - .. Matt Kusner et al. "From Word Embeddings To Document Distances". - - Note that if one of the documents have no words that exist in the - Word2Vec vocab, `float('inf')` (i.e. infinity) will be returned. - - This method only works if `pyemd` is installed (can be installed via pip, but requires a C compiler). - - Example: - >>> # Train word2vec model. - >>> model = Word2Vec(sentences) - - >>> # Some sentences to test. - >>> sentence_obama = 'Obama speaks to the media in Illinois'.lower().split() - >>> sentence_president = 'The president greets the press in Chicago'.lower().split() - - >>> # Remove their stopwords. - >>> from nltk.corpus import stopwords - >>> stopwords = nltk.corpus.stopwords.words('english') - >>> sentence_obama = [w for w in sentence_obama if w not in stopwords] - >>> sentence_president = [w for w in sentence_president if w not in stopwords] - - >>> # Compute WMD. - >>> distance = model.wmdistance(sentence_obama, sentence_president) - """ - - if not PYEMD_EXT: - raise ImportError("Please install pyemd Python package to compute WMD.") - - # Remove out-of-vocabulary words. - len_pre_oov1 = len(document1) - len_pre_oov2 = len(document2) - document1 = [token for token in document1 if token in self] - document2 = [token for token in document2 if token in self] - diff1 = len_pre_oov1 - len(document1) - diff2 = len_pre_oov2 - len(document2) - if diff1 > 0 or diff2 > 0: - logger.info('Removed %d and %d OOV words from document 1 and 2 (respectively).', - diff1, diff2) - - if len(document1) == 0 or len(document2) == 0: - logger.info('At least one of the documents had no words that were' - 'in the vocabulary. Aborting (returning inf).') - return float('inf') - - dictionary = Dictionary(documents=[document1, document2]) - vocab_len = len(dictionary) - - # Sets for faster look-up. - docset1 = set(document1) - docset2 = set(document2) - - # Compute distance matrix. - distance_matrix = zeros((vocab_len, vocab_len), dtype=double) - for i, t1 in dictionary.items(): - for j, t2 in dictionary.items(): - if not t1 in docset1 or not t2 in docset2: - continue - # Compute Euclidean distance between word vectors. - distance_matrix[i, j] = sqrt(np_sum((self[t1] - self[t2])**2)) - - if np_sum(distance_matrix) == 0.0: - # `emd` gets stuck if the distance matrix contains only zeros. - logger.info('The distance matrix is all zeros. Aborting (returning inf).') - return float('inf') - - def nbow(document): - d = zeros(vocab_len, dtype=double) - nbow = dictionary.doc2bow(document) # Word frequencies. - doc_len = len(document) - for idx, freq in nbow: - d[idx] = freq / float(doc_len) # Normalized word frequencies. - return d - - # Compute nBOW representation of documents. - d1 = nbow(document1) - d2 = nbow(document2) - - # Compute WMD. - return emd(d1, d2, distance_matrix) + return self.kv.wmdistance(document1. document2) def most_similar_cosmul(self, positive=[], negative=[], topn=10): - """ - Find the top-N most similar words, using the multiplicative combination objective - proposed by Omer Levy and Yoav Goldberg in [4]_. Positive words still contribute - positively towards the similarity, negative words negatively, but with less - susceptibility to one large distance dominating the calculation. - - In the common analogy-solving case, of two positive and one negative examples, - this method is equivalent to the "3CosMul" objective (equation (4)) of Levy and Goldberg. - - Additional positive or negative examples contribute to the numerator or denominator, - respectively – a potentially sensible but untested extension of the method. (With - a single positive example, rankings will be the same as in the default most_similar.) - - Example:: - - >>> trained_model.most_similar_cosmul(positive=['baghdad', 'england'], negative=['london']) - [(u'iraq', 0.8488819003105164), ...] - - .. [4] Omer Levy and Yoav Goldberg. Linguistic Regularities in Sparse and Explicit Word Representations, 2014. - - """ - self.init_sims() - - if isinstance(positive, string_types) and not negative: - # allow calls like most_similar_cosmul('dog'), as a shorthand for most_similar_cosmul(['dog']) - positive = [positive] - - all_words = set() - - def word_vec(word): - if isinstance(word, ndarray): - return word - elif word in self.vocab: - all_words.add(self.vocab[word].index) - return self.syn0norm[self.vocab[word].index] - else: - raise KeyError("word '%s' not in vocabulary" % word) - - positive = [word_vec(word) for word in positive] - negative = [word_vec(word) for word in negative] - if not positive: - raise ValueError("cannot compute similarity with no input") - - # equation (4) of Levy & Goldberg "Linguistic Regularities...", - # with distances shifted to [0,1] per footnote (7) - pos_dists = [((1 + dot(self.syn0norm, term)) / 2) for term in positive] - neg_dists = [((1 + dot(self.syn0norm, term)) / 2) for term in negative] - dists = prod(pos_dists, axis=0) / (prod(neg_dists, axis=0) + 0.000001) - - if not topn: - return dists - best = matutils.argsort(dists, topn=topn + len(all_words), reverse=True) - # ignore (don't return) words from the input - result = [(self.index2word[sim], float(dists[sim])) for sim in best if sim not in all_words] - return result[:topn] + return self.kv.most_similar_cosmul(positive, negative, topn) def similar_by_word(self, word, topn=10, restrict_vocab=None): - """ - Find the top-N most similar words. - - If topn is False, similar_by_word returns the vector of similarity scores. - - `restrict_vocab` is an optional integer which limits the range of vectors which - are searched for most-similar values. For example, restrict_vocab=10000 would - only check the first 10000 word vectors in the vocabulary order. (This may be - meaningful if you've sorted the vocabulary by descending frequency.) - - Example:: - - >>> trained_model.similar_by_word('graph') - [('user', 0.9999163150787354), ...] - - """ - - return self.most_similar(positive=[word], topn=topn, restrict_vocab=restrict_vocab) + return self.kv.similar_by_word(word, topn, restrict_vocab) def similar_by_vector(self, vector, topn=10, restrict_vocab=None): - """ - Find the top-N most similar words by vector. - - If topn is False, similar_by_vector returns the vector of similarity scores. - - `restrict_vocab` is an optional integer which limits the range of vectors which - are searched for most-similar values. For example, restrict_vocab=10000 would - only check the first 10000 word vectors in the vocabulary order. (This may be - meaningful if you've sorted the vocabulary by descending frequency.) - - Example:: - - >>> trained_model.similar_by_vector([1,2]) - [('survey', 0.9942699074745178), ...] - - """ - - return self.most_similar(positive=[vector], topn=topn, restrict_vocab=restrict_vocab) + return self.kv.similar_by_vector(vector, topn, restrict_vocab) def doesnt_match(self, words): - """ - Which word from the given list doesn't go with the others? - - Example:: - - >>> trained_model.doesnt_match("breakfast cereal dinner lunch".split()) - 'cereal' - - """ - self.init_sims() - - words = [word for word in words if word in self.vocab] # filter out OOV words - logger.debug("using words %s" % words) - if not words: - raise ValueError("cannot select a word from an empty list") - vectors = vstack(self.syn0norm[self.vocab[word].index] for word in words).astype(REAL) - mean = matutils.unitvec(vectors.mean(axis=0)).astype(REAL) - dists = dot(vectors, mean) - return sorted(zip(dists, words))[0][1] + return self.kv.doesnt_match(words) def __getitem__(self, words): - - """ - Accept a single word or a list of words as input. - - If a single word: returns the word's representations in vector space, as - a 1D numpy array. - - Multiple words: return the words' representations in vector space, as a - 2d numpy array: #words x #vector_size. Matrix rows are in the same order - as in input. - - Example:: - - >>> trained_model['office'] - array([ -1.40128313e-02, ...]) - - >>> trained_model[['office', 'products']] - array([ -1.40128313e-02, ...] - [ -1.70425311e-03, ...] - ...) - - """ - if isinstance(words, string_types): - # allow calls like trained_model['office'], as a shorthand for trained_model[['office']] - return self.syn0[self.vocab[words].index] - - return vstack([self.syn0[self.vocab[word].index] for word in words]) + return self.kv.__getitem__(words) def __contains__(self, word): - return word in self.vocab + return self.kv.__contains__(word) def similarity(self, w1, w2): - """ - Compute cosine similarity between two words. - - Example:: - - >>> trained_model.similarity('woman', 'man') - 0.73723527 - - >>> trained_model.similarity('woman', 'woman') - 1.0 - - """ - return dot(matutils.unitvec(self[w1]), matutils.unitvec(self[w2])) + return self.kv.similarity(w1, w2) def n_similarity(self, ws1, ws2): - """ - Compute cosine similarity between two sets of words. - - Example:: - - >>> trained_model.n_similarity(['sushi', 'shop'], ['japanese', 'restaurant']) - 0.61540466561049689 - - >>> trained_model.n_similarity(['restaurant', 'japanese'], ['japanese', 'restaurant']) - 1.0000000000000004 - - >>> trained_model.n_similarity(['sushi'], ['restaurant']) == trained_model.similarity('sushi', 'restaurant') - True - - """ - v1 = [self[word] for word in ws1] - v2 = [self[word] for word in ws2] - return dot(matutils.unitvec(array(v1).mean(axis=0)), matutils.unitvec(array(v2).mean(axis=0))) + return self.kv.n_similarity(ws1, ws2) def init_sims(self, replace=False): """ Precompute L2-normalized vectors. - If `replace` is set, forget the original vectors and only keep the normalized ones = saves lots of memory! - Note that you **cannot continue training** after doing a replace. The model becomes effectively read-only = you can call `most_similar`, `similarity` etc., but not `train`. - """ if getattr(self, 'syn0norm', None) is None or replace: logger.info("precomputing L2-norms of word weight vectors") if replace: - for i in xrange(self.syn0.shape[0]): - self.syn0[i, :] /= sqrt((self.syn0[i, :] ** 2).sum(-1)) - self.syn0norm = self.syn0 + for i in xrange(self.kv.syn0.shape[0]): + self.kv.syn0[i, :] /= sqrt((self.kv.syn0[i, :] ** 2).sum(-1)) + self.kv.syn0norm = self.kv.syn0 if hasattr(self, 'syn1'): del self.syn1 else: - self.syn0norm = (self.syn0 / sqrt((self.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL) + self.kv.syn0norm = (self.kv.syn0 / sqrt((self.kv.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL) def estimate_memory(self, vocab_size=None, report=None): """Estimate required memory for a model using current settings and provided vocabulary size.""" - vocab_size = vocab_size or len(self.vocab) + vocab_size = vocab_size or len(self.kv.vocab) report = report or {} report['vocab'] = vocab_size * (700 if self.hs else 500) report['syn0'] = vocab_size * self.vector_size * dtype(REAL).itemsize @@ -1582,99 +1191,18 @@ def estimate_memory(self, vocab_size=None, report=None): @staticmethod def log_accuracy(section): - correct, incorrect = len(section['correct']), len(section['incorrect']) - if correct + incorrect > 0: - logger.info("%s: %.1f%% (%i/%i)" % - (section['section'], 100.0 * correct / (correct + incorrect), - correct, correct + incorrect)) + return KeyedVectors.log_accuracy(section) def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, case_insensitive=True): - """ - Compute accuracy of the model. `questions` is a filename where lines are - 4-tuples of words, split into sections by ": SECTION NAME" lines. - See questions-words.txt in https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/word2vec/source-archive.zip for an example. - - The accuracy is reported (=printed to log and returned as a list) for each - section separately, plus there's one aggregate summary at the end. - - Use `restrict_vocab` to ignore all questions containing a word not in the first `restrict_vocab` - words (default 30,000). This may be meaningful if you've sorted the vocabulary by descending frequency. - In case `case_insensitive` is True, the first `restrict_vocab` words are taken first, and then - case normalization is performed. - - Use `case_insensitive` to convert all words in questions and vocab to their uppercase form before - evaluating the accuracy (default True). Useful in case of case-mismatch between training tokens - and question words. In case of multiple case variants of a single word, the vector for the first - occurrence (also the most frequent if vocabulary is sorted) is taken. - - This method corresponds to the `compute-accuracy` script of the original C word2vec. - - """ - ok_vocab = [(w, self.vocab[w]) for w in self.index2word[:restrict_vocab]] - ok_vocab = dict((w.upper(), v) for w, v in reversed(ok_vocab)) if case_insensitive else dict(ok_vocab) - - sections, section = [], None - for line_no, line in enumerate(utils.smart_open(questions)): - # TODO: use level3 BLAS (=evaluate multiple questions at once), for speed - line = utils.to_unicode(line) - if line.startswith(': '): - # a new section starts => store the old section - if section: - sections.append(section) - self.log_accuracy(section) - section = {'section': line.lstrip(': ').strip(), 'correct': [], 'incorrect': []} - else: - if not section: - raise ValueError("missing section header before line #%i in %s" % (line_no, questions)) - try: - if case_insensitive: - a, b, c, expected = [word.upper() for word in line.split()] - else: - a, b, c, expected = [word for word in line.split()] - except: - logger.info("skipping invalid line #%i in %s" % (line_no, questions)) - continue - if a not in ok_vocab or b not in ok_vocab or c not in ok_vocab or expected not in ok_vocab: - logger.debug("skipping line #%i with OOV words: %s" % (line_no, line.strip())) - continue - - original_vocab = self.vocab - self.vocab = ok_vocab - ignore = set([a, b, c]) # input words to be ignored - predicted = None - # find the most likely prediction, ignoring OOV words and input words - sims = most_similar(self, positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) - self.vocab = original_vocab - for index in matutils.argsort(sims, reverse=True): - predicted = self.index2word[index].upper() if case_insensitive else self.index2word[index] - if predicted in ok_vocab and predicted not in ignore: - if predicted != expected: - logger.debug("%s: expected %s, predicted %s", line.strip(), expected, predicted) - break - if predicted == expected: - section['correct'].append((a, b, c, expected)) - else: - section['incorrect'].append((a, b, c, expected)) - if section: - # store the last section, too - sections.append(section) - self.log_accuracy(section) - - total = { - 'section': 'total', - 'correct': sum((s['correct'] for s in sections), []), - 'incorrect': sum((s['incorrect'] for s in sections), []), - } - self.log_accuracy(total) - sections.append(total) - return sections + return self.kv.accuracy(questions, restrict_vocab, most_similar, case_insensitive) def __str__(self): - return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.index2word), self.vector_size, self.alpha) + return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.kv.index2word), self.vector_size, self.alpha) def save(self, *args, **kwargs): # don't bother storing the cached normalized vectors, recalculable table kwargs['ignore'] = kwargs.get('ignore', ['syn0norm', 'table', 'cum_table']) + super(Word2Vec, self).save(*args, **kwargs) save.__doc__ = utils.SaveLoad.save.__doc__ @@ -1689,14 +1217,14 @@ def load(cls, *args, **kwargs): model.make_cum_table() # rebuild cum_table from vocabulary if not hasattr(model, 'corpus_count'): model.corpus_count = None - for v in model.vocab.values(): + for v in model.kv.vocab.values(): if hasattr(v, 'sample_int'): break # already 0.12.0+ style int probabilities elif hasattr(v, 'sample_probability'): v.sample_int = int(round(v.sample_probability * 2**32)) del v.sample_probability if not hasattr(model, 'syn0_lockf') and hasattr(model, 'syn0'): - model.syn0_lockf = ones(len(model.syn0), dtype=REAL) + model.syn0_lockf = ones(len(model.kv.syn0), dtype=REAL) if not hasattr(model, 'random'): model.random = random.RandomState(model.seed) if not hasattr(model, 'train_count'): @@ -1764,16 +1292,11 @@ def __init__(self, source, max_sentence_length=MAX_WORDS_IN_BATCH, limit=None): """ `source` can be either a string or a file object. Clip the file to the first `limit` lines (or no clipped if limit is None, the default). - Example:: - sentences = LineSentence('myfile.txt') - Or for compressed files:: - sentences = LineSentence('compressed_text.txt.bz2') sentences = LineSentence('compressed_text.txt.gz') - """ self.source = source self.max_sentence_length = max_sentence_length @@ -1865,3 +1388,4 @@ def __iter__(self): model.accuracy(args.accuracy) logger.info("finished running %s", program) + \ No newline at end of file diff --git a/gensim/test/test_doc2vec.py b/gensim/test/test_doc2vec.py index 42264c0b4b..77f3144ebf 100644 --- a/gensim/test/test_doc2vec.py +++ b/gensim/test/test_doc2vec.py @@ -269,8 +269,8 @@ def test_mixed_tag_types(self): def models_equal(self, model, model2): # check words/hidden-weights - self.assertEqual(len(model.vocab), len(model2.vocab)) - self.assertTrue(np.allclose(model.syn0, model2.syn0)) + self.assertEqual(len(model.kv.vocab), len(model2.kv.vocab)) + self.assertTrue(np.allclose(model.kv.syn0, model2.kv.syn0)) if model.hs: self.assertTrue(np.allclose(model.syn1, model2.syn1)) if model.negative: diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 7e0368f13f..9f84a61aca 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -82,21 +82,21 @@ def testPersistenceWithConstructorRule(self): def testRuleWithMinCount(self): """Test that returning RULE_DEFAULT from trim_rule triggers min_count.""" model = word2vec.Word2Vec(sentences + [["occurs_only_once"]], min_count=2, trim_rule=_rule) - self.assertTrue("human" not in model.vocab) - self.assertTrue("occurs_only_once" not in model.vocab) - self.assertTrue("interface" in model.vocab) + self.assertTrue("human" not in model.kv.vocab) + self.assertTrue("occurs_only_once" not in model.kv.vocab) + self.assertTrue("interface" in model.kv.vocab) def testRule(self): """Test applying vocab trim_rule to build_vocab instead of constructor.""" model = word2vec.Word2Vec(min_count=1) model.build_vocab(sentences, trim_rule=_rule) - self.assertTrue("human" not in model.vocab) + self.assertTrue("human" not in model.kv.vocab) def testLambdaRule(self): """Test that lambda trim_rule works.""" rule = lambda word, count, min_count: utils.RULE_DISCARD if word == "human" else utils.RULE_DEFAULT model = word2vec.Word2Vec(sentences, min_count=1, trim_rule=rule) - self.assertTrue("human" not in model.vocab) + self.assertTrue("human" not in model.kv.vocab) def testPersistenceWord2VecFormat(self): """Test storing/loading the entire model in word2vec format.""" @@ -109,11 +109,11 @@ def testPersistenceWord2VecFormat(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True) norm_only_model.init_sims(replace=True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'])) - self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'])) + self.assertTrue(numpy.allclose(model.kv.syn0norm[model.kv.vocab['human'].index], norm_only_model['human'])) limited_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, limit=3) - self.assertEquals(len(limited_model.syn0), 3) + self.assertEquals(len(limited_model.kv.syn0), 3) half_precision_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, datatype=numpy.float16) - self.assertEquals(binary_model.syn0.nbytes, half_precision_model.syn0.nbytes * 2) + self.assertEquals(binary_model.kv.syn0.nbytes, half_precision_model.kv.syn0.nbytes * 2) def testTooShortBinaryWord2VecFormat(self): tfile = testfile() @@ -146,8 +146,7 @@ def testPersistenceWord2VecFormatNonBinary(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=False) norm_only_model.init_sims(True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'], atol=1e-6)) - - self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'], atol=1e-4)) + self.assertTrue(numpy.allclose(model.kv.syn0norm[model.kv.vocab['human'].index], norm_only_model['human'], atol=1e-4)) def testPersistenceWord2VecFormatWithVocab(self): """Test storing/loading the entire model and vocabulary in word2vec format.""" @@ -156,7 +155,7 @@ def testPersistenceWord2VecFormatWithVocab(self): testvocab = os.path.join(tempfile.gettempdir(), 'gensim_word2vec.vocab') model.save_word2vec_format(testfile(), testvocab, binary=True) binary_model_with_vocab = word2vec.Word2Vec.load_word2vec_format(testfile(), testvocab, binary=True) - self.assertEqual(model.vocab['human'].count, binary_model_with_vocab.vocab['human'].count) + self.assertEqual(model.kv.vocab['human'].count, binary_model_with_vocab.kv.vocab['human'].count) def testPersistenceWord2VecFormatCombinationWithStandardPersistence(self): """Test storing/loading the entire model and vocabulary in word2vec format chained with @@ -168,7 +167,7 @@ def testPersistenceWord2VecFormatCombinationWithStandardPersistence(self): binary_model_with_vocab = word2vec.Word2Vec.load_word2vec_format(testfile(), testvocab, binary=True) binary_model_with_vocab.save(testfile()) binary_model_with_vocab = word2vec.Word2Vec.load(testfile()) - self.assertEqual(model.vocab['human'].count, binary_model_with_vocab.vocab['human'].count) + self.assertEqual(model.kv.vocab['human'].count, binary_model_with_vocab.kv.vocab['human'].count) def testLargeMmap(self): """Test storing/loading the entire model.""" @@ -189,17 +188,17 @@ def testVocab(self): # try vocab building explicitly, using all words model = word2vec.Word2Vec(min_count=1, hs=1, negative=0) model.build_vocab(corpus) - self.assertTrue(len(model.vocab) == 6981) + self.assertTrue(len(model.kv.vocab) == 6981) # with min_count=1, we're not throwing away anything, so make sure the word counts add up to be the entire corpus - self.assertEqual(sum(v.count for v in model.vocab.values()), total_words) + self.assertEqual(sum(v.count for v in model.kv.vocab.values()), total_words) # make sure the binary codes are correct - numpy.allclose(model.vocab['the'].code, [1, 1, 0, 0]) + numpy.allclose(model.kv.vocab['the'].code, [1, 1, 0, 0]) # test building vocab with default params model = word2vec.Word2Vec(hs=1, negative=0) model.build_vocab(corpus) - self.assertTrue(len(model.vocab) == 1750) - numpy.allclose(model.vocab['the'].code, [1, 1, 1, 0]) + self.assertTrue(len(model.kv.vocab) == 1750) + numpy.allclose(model.kv.vocab['the'].code, [1, 1, 1, 0]) # no input => "RuntimeError: you must first build vocabulary before training the model" self.assertRaises(RuntimeError, word2vec.Word2Vec, []) @@ -213,15 +212,15 @@ def testTraining(self): model = word2vec.Word2Vec(size=2, min_count=1, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) - self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) + self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn1.shape == (len(model.kv.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -247,24 +246,24 @@ def testLocking(self): model.build_vocab(corpus) # remember two vectors - locked0 = numpy.copy(model.syn0[0]) - unlocked1 = numpy.copy(model.syn0[1]) + locked0 = numpy.copy(model.kv.syn0[0]) + unlocked1 = numpy.copy(model.kv.syn0[1]) # lock the vector in slot 0 against change model.syn0_lockf[0] = 0.0 model.train(corpus) - self.assertFalse((unlocked1 == model.syn0[1]).all()) # unlocked vector should vary - self.assertTrue((locked0 == model.syn0[0]).all()) # locked vector should not vary + self.assertFalse((unlocked1 == model.kv.syn0[1]).all()) # unlocked vector should vary + self.assertTrue((locked0 == model.kv.syn0[0]).all()) # locked vector should not vary def model_sanity(self, model, train=True): """Even tiny models trained on LeeCorpus should pass these sanity checks""" # run extra before/after training tests if train=True if train: model.build_vocab(list_corpus) - orig0 = numpy.copy(model.syn0[0]) + orig0 = numpy.copy(model.kv.syn0[0]) model.train(list_corpus) - self.assertFalse((orig0 == model.syn0[1]).all()) # vector should vary after training - sims = model.most_similar('war', topn=len(model.index2word)) + self.assertFalse((orig0 == model.kv.syn0[1]).all()) # vector should vary after training + sims = model.most_similar('war', topn=len(model.kv.index2word)) t_rank = [word for word, score in sims].index('terrorism') # in >200 calibration runs w/ calling parameters, 'terrorism' in 50-most_sim for 'war' self.assertLess(t_rank, 50) @@ -301,15 +300,15 @@ def testTrainingCbow(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) - self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) + self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn1.shape == (len(model.kv.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -324,15 +323,15 @@ def testTrainingSgNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) - self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) + self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -347,15 +346,15 @@ def testTrainingCbowNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) - self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) + self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -406,13 +405,13 @@ def testRNG(self): self.models_equal(model, model2) def models_equal(self, model, model2): - self.assertEqual(len(model.vocab), len(model2.vocab)) - self.assertTrue(numpy.allclose(model.syn0, model2.syn0)) + self.assertEqual(len(model.kv.vocab), len(model2.kv.vocab)) + self.assertTrue(numpy.allclose(model.kv.syn0, model2.kv.syn0)) if model.hs: self.assertTrue(numpy.allclose(model.syn1, model2.syn1)) if model.negative: self.assertTrue(numpy.allclose(model.syn1neg, model2.syn1neg)) - most_common_word = max(model.vocab.items(), key=lambda item: item[1].count)[0] + most_common_word = max(model.kv.vocab.items(), key=lambda item: item[1].count)[0] self.assertTrue(numpy.allclose(model[most_common_word], model2[most_common_word])) @log_capture() @@ -448,6 +447,7 @@ def test_sentences_should_not_be_a_generator(self): gen = (s for s in sentences) self.assertRaises(TypeError, word2vec.Word2Vec, (gen,)) + class TestWMD(unittest.TestCase): def testNonzero(self): '''Test basic functionality with a test sentence.''' From e916f7e947e2c30969512c87d1dbb428a598c0ba Mon Sep 17 00:00:00 2001 From: droudy Date: Thu, 18 Aug 2016 11:26:44 -0400 Subject: [PATCH 02/26] commit missed file --- gensim/models/word2vec_helper.py | 421 +++++++++++++++++++++++++++++++ 1 file changed, 421 insertions(+) create mode 100644 gensim/models/word2vec_helper.py diff --git a/gensim/models/word2vec_helper.py b/gensim/models/word2vec_helper.py new file mode 100644 index 0000000000..38fdf58392 --- /dev/null +++ b/gensim/models/word2vec_helper.py @@ -0,0 +1,421 @@ +# these imports probably arent necessary +from __future__ import division # py3 "true division" + +import logging +import sys +import os +import heapq +from timeit import default_timer +from copy import deepcopy +from collections import defaultdict +import threading +import itertools + +from gensim.utils import keep_vocab_item + +try: + from queue import Queue, Empty +except ImportError: + from Queue import Queue, Empty + +from numpy import exp, log, dot, zeros, outer, random, dtype, float32 as REAL,\ + double, uint32, seterr, array, uint8, vstack, fromstring, sqrt, newaxis,\ + ndarray, empty, sum as np_sum, prod, ones, ascontiguousarray + +from gensim import utils, matutils # utility fnc for pickling, common scipy operations etc +from gensim.corpora.dictionary import Dictionary +from six import iteritems, itervalues, string_types +from six.moves import xrange +from types import GeneratorType + +logger = logging.getLogger(__name__) + + +class KeyedVectors(object): + """ + Class to contain vectors and vocab for the Word2Vec training class + """ + def __init__(self): + #self.syn0 = [] + self.syn0norm = [] + self.vocab = {} + self.index2word = [] + + def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, indexer=None): + """ + Find the top-N most similar words. Positive words contribute positively towards the + similarity, negative words negatively. + This method computes cosine similarity between a simple mean of the projection + weight vectors of the given words and the vectors for each word in the model. + The method corresponds to the `word-analogy` and `distance` scripts in the original + word2vec implementation. + If topn is False, most_similar returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which + are searched for most-similar values. For example, restrict_vocab=10000 would + only check the first 10000 word vectors in the vocabulary order. (This may be + meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.most_similar(positive=['woman', 'king'], negative=['man']) + [('queen', 0.50882536), ...] + """ + self.init_sims() + + if isinstance(positive, string_types) and not negative: + # allow calls like most_similar('dog'), as a shorthand for most_similar(['dog']) + positive = [positive] + + # add weights for each word, if not already present; default to 1.0 for positive and -1.0 for negative words + positive = [ + (word, 1.0) if isinstance(word, string_types + (ndarray,)) else word + for word in positive + ] + negative = [ + (word, -1.0) if isinstance(word, string_types + (ndarray,)) else word + for word in negative + ] + + # compute the weighted average of all words + all_words, mean = set(), [] + for word, weight in positive + negative: + if isinstance(word, ndarray): + mean.append(weight * word) + elif word in self.vocab: + mean.append(weight * self.syn0norm[self.vocab[word].index]) + all_words.add(self.vocab[word].index) + else: + raise KeyError("word '%s' not in vocabulary" % word) + if not mean: + raise ValueError("cannot compute similarity with no input") + mean = matutils.unitvec(array(mean).mean(axis=0)).astype(REAL) + + if indexer is not None: + return indexer.most_similar(mean, topn) + + limited = self.syn0norm if restrict_vocab is None else self.syn0norm[:restrict_vocab] + dists = dot(limited, mean) + if not topn: + return dists + best = matutils.argsort(dists, topn=topn + len(all_words), reverse=True) + # ignore (don't return) words from the input + result = [(self.index2word[sim], float(dists[sim])) for sim in best if sim not in all_words] + return result[:topn] + + def wmdistance(self, document1, document2): + """ + Compute the Word Mover's Distance between two documents. When using this + code, please consider citing the following papers: + .. Ofir Pele and Michael Werman, "A linear time histogram metric for improved SIFT matching". + .. Ofir Pele and Michael Werman, "Fast and robust earth mover's distances". + .. Matt Kusner et al. "From Word Embeddings To Document Distances". + Note that if one of the documents have no words that exist in the + Word2Vec vocab, `float('inf')` (i.e. infinity) will be returned. + This method only works if `pyemd` is installed (can be installed via pip, but requires a C compiler). + Example: + >>> # Train word2vec model. + >>> model = Word2Vec(sentences) + >>> # Some sentences to test. + >>> sentence_obama = 'Obama speaks to the media in Illinois'.lower().split() + >>> sentence_president = 'The president greets the press in Chicago'.lower().split() + >>> # Remove their stopwords. + >>> from nltk.corpus import stopwords + >>> stopwords = nltk.corpus.stopwords.words('english') + >>> sentence_obama = [w for w in sentence_obama if w not in stopwords] + >>> sentence_president = [w for w in sentence_president if w not in stopwords] + >>> # Compute WMD. + >>> distance = model.wmdistance(sentence_obama, sentence_president) + """ + + if not PYEMD_EXT: + raise ImportError("Please install pyemd Python package to compute WMD.") + + # Remove out-of-vocabulary words. + len_pre_oov1 = len(document1) + len_pre_oov2 = len(document2) + document1 = [token for token in document1 if token in self] + document2 = [token for token in document2 if token in self] + diff1 = len_pre_oov1 - len(document1) + diff2 = len_pre_oov2 - len(document2) + if diff1 > 0 or diff2 > 0: + logger.info('Removed %d and %d OOV words from document 1 and 2 (respectively).', + diff1, diff2) + + if len(document1) == 0 or len(document2) == 0: + logger.info('At least one of the documents had no words that were' + 'in the vocabulary. Aborting (returning inf).') + return float('inf') + + dictionary = Dictionary(documents=[document1, document2]) + vocab_len = len(dictionary) + + # Sets for faster look-up. + docset1 = set(document1) + docset2 = set(document2) + + # Compute distance matrix. + distance_matrix = zeros((vocab_len, vocab_len), dtype=double) + for i, t1 in dictionary.items(): + for j, t2 in dictionary.items(): + if not t1 in docset1 or not t2 in docset2: + continue + # Compute Euclidean distance between word vectors. + distance_matrix[i, j] = sqrt(np_sum((self[t1] - self[t2])**2)) + + if np_sum(distance_matrix) == 0.0: + # `emd` gets stuck if the distance matrix contains only zeros. + logger.info('The distance matrix is all zeros. Aborting (returning inf).') + return float('inf') + + def nbow(document): + d = zeros(vocab_len, dtype=double) + nbow = dictionary.doc2bow(document) # Word frequencies. + doc_len = len(document) + for idx, freq in nbow: + d[idx] = freq / float(doc_len) # Normalized word frequencies. + return d + + # Compute nBOW representation of documents. + d1 = nbow(document1) + d2 = nbow(document2) + + # Compute WMD. + return emd(d1, d2, distance_matrix) + + def most_similar_cosmul(self, positive=[], negative=[], topn=10): + # TODO put back docstring properly encoded + self.init_sims() + + if isinstance(positive, string_types) and not negative: + # allow calls like most_similar_cosmul('dog'), as a shorthand for most_similar_cosmul(['dog']) + positive = [positive] + + all_words = set() + + def word_vec(word): + if isinstance(word, ndarray): + return word + elif word in self.vocab: + all_words.add(self.vocab[word].index) + return self.syn0norm[self.vocab[word].index] + else: + raise KeyError("word '%s' not in vocabulary" % word) + + positive = [word_vec(word) for word in positive] + negative = [word_vec(word) for word in negative] + if not positive: + raise ValueError("cannot compute similarity with no input") + + # equation (4) of Levy & Goldberg "Linguistic Regularities...", + # with distances shifted to [0,1] per footnote (7) + pos_dists = [((1 + dot(self.syn0norm, term)) / 2) for term in positive] + neg_dists = [((1 + dot(self.syn0norm, term)) / 2) for term in negative] + dists = prod(pos_dists, axis=0) / (prod(neg_dists, axis=0) + 0.000001) + + if not topn: + return dists + best = matutils.argsort(dists, topn=topn + len(all_words), reverse=True) + # ignore (don't return) words from the input + result = [(self.index2word[sim], float(dists[sim])) for sim in best if sim not in all_words] + return result[:topn] + + def similar_by_word(self, word, topn=10, restrict_vocab=None): + """ + Find the top-N most similar words. + If topn is False, similar_by_word returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which + are searched for most-similar values. For example, restrict_vocab=10000 would + only check the first 10000 word vectors in the vocabulary order. (This may be + meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.similar_by_word('graph') + [('user', 0.9999163150787354), ...] + """ + + return self.most_similar(positive=[word], topn=topn, restrict_vocab=restrict_vocab) + + def similar_by_vector(self, vector, topn=10, restrict_vocab=None): + """ + Find the top-N most similar words by vector. + If topn is False, similar_by_vector returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which + are searched for most-similar values. For example, restrict_vocab=10000 would + only check the first 10000 word vectors in the vocabulary order. (This may be + meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.similar_by_vector([1,2]) + [('survey', 0.9942699074745178), ...] + """ + + return self.most_similar(positive=[vector], topn=topn, restrict_vocab=restrict_vocab) + + def doesnt_match(self, words): + """ + Which word from the given list doesn't go with the others? + Example:: + >>> trained_model.doesnt_match("breakfast cereal dinner lunch".split()) + 'cereal' + """ + self.init_sims() + + words = [word for word in words if word in self.vocab] # filter out OOV words + logger.debug("using words %s" % words) + if not words: + raise ValueError("cannot select a word from an empty list") + vectors = vstack(self.syn0norm[self.vocab[word].index] for word in words).astype(REAL) + mean = matutils.unitvec(vectors.mean(axis=0)).astype(REAL) + dists = dot(vectors, mean) + return sorted(zip(dists, words))[0][1] + + def __getitem__(self, words): + + """ + Accept a single word or a list of words as input. + If a single word: returns the word's representations in vector space, as + a 1D numpy array. + Multiple words: return the words' representations in vector space, as a + 2d numpy array: #words x #vector_size. Matrix rows are in the same order + as in input. + Example:: + >>> trained_model['office'] + array([ -1.40128313e-02, ...]) + >>> trained_model[['office', 'products']] + array([ -1.40128313e-02, ...] + [ -1.70425311e-03, ...] + ...) + """ + if isinstance(words, string_types): + # allow calls like trained_model['office'], as a shorthand for trained_model[['office']] + return self.syn0[self.vocab[words].index] + + return vstack([self.syn0[self.vocab[word].index] for word in words]) + + def __contains__(self, word): + return word in self.vocab + + def similarity(self, w1, w2): + """ + Compute cosine similarity between two words. + Example:: + >>> trained_model.similarity('woman', 'man') + 0.73723527 + >>> trained_model.similarity('woman', 'woman') + 1.0 + """ + return dot(matutils.unitvec(self[w1]), matutils.unitvec(self[w2])) + + def n_similarity(self, ws1, ws2): + """ + Compute cosine similarity between two sets of words. + Example:: + >>> trained_model.n_similarity(['sushi', 'shop'], ['japanese', 'restaurant']) + 0.61540466561049689 + >>> trained_model.n_similarity(['restaurant', 'japanese'], ['japanese', 'restaurant']) + 1.0000000000000004 + >>> trained_model.n_similarity(['sushi'], ['restaurant']) == trained_model.similarity('sushi', 'restaurant') + True + """ + v1 = [self[word] for word in ws1] + v2 = [self[word] for word in ws2] + return dot(matutils.unitvec(array(v1).mean(axis=0)), matutils.unitvec(array(v2).mean(axis=0))) + + @staticmethod + def log_accuracy(section): + correct, incorrect = len(section['correct']), len(section['incorrect']) + if correct + incorrect > 0: + logger.info("%s: %.1f%% (%i/%i)" % + (section['section'], 100.0 * correct / (correct + incorrect), + correct, correct + incorrect)) + + def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, case_insensitive=True): + """ + Compute accuracy of the model. `questions` is a filename where lines are + 4-tuples of words, split into sections by ": SECTION NAME" lines. + See questions-words.txt in https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/word2vec/source-archive.zip for an example. + The accuracy is reported (=printed to log and returned as a list) for each + section separately, plus there's one aggregate summary at the end. + Use `restrict_vocab` to ignore all questions containing a word not in the first `restrict_vocab` + words (default 30,000). This may be meaningful if you've sorted the vocabulary by descending frequency. + In case `case_insensitive` is True, the first `restrict_vocab` words are taken first, and then + case normalization is performed. + Use `case_insensitive` to convert all words in questions and vocab to their uppercase form before + evaluating the accuracy (default True). Useful in case of case-mismatch between training tokens + and question words. In case of multiple case variants of a single word, the vector for the first + occurrence (also the most frequent if vocabulary is sorted) is taken. + This method corresponds to the `compute-accuracy` script of the original C word2vec. + """ + ok_vocab = [(w, self.vocab[w]) for w in self.index2word[:restrict_vocab]] + ok_vocab = dict((w.upper(), v) for w, v in reversed(ok_vocab)) if case_insensitive else dict(ok_vocab) + + sections, section = [], None + for line_no, line in enumerate(utils.smart_open(questions)): + # TODO: use level3 BLAS (=evaluate multiple questions at once), for speed + line = utils.to_unicode(line) + if line.startswith(': '): + # a new section starts => store the old section + if section: + sections.append(section) + self.log_accuracy(section) + section = {'section': line.lstrip(': ').strip(), 'correct': [], 'incorrect': []} + else: + if not section: + raise ValueError("missing section header before line #%i in %s" % (line_no, questions)) + try: + if case_insensitive: + a, b, c, expected = [word.upper() for word in line.split()] + else: + a, b, c, expected = [word for word in line.split()] + except: + logger.info("skipping invalid line #%i in %s" % (line_no, questions)) + continue + if a not in ok_vocab or b not in ok_vocab or c not in ok_vocab or expected not in ok_vocab: + logger.debug("skipping line #%i with OOV words: %s" % (line_no, line.strip())) + continue + + original_vocab = self.vocab + self.vocab = ok_vocab + ignore = set([a, b, c]) # input words to be ignored + predicted = None + # find the most likely prediction, ignoring OOV words and input words + sims = most_similar(self, positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) + self.vocab = original_vocab + for index in matutils.argsort(sims, reverse=True): + predicted = self.index2word[index].upper() if case_insensitive else self.index2word[index] + if predicted in ok_vocab and predicted not in ignore: + if predicted != expected: + logger.debug("%s: expected %s, predicted %s", line.strip(), expected, predicted) + break + if predicted == expected: + section['correct'].append((a, b, c, expected)) + else: + section['incorrect'].append((a, b, c, expected)) + if section: + # store the last section, too + sections.append(section) + self.log_accuracy(section) + + total = { + 'section': 'total', + 'correct': sum((s['correct'] for s in sections), []), + 'incorrect': sum((s['incorrect'] for s in sections), []), + } + self.log_accuracy(total) + sections.append(total) + return sections + + def init_sims(self, replace=False): + """ + Precompute L2-normalized vectors. + If `replace` is set, forget the original vectors and only keep the normalized + ones = saves lots of memory! + Note that you **cannot continue training** after doing a replace. The model becomes + effectively read-only = you can call `most_similar`, `similarity` etc., but not `train`. + """ + if getattr(self, 'syn0norm', None) is None or replace: + logger.info("precomputing L2-norms of word weight vectors") + if replace: + for i in xrange(self.syn0.shape[0]): + self.syn0[i, :] /= sqrt((self.syn0[i, :] ** 2).sum(-1)) + self.syn0norm = self.syn0 + if hasattr(self, 'syn1'): + del self.syn1 + else: + self.syn0norm = (self.syn0 / sqrt((self.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL) From e5416ede9b4b13e646188e7cadf5d52fc57973d3 Mon Sep 17 00:00:00 2001 From: droudy Date: Thu, 18 Aug 2016 11:31:29 -0400 Subject: [PATCH 03/26] docstring added --- gensim/models/word2vec_helper.py | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/gensim/models/word2vec_helper.py b/gensim/models/word2vec_helper.py index 38fdf58392..527d3c071c 100644 --- a/gensim/models/word2vec_helper.py +++ b/gensim/models/word2vec_helper.py @@ -1,17 +1,6 @@ -# these imports probably arent necessary from __future__ import division # py3 "true division" import logging -import sys -import os -import heapq -from timeit import default_timer -from copy import deepcopy -from collections import defaultdict -import threading -import itertools - -from gensim.utils import keep_vocab_item try: from queue import Queue, Empty @@ -24,19 +13,19 @@ from gensim import utils, matutils # utility fnc for pickling, common scipy operations etc from gensim.corpora.dictionary import Dictionary -from six import iteritems, itervalues, string_types +from six import string_types from six.moves import xrange -from types import GeneratorType + logger = logging.getLogger(__name__) class KeyedVectors(object): """ - Class to contain vectors and vocab for the Word2Vec training class + Class to contain vectors and vocab for the Word2Vec training class and other w2v methods not directly + involved in training such as most_similar() """ def __init__(self): - #self.syn0 = [] self.syn0norm = [] self.vocab = {} self.index2word = [] From e64766b0b275afd20262c7d02e1eee625772308d Mon Sep 17 00:00:00 2001 From: droudy Date: Fri, 19 Aug 2016 14:12:51 -0400 Subject: [PATCH 04/26] more refactoring --- .../{word2vec_helper.py => keyedvectors.py} | 10 ++- gensim/models/word2vec.py | 43 +++++----- gensim/test/test_doc2vec.py | 4 +- gensim/test/test_word2vec.py | 84 ++++++++++--------- gensim/utils.py | 21 ++++- 5 files changed, 95 insertions(+), 67 deletions(-) rename gensim/models/{word2vec_helper.py => keyedvectors.py} (98%) diff --git a/gensim/models/word2vec_helper.py b/gensim/models/keyedvectors.py similarity index 98% rename from gensim/models/word2vec_helper.py rename to gensim/models/keyedvectors.py index 527d3c071c..7cdd2f8b54 100644 --- a/gensim/models/word2vec_helper.py +++ b/gensim/models/keyedvectors.py @@ -20,13 +20,14 @@ logger = logging.getLogger(__name__) -class KeyedVectors(object): +class KeyedVectors(utils.SaveLoad): """ Class to contain vectors and vocab for the Word2Vec training class and other w2v methods not directly involved in training such as most_similar() """ def __init__(self): - self.syn0norm = [] + self.syn0 = [] + self.syn0norm = None self.vocab = {} self.index2word = [] @@ -397,6 +398,9 @@ def init_sims(self, replace=False): ones = saves lots of memory! Note that you **cannot continue training** after doing a replace. The model becomes effectively read-only = you can call `most_similar`, `similarity` etc., but not `train`. + + init_sims() is replicated inside of this class without syn1 because many of the methods contained + here require normalized vectors """ if getattr(self, 'syn0norm', None) is None or replace: logger.info("precomputing L2-norms of word weight vectors") @@ -404,7 +408,5 @@ def init_sims(self, replace=False): for i in xrange(self.syn0.shape[0]): self.syn0[i, :] /= sqrt((self.syn0[i, :] ** 2).sum(-1)) self.syn0norm = self.syn0 - if hasattr(self, 'syn1'): - del self.syn1 else: self.syn0norm = (self.syn0 / sqrt((self.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 36ce4e7904..6d845ab56c 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -58,7 +58,7 @@ import itertools from gensim.utils import keep_vocab_item -from word2vec_helper import KeyedVectors # bad place to keep keyedvectors +from keyedvectors import KeyedVectors try: from queue import Queue, Empty @@ -369,7 +369,7 @@ def __init__( thus cython routines). Default is 10000. (Larger batches will be passed if individual texts are longer than 10000 words, but the standard cython code truncates to that maximum.) """ - self.kv = KeyedVectors() # kv --> KeyedVectors + self.kv = KeyedVectors() # kv --> KeyedVectors self.sg = int(sg) self.cum_table = None # for negative sampling self.vector_size = int(size) @@ -377,7 +377,7 @@ def __init__( if size % 4 != 0: logger.warning("consider setting layer size to a multiple of 4 for greater performance") self.alpha = float(alpha) - self.min_alpha_yet_reached = float(alpha) # To warn user if alpha increases + self.min_alpha_yet_reached = float(alpha) # To warn user if alpha increases self.window = int(window) self.max_vocab_size = max_vocab_size self.seed = seed @@ -599,7 +599,7 @@ def finalize_vocab(self): def sort_vocab(self): """Sort the vocabulary so the most frequent words have the lowest indexes.""" - if hasattr(self.kv, 'syn0'): + if self.kv.syn0: raise RuntimeError("must sort before initializing vectors/weights") self.kv.index2word.sort(key=lambda word: self.kv.vocab[word].count, reverse=True) for i, word in enumerate(self.kv.index2word): @@ -1146,6 +1146,21 @@ def doesnt_match(self, words): def __getitem__(self, words): return self.kv.__getitem__(words) + def __getattr__(self, item): + """ + To maintain backwards compatibility, calls such as trained_model.syn0norm won't break but will be + rerouted to trained_model.kv.syn0norm + """ + if item == "syn0": + return self.kv.syn0 + if item == "syn0norm": + return self.kv.syn0norm + if item == "vocab": + return self.kv.vocab + if item == "index2word": + return self.kv.index2word + raise AttributeError("'{0}' object has no attribute '{1}'".format(type(self).__name__, item)) + def __contains__(self, word): return self.kv.__contains__(word) @@ -1157,22 +1172,12 @@ def n_similarity(self, ws1, ws2): def init_sims(self, replace=False): """ - Precompute L2-normalized vectors. - If `replace` is set, forget the original vectors and only keep the normalized - ones = saves lots of memory! - Note that you **cannot continue training** after doing a replace. The model becomes - effectively read-only = you can call `most_similar`, `similarity` etc., but not `train`. + init_sims() resides in KeyedVectors because it deals with syn0 mainly, but because syn1 is not an attribute + of KeyedVectors, it has to be deleted in this class, and the normalizing of syn0 happens inside of KeyedVectors """ - if getattr(self, 'syn0norm', None) is None or replace: - logger.info("precomputing L2-norms of word weight vectors") - if replace: - for i in xrange(self.kv.syn0.shape[0]): - self.kv.syn0[i, :] /= sqrt((self.kv.syn0[i, :] ** 2).sum(-1)) - self.kv.syn0norm = self.kv.syn0 - if hasattr(self, 'syn1'): - del self.syn1 - else: - self.kv.syn0norm = (self.kv.syn0 / sqrt((self.kv.syn0 ** 2).sum(-1))[..., newaxis]).astype(REAL) + if hasattr(self, 'syn1'): + del self.syn1 + return self.kv.init_sims(replace) def estimate_memory(self, vocab_size=None, report=None): """Estimate required memory for a model using current settings and provided vocabulary size.""" diff --git a/gensim/test/test_doc2vec.py b/gensim/test/test_doc2vec.py index 77f3144ebf..42264c0b4b 100644 --- a/gensim/test/test_doc2vec.py +++ b/gensim/test/test_doc2vec.py @@ -269,8 +269,8 @@ def test_mixed_tag_types(self): def models_equal(self, model, model2): # check words/hidden-weights - self.assertEqual(len(model.kv.vocab), len(model2.kv.vocab)) - self.assertTrue(np.allclose(model.kv.syn0, model2.kv.syn0)) + self.assertEqual(len(model.vocab), len(model2.vocab)) + self.assertTrue(np.allclose(model.syn0, model2.syn0)) if model.hs: self.assertTrue(np.allclose(model.syn1, model2.syn1)) if model.negative: diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 9f84a61aca..f50a1f8408 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -21,7 +21,7 @@ from gensim import utils, matutils from gensim.utils import check_output from subprocess import PIPE -from gensim.models import word2vec +from gensim.models import word2vec, keyedvectors from testfixtures import log_capture try: @@ -72,6 +72,12 @@ def testPersistence(self): model = word2vec.Word2Vec(sentences, min_count=1) model.save(testfile()) self.models_equal(model, word2vec.Word2Vec.load(testfile())) + # test persistence of the KeyedVectors of a model + kv = model.kv + kv.save(testfile()) + loaded_kv = keyedvectors.KeyedVectors.load(testfile()) + self.assertTrue(numpy.allclose(kv.syn0, loaded_kv.syn0)) + self.assertEqual(len(kv.vocab), len(loaded_kv.vocab)) def testPersistenceWithConstructorRule(self): """Test storing/loading the entire model with a vocab trimming rule passed in the constructor.""" @@ -82,21 +88,21 @@ def testPersistenceWithConstructorRule(self): def testRuleWithMinCount(self): """Test that returning RULE_DEFAULT from trim_rule triggers min_count.""" model = word2vec.Word2Vec(sentences + [["occurs_only_once"]], min_count=2, trim_rule=_rule) - self.assertTrue("human" not in model.kv.vocab) - self.assertTrue("occurs_only_once" not in model.kv.vocab) - self.assertTrue("interface" in model.kv.vocab) + self.assertTrue("human" not in model.vocab) + self.assertTrue("occurs_only_once" not in model.vocab) + self.assertTrue("interface" in model.vocab) def testRule(self): """Test applying vocab trim_rule to build_vocab instead of constructor.""" model = word2vec.Word2Vec(min_count=1) model.build_vocab(sentences, trim_rule=_rule) - self.assertTrue("human" not in model.kv.vocab) + self.assertTrue("human" not in model.vocab) def testLambdaRule(self): """Test that lambda trim_rule works.""" rule = lambda word, count, min_count: utils.RULE_DISCARD if word == "human" else utils.RULE_DEFAULT model = word2vec.Word2Vec(sentences, min_count=1, trim_rule=rule) - self.assertTrue("human" not in model.kv.vocab) + self.assertTrue("human" not in model.vocab) def testPersistenceWord2VecFormat(self): """Test storing/loading the entire model in word2vec format.""" @@ -109,11 +115,11 @@ def testPersistenceWord2VecFormat(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True) norm_only_model.init_sims(replace=True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'])) - self.assertTrue(numpy.allclose(model.kv.syn0norm[model.kv.vocab['human'].index], norm_only_model['human'])) + self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'])) limited_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, limit=3) - self.assertEquals(len(limited_model.kv.syn0), 3) + self.assertEquals(len(limited_model.syn0), 3) half_precision_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, datatype=numpy.float16) - self.assertEquals(binary_model.kv.syn0.nbytes, half_precision_model.kv.syn0.nbytes * 2) + self.assertEquals(binary_model.syn0.nbytes, half_precision_model.syn0.nbytes * 2) def testTooShortBinaryWord2VecFormat(self): tfile = testfile() @@ -146,7 +152,7 @@ def testPersistenceWord2VecFormatNonBinary(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=False) norm_only_model.init_sims(True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'], atol=1e-6)) - self.assertTrue(numpy.allclose(model.kv.syn0norm[model.kv.vocab['human'].index], norm_only_model['human'], atol=1e-4)) + self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'], atol=1e-4)) def testPersistenceWord2VecFormatWithVocab(self): """Test storing/loading the entire model and vocabulary in word2vec format.""" @@ -155,7 +161,7 @@ def testPersistenceWord2VecFormatWithVocab(self): testvocab = os.path.join(tempfile.gettempdir(), 'gensim_word2vec.vocab') model.save_word2vec_format(testfile(), testvocab, binary=True) binary_model_with_vocab = word2vec.Word2Vec.load_word2vec_format(testfile(), testvocab, binary=True) - self.assertEqual(model.kv.vocab['human'].count, binary_model_with_vocab.kv.vocab['human'].count) + self.assertEqual(model.vocab['human'].count, binary_model_with_vocab.vocab['human'].count) def testPersistenceWord2VecFormatCombinationWithStandardPersistence(self): """Test storing/loading the entire model and vocabulary in word2vec format chained with @@ -167,7 +173,7 @@ def testPersistenceWord2VecFormatCombinationWithStandardPersistence(self): binary_model_with_vocab = word2vec.Word2Vec.load_word2vec_format(testfile(), testvocab, binary=True) binary_model_with_vocab.save(testfile()) binary_model_with_vocab = word2vec.Word2Vec.load(testfile()) - self.assertEqual(model.kv.vocab['human'].count, binary_model_with_vocab.kv.vocab['human'].count) + self.assertEqual(model.vocab['human'].count, binary_model_with_vocab.vocab['human'].count) def testLargeMmap(self): """Test storing/loading the entire model.""" @@ -188,17 +194,17 @@ def testVocab(self): # try vocab building explicitly, using all words model = word2vec.Word2Vec(min_count=1, hs=1, negative=0) model.build_vocab(corpus) - self.assertTrue(len(model.kv.vocab) == 6981) + self.assertTrue(len(model.vocab) == 6981) # with min_count=1, we're not throwing away anything, so make sure the word counts add up to be the entire corpus - self.assertEqual(sum(v.count for v in model.kv.vocab.values()), total_words) + self.assertEqual(sum(v.count for v in model.vocab.values()), total_words) # make sure the binary codes are correct - numpy.allclose(model.kv.vocab['the'].code, [1, 1, 0, 0]) + numpy.allclose(model.vocab['the'].code, [1, 1, 0, 0]) # test building vocab with default params model = word2vec.Word2Vec(hs=1, negative=0) model.build_vocab(corpus) - self.assertTrue(len(model.kv.vocab) == 1750) - numpy.allclose(model.kv.vocab['the'].code, [1, 1, 1, 0]) + self.assertTrue(len(model.vocab) == 1750) + numpy.allclose(model.vocab['the'].code, [1, 1, 1, 0]) # no input => "RuntimeError: you must first build vocabulary before training the model" self.assertRaises(RuntimeError, word2vec.Word2Vec, []) @@ -212,15 +218,15 @@ def testTraining(self): model = word2vec.Word2Vec(size=2, min_count=1, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) - self.assertTrue(model.syn1.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] + graph_vector = model.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -246,24 +252,24 @@ def testLocking(self): model.build_vocab(corpus) # remember two vectors - locked0 = numpy.copy(model.kv.syn0[0]) - unlocked1 = numpy.copy(model.kv.syn0[1]) + locked0 = numpy.copy(model.syn0[0]) + unlocked1 = numpy.copy(model.syn0[1]) # lock the vector in slot 0 against change model.syn0_lockf[0] = 0.0 model.train(corpus) - self.assertFalse((unlocked1 == model.kv.syn0[1]).all()) # unlocked vector should vary - self.assertTrue((locked0 == model.kv.syn0[0]).all()) # locked vector should not vary + self.assertFalse((unlocked1 == model.syn0[1]).all()) # unlocked vector should vary + self.assertTrue((locked0 == model.syn0[0]).all()) # locked vector should not vary def model_sanity(self, model, train=True): """Even tiny models trained on LeeCorpus should pass these sanity checks""" # run extra before/after training tests if train=True if train: model.build_vocab(list_corpus) - orig0 = numpy.copy(model.kv.syn0[0]) + orig0 = numpy.copy(model.syn0[0]) model.train(list_corpus) - self.assertFalse((orig0 == model.kv.syn0[1]).all()) # vector should vary after training - sims = model.most_similar('war', topn=len(model.kv.index2word)) + self.assertFalse((orig0 == model.syn0[1]).all()) # vector should vary after training + sims = model.most_similar('war', topn=len(model.index2word)) t_rank = [word for word, score in sims].index('terrorism') # in >200 calibration runs w/ calling parameters, 'terrorism' in 50-most_sim for 'war' self.assertLess(t_rank, 50) @@ -300,15 +306,15 @@ def testTrainingCbow(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) - self.assertTrue(model.syn1.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] + graph_vector = model.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -323,15 +329,15 @@ def testTrainingSgNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) - self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] + graph_vector = model.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -346,15 +352,15 @@ def testTrainingCbowNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.kv.syn0.shape == (len(model.kv.vocab), 2)) - self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), 2)) + self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) model.train(sentences) sims = model.most_similar('graph', topn=10) # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.kv.syn0norm[model.kv.vocab['graph'].index] + graph_vector = model.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -405,13 +411,13 @@ def testRNG(self): self.models_equal(model, model2) def models_equal(self, model, model2): - self.assertEqual(len(model.kv.vocab), len(model2.kv.vocab)) - self.assertTrue(numpy.allclose(model.kv.syn0, model2.kv.syn0)) + self.assertEqual(len(model.vocab), len(model2.vocab)) + self.assertTrue(numpy.allclose(model.syn0, model2.syn0)) if model.hs: self.assertTrue(numpy.allclose(model.syn1, model2.syn1)) if model.negative: self.assertTrue(numpy.allclose(model.syn1neg, model2.syn1neg)) - most_common_word = max(model.kv.vocab.items(), key=lambda item: item[1].count)[0] + most_common_word = max(model.vocab.items(), key=lambda item: item[1].count)[0] self.assertTrue(numpy.allclose(model[most_common_word], model2[most_common_word])) @log_capture() diff --git a/gensim/utils.py b/gensim/utils.py index 2867247e3e..0238be8d93 100644 --- a/gensim/utils.py +++ b/gensim/utils.py @@ -377,10 +377,25 @@ def _save_specials(self, fname, separately, sep_limit, ignore, pickle_protocol, separately.append(attrib) # whatever's in `separately` or `ignore` at this point won't get pickled + def delete_attribute(object, attribute): + if hasattr(object, attribute): + asides[attribute] = getattr(object, attribute) + delattr(object, attribute) + for attrib in separately + list(ignore): - if hasattr(self, attrib): - asides[attrib] = getattr(self, attrib) - delattr(self, attrib) + # As a result of maintaining backwards compatibility through __getattr__ after refactoring + # "syn0", "syn0norm", "vocab", and "index2word" out of Word2Vec to KeyedVectors, + # hasattr(self, "syn0") will return True but delattr(self, "syn0") will fail because it's + # not a true attribute of Word2Vec, __getattr__ just reroutes it to KeyedVectors + if attrib in ["syn0", "syn0norm", "vocab", "index2word"]: + if type(self) == "Word2Vec": # if saving a Word2Vec model, syn0, etc. are stored in self.kv + delete_attribute(self.kv, attrib) + continue + if type(self) == "KeyedVectors": # if saving a KeyedVectors object, syn0 etc. are stored in self + delete_attribute(self, attrib) + continue + else: + delete_attribute(self, attrib) recursive_saveloads = [] restores = [] From c34cf37fba93480d74f38ce5216c7ba5964df731 Mon Sep 17 00:00:00 2001 From: droudy Date: Fri, 19 Aug 2016 14:21:26 -0400 Subject: [PATCH 05/26] add missing docstring --- gensim/models/keyedvectors.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index 7cdd2f8b54..c9eb69a082 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- from __future__ import division # py3 "true division" import logging @@ -171,7 +172,27 @@ def nbow(document): return emd(d1, d2, distance_matrix) def most_similar_cosmul(self, positive=[], negative=[], topn=10): - # TODO put back docstring properly encoded + """ + Find the top-N most similar words, using the multiplicative combination objective + proposed by Omer Levy and Yoav Goldberg in [4]_. Positive words still contribute + positively towards the similarity, negative words negatively, but with less + susceptibility to one large distance dominating the calculation. + + In the common analogy-solving case, of two positive and one negative examples, + this method is equivalent to the "3CosMul" objective (equation (4)) of Levy and Goldberg. + + Additional positive or negative examples contribute to the numerator or denominator, + respectively – a potentially sensible but untested extension of the method. (With + a single positive example, rankings will be the same as in the default most_similar.) + + Example:: + + >>> trained_model.most_similar_cosmul(positive=['baghdad', 'england'], negative=['london']) + [(u'iraq', 0.8488819003105164), ...] + + .. [4] Omer Levy and Yoav Goldberg. Linguistic Regularities in Sparse and Explicit Word Representations, 2014. + + """ self.init_sims() if isinstance(positive, string_types) and not negative: From c9b31f9cd20842197b707f6d4dceffb5058ac07a Mon Sep 17 00:00:00 2001 From: droudy Date: Fri, 19 Aug 2016 14:48:21 -0400 Subject: [PATCH 06/26] fix docstring format --- gensim/models/keyedvectors.py | 78 ++++++++++++++++++++++++------- gensim/models/word2vec.py | 86 +++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 16 deletions(-) diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index c9eb69a082..9cf56e6b2a 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -36,18 +36,24 @@ def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, i """ Find the top-N most similar words. Positive words contribute positively towards the similarity, negative words negatively. + This method computes cosine similarity between a simple mean of the projection weight vectors of the given words and the vectors for each word in the model. The method corresponds to the `word-analogy` and `distance` scripts in the original word2vec implementation. + If topn is False, most_similar returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which are searched for most-similar values. For example, restrict_vocab=10000 would only check the first 10000 word vectors in the vocabulary order. (This may be meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.most_similar(positive=['woman', 'king'], negative=['man']) [('queen', 0.50882536), ...] + """ self.init_sims() @@ -95,23 +101,30 @@ def wmdistance(self, document1, document2): """ Compute the Word Mover's Distance between two documents. When using this code, please consider citing the following papers: + .. Ofir Pele and Michael Werman, "A linear time histogram metric for improved SIFT matching". .. Ofir Pele and Michael Werman, "Fast and robust earth mover's distances". .. Matt Kusner et al. "From Word Embeddings To Document Distances". + Note that if one of the documents have no words that exist in the Word2Vec vocab, `float('inf')` (i.e. infinity) will be returned. + This method only works if `pyemd` is installed (can be installed via pip, but requires a C compiler). + Example: >>> # Train word2vec model. >>> model = Word2Vec(sentences) + >>> # Some sentences to test. >>> sentence_obama = 'Obama speaks to the media in Illinois'.lower().split() >>> sentence_president = 'The president greets the press in Chicago'.lower().split() + >>> # Remove their stopwords. >>> from nltk.corpus import stopwords >>> stopwords = nltk.corpus.stopwords.words('english') >>> sentence_obama = [w for w in sentence_obama if w not in stopwords] >>> sentence_president = [w for w in sentence_president if w not in stopwords] + >>> # Compute WMD. >>> distance = model.wmdistance(sentence_obama, sentence_president) """ @@ -173,26 +186,26 @@ def nbow(document): def most_similar_cosmul(self, positive=[], negative=[], topn=10): """ - Find the top-N most similar words, using the multiplicative combination objective - proposed by Omer Levy and Yoav Goldberg in [4]_. Positive words still contribute - positively towards the similarity, negative words negatively, but with less - susceptibility to one large distance dominating the calculation. + Find the top-N most similar words, using the multiplicative combination objective + proposed by Omer Levy and Yoav Goldberg in [4]_. Positive words still contribute + positively towards the similarity, negative words negatively, but with less + susceptibility to one large distance dominating the calculation. - In the common analogy-solving case, of two positive and one negative examples, - this method is equivalent to the "3CosMul" objective (equation (4)) of Levy and Goldberg. + In the common analogy-solving case, of two positive and one negative examples, + this method is equivalent to the "3CosMul" objective (equation (4)) of Levy and Goldberg. - Additional positive or negative examples contribute to the numerator or denominator, - respectively – a potentially sensible but untested extension of the method. (With - a single positive example, rankings will be the same as in the default most_similar.) + Additional positive or negative examples contribute to the numerator or denominator, + respectively – a potentially sensible but untested extension of the method. (With + a single positive example, rankings will be the same as in the default most_similar.) - Example:: + Example:: - >>> trained_model.most_similar_cosmul(positive=['baghdad', 'england'], negative=['london']) - [(u'iraq', 0.8488819003105164), ...] + >>> trained_model.most_similar_cosmul(positive=['baghdad', 'england'], negative=['london']) + [(u'iraq', 0.8488819003105164), ...] - .. [4] Omer Levy and Yoav Goldberg. Linguistic Regularities in Sparse and Explicit Word Representations, 2014. + .. [4] Omer Levy and Yoav Goldberg. Linguistic Regularities in Sparse and Explicit Word Representations, 2014. - """ + """ self.init_sims() if isinstance(positive, string_types) and not negative: @@ -231,14 +244,19 @@ def word_vec(word): def similar_by_word(self, word, topn=10, restrict_vocab=None): """ Find the top-N most similar words. + If topn is False, similar_by_word returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which are searched for most-similar values. For example, restrict_vocab=10000 would only check the first 10000 word vectors in the vocabulary order. (This may be meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.similar_by_word('graph') [('user', 0.9999163150787354), ...] + """ return self.most_similar(positive=[word], topn=topn, restrict_vocab=restrict_vocab) @@ -246,14 +264,19 @@ def similar_by_word(self, word, topn=10, restrict_vocab=None): def similar_by_vector(self, vector, topn=10, restrict_vocab=None): """ Find the top-N most similar words by vector. + If topn is False, similar_by_vector returns the vector of similarity scores. + `restrict_vocab` is an optional integer which limits the range of vectors which are searched for most-similar values. For example, restrict_vocab=10000 would only check the first 10000 word vectors in the vocabulary order. (This may be meaningful if you've sorted the vocabulary by descending frequency.) + Example:: + >>> trained_model.similar_by_vector([1,2]) [('survey', 0.9942699074745178), ...] + """ return self.most_similar(positive=[vector], topn=topn, restrict_vocab=restrict_vocab) @@ -261,9 +284,12 @@ def similar_by_vector(self, vector, topn=10, restrict_vocab=None): def doesnt_match(self, words): """ Which word from the given list doesn't go with the others? + Example:: + >>> trained_model.doesnt_match("breakfast cereal dinner lunch".split()) 'cereal' + """ self.init_sims() @@ -280,18 +306,24 @@ def __getitem__(self, words): """ Accept a single word or a list of words as input. + If a single word: returns the word's representations in vector space, as a 1D numpy array. + Multiple words: return the words' representations in vector space, as a 2d numpy array: #words x #vector_size. Matrix rows are in the same order as in input. + Example:: + >>> trained_model['office'] array([ -1.40128313e-02, ...]) + >>> trained_model[['office', 'products']] array([ -1.40128313e-02, ...] [ -1.70425311e-03, ...] ...) + """ if isinstance(words, string_types): # allow calls like trained_model['office'], as a shorthand for trained_model[['office']] @@ -305,24 +337,33 @@ def __contains__(self, word): def similarity(self, w1, w2): """ Compute cosine similarity between two words. + Example:: + >>> trained_model.similarity('woman', 'man') 0.73723527 + >>> trained_model.similarity('woman', 'woman') 1.0 + """ return dot(matutils.unitvec(self[w1]), matutils.unitvec(self[w2])) def n_similarity(self, ws1, ws2): """ Compute cosine similarity between two sets of words. + Example:: + >>> trained_model.n_similarity(['sushi', 'shop'], ['japanese', 'restaurant']) 0.61540466561049689 + >>> trained_model.n_similarity(['restaurant', 'japanese'], ['japanese', 'restaurant']) 1.0000000000000004 + >>> trained_model.n_similarity(['sushi'], ['restaurant']) == trained_model.similarity('sushi', 'restaurant') True + """ v1 = [self[word] for word in ws1] v2 = [self[word] for word in ws2] @@ -341,17 +382,22 @@ def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, c Compute accuracy of the model. `questions` is a filename where lines are 4-tuples of words, split into sections by ": SECTION NAME" lines. See questions-words.txt in https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/word2vec/source-archive.zip for an example. + The accuracy is reported (=printed to log and returned as a list) for each section separately, plus there's one aggregate summary at the end. + Use `restrict_vocab` to ignore all questions containing a word not in the first `restrict_vocab` words (default 30,000). This may be meaningful if you've sorted the vocabulary by descending frequency. In case `case_insensitive` is True, the first `restrict_vocab` words are taken first, and then case normalization is performed. + Use `case_insensitive` to convert all words in questions and vocab to their uppercase form before evaluating the accuracy (default True). Useful in case of case-mismatch between training tokens and question words. In case of multiple case variants of a single word, the vector for the first occurrence (also the most frequent if vocabulary is sorted) is taken. + This method corresponds to the `compute-accuracy` script of the original C word2vec. + """ ok_vocab = [(w, self.vocab[w]) for w in self.index2word[:restrict_vocab]] ok_vocab = dict((w.upper(), v) for w, v in reversed(ok_vocab)) if case_insensitive else dict(ok_vocab) @@ -415,13 +461,13 @@ def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, c def init_sims(self, replace=False): """ Precompute L2-normalized vectors. + If `replace` is set, forget the original vectors and only keep the normalized ones = saves lots of memory! + Note that you **cannot continue training** after doing a replace. The model becomes effectively read-only = you can call `most_similar`, `similarity` etc., but not `train`. - init_sims() is replicated inside of this class without syn1 because many of the methods contained - here require normalized vectors """ if getattr(self, 'syn0norm', None) is None or replace: logger.info("precomputing L2-norms of word weight vectors") diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 6d845ab56c..d591c21307 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -8,38 +8,59 @@ """ Deep learning via word2vec's "skip-gram and CBOW models", using either hierarchical softmax or negative sampling [1]_ [2]_. + The training algorithms were originally ported from the C package https://code.google.com/p/word2vec/ and extended with additional functionality. + For a blog tutorial on gensim word2vec, with an interactive web app trained on GoogleNews, visit http://radimrehurek.com/2014/02/word2vec-tutorial/ + **Make sure you have a C compiler before installing gensim, to use optimized (compiled) word2vec training** (70x speedup compared to plain NumPy implementation [3]_). + Initialize a model with e.g.:: + >>> model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4) + Persist a model to disk with:: + >>> model.save(fname) >>> model = Word2Vec.load(fname) # you can continue training with the loaded model! + The model can also be instantiated from an existing file on disk in the word2vec C format:: + >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.txt', binary=False) # C text format >>> model = Word2Vec.load_word2vec_format('/tmp/vectors.bin', binary=True) # C binary format + You can perform various syntactic/semantic NLP word tasks with the model. Some of them are already built-in:: + >>> model.most_similar(positive=['woman', 'king'], negative=['man']) [('queen', 0.50882536), ...] + >>> model.doesnt_match("breakfast cereal dinner lunch".split()) 'cereal' + >>> model.similarity('woman', 'man') 0.73723527 + >>> model['computer'] # raw numpy vector of a word array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32) + and so on. + If you're finished training a model (=no more updates, only querying), you can do + >>> model.init_sims(replace=True) + to trim unneeded model memory = use (much) less RAM. + Note that there is a :mod:`gensim.models.phrases` module which lets you automatically detect phrases longer than one word. Using phrases, you can learn a word2vec model where "words" are actually multiword expressions, such as `new_york_times` or `financial_crisis`: + >>> bigram_transformer = gensim.models.Phrases(sentences) >>> model = Word2Vec(bigram_transformer[sentences], size=100, ...) + .. [1] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013. .. [2] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013. @@ -91,10 +112,13 @@ def train_batch_sg(model, sentences, alpha, work=None): """ Update skip-gram model by training on a sequence of sentences. + Each sentence is a list of string tokens, which are looked up in the model's vocab dictionary. Called internally from `Word2Vec.train()`. + This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. + """ result = 0 for sentence in sentences: @@ -115,10 +139,13 @@ def train_batch_sg(model, sentences, alpha, work=None): def train_batch_cbow(model, sentences, alpha, work=None, neu1=None): """ Update CBOW model by training on a sequence of sentences. + Each sentence is a list of string tokens, which are looked up in the model's vocab dictionary. Called internally from `Word2Vec.train()`. + This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. + """ result = 0 for sentence in sentences: @@ -139,10 +166,13 @@ def train_batch_cbow(model, sentences, alpha, work=None, neu1=None): def score_sentence_sg(model, sentence, work=None): """ Obtain likelihood score for a single sentence in a fitted skip-gram representaion. + The sentence is a list of Vocab objects (or None, when the corresponding word is not in the vocabulary). Called internally from `Word2Vec.score()`. + This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. + """ log_prob_sentence = 0.0 @@ -166,10 +196,13 @@ def score_sentence_sg(model, sentence, work=None): def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): """ Obtain likelihood score for a single sentence in a fitted CBOW representaion. + The sentence is a list of Vocab objects (or None, where the corresponding word is not in the vocabulary. Called internally from `Word2Vec.score()`. + This is the non-optimized, Python version. If you have cython installed, gensim will use the optimized version from word2vec_inner instead. + """ log_prob_sentence = 0.0 if model.negative: @@ -296,6 +329,7 @@ class Vocab(object): """ A single vocabulary item, used internally for collecting per-word frequency/sampling info, and for constructing binary trees (incl. both word leaves and inner nodes). + """ def __init__(self, **kwargs): self.count = 0 @@ -312,8 +346,10 @@ def __str__(self): class Word2Vec(utils.SaveLoad): """ Class for training, using and evaluating neural networks described in https://code.google.com/p/word2vec/ + The model can be stored/loaded via its `save()` and `load()` methods, or stored/loaded in a format compatible with the original word2vec implementation via `save_word2vec_format()` and `load_word2vec_format()`. + """ def __init__( self, sentences=None, size=100, alpha=0.025, window=5, min_count=5, @@ -323,51 +359,71 @@ def __init__( """ Initialize the model from an iterable of `sentences`. Each sentence is a list of words (unicode strings) that will be used for training. + The `sentences` iterable can be simply a list, but for larger corpora, consider an iterable that streams the sentences directly from disk/network. See :class:`BrownCorpus`, :class:`Text8Corpus` or :class:`LineSentence` in this module for such examples. + If you don't supply `sentences`, the model is left uninitialized -- use if you plan to initialize it in some other way. + `sg` defines the training algorithm. By default (`sg=0`), CBOW is used. Otherwise (`sg=1`), skip-gram is employed. + `size` is the dimensionality of the feature vectors. + `window` is the maximum distance between the current and predicted word within a sentence. + `alpha` is the initial learning rate (will linearly drop to `min_alpha` as training progresses). + `seed` = for the random number generator. Initial vectors for each word are seeded with a hash of the concatenation of word + str(seed). Note that for a fully deterministically-reproducible run, you must also limit the model to a single worker thread, to eliminate ordering jitter from OS thread scheduling. (In Python 3, reproducibility between interpreter launches also requires use of the PYTHONHASHSEED environment variable to control hash randomization.) + `min_count` = ignore all words with total frequency lower than this. + `max_vocab_size` = limit RAM during vocabulary building; if there are more unique words than this, then prune the infrequent ones. Every 10 million word types need about 1GB of RAM. Set to `None` for no limit (default). + `sample` = threshold for configuring which higher-frequency words are randomly downsampled; default is 1e-3, useful range is (0, 1e-5). + `workers` = use this many worker threads to train the model (=faster training with multicore machines). + `hs` = if 1, hierarchical softmax will be used for model training. If set to 0 (default), and `negative` is non-zero, negative sampling will be used. + `negative` = if > 0, negative sampling will be used, the int for negative specifies how many "noise words" should be drawn (usually between 5-20). Default is 5. If set to 0, no negative samping is used. + `cbow_mean` = if 0, use the sum of the context word vectors. If 1 (default), use the mean. Only applies when cbow is used. + `hashfxn` = hash function to use to randomly initialize weights, for increased training reproducibility. Default is Python's rudimentary built in hash function. + `iter` = number of iterations (epochs) over the corpus. Default is 5. + `trim_rule` = vocabulary trimming rule, specifies whether certain words should remain in the vocabulary, be trimmed away, or handled using the default (discard if word count < min_count). Can be None (min_count will be used), or a callable that accepts parameters (word, count, min_count) and returns either `utils.RULE_DISCARD`, `utils.RULE_KEEP` or `utils.RULE_DEFAULT`. Note: The rule, if given, is only used prune vocabulary during build_vocab() and is not stored as part of the model. + `sorted_vocab` = if 1 (default), sort the vocabulary by descending frequency before assigning word indexes. + `batch_words` = target size (in words) for batches of examples passed to worker threads (and thus cython routines). Default is 10000. (Larger batches will be passed if individual texts are longer than 10000 words, but the standard cython code truncates to that maximum.) + """ self.kv = KeyedVectors() # kv --> KeyedVectors self.sg = int(sg) @@ -407,10 +463,12 @@ def make_cum_table(self, power=0.75, domain=2**31 - 1): """ Create a cumulative-distribution table using stored vocabulary word counts for drawing random words in the negative-sampling training routines. + To draw a word index, choose a random integer up to the maximum value in the table (cum_table[-1]), then finding that integer's sorted insertion point (as if by bisect_left or ndarray.searchsorted()). That insertion point is the drawn index, coming up in proportion equal to the increment at that slot. + Called internally from 'build_vocab()'. """ vocab_size = len(self.kv.index2word) @@ -428,6 +486,7 @@ def create_binary_tree(self): """ Create a binary Huffman tree using stored vocabulary word counts. Frequent words will have shorter binary codes. Called internally from `build_vocab()`. + """ logger.info("constructing a huffman tree from %i words", len(self.kv.vocab)) @@ -459,6 +518,7 @@ def build_vocab(self, sentences, keep_raw_vocab=False, trim_rule=None, progress_ """ Build vocabulary from a sequence of sentences (can be a once-only generator stream). Each sentence must be a list of unicode strings. + """ self.scan_vocab(sentences, progress_per=progress_per, trim_rule=trim_rule) # initial survey self.scale_vocab(keep_raw_vocab=keep_raw_vocab, trim_rule=trim_rule) # trim by min_count & precalculate downsampling @@ -498,12 +558,15 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab """ Apply vocabulary settings for `min_count` (discarding less-frequent words) and `sample` (controlling the downsampling of more-frequent words). + Calling with `dry_run=True` will only simulate the provided settings and report the size of the retained vocabulary, effective corpus length, and estimated memory requirements. Results are both printed via logging and returned as a dict. + Delete the raw vocabulary after the scaling is done to free up RAM, unless `keep_raw_vocab` is set. + """ min_count = min_count or self.min_count sample = sample or self.sample @@ -638,9 +701,11 @@ def train(self, sentences, total_words=None, word_count=0, """ Update the model's neural weights from a sequence of sentences (can be a once-only generator stream). For Word2Vec, each sentence must be a list of unicode strings. (Subclasses may accept other examples.) + To support linear learning-rate decay from (initial) alpha to min_alpha, either total_examples (count of sentences) or total_words (count of raw words in sentences) should be provided, unless the sentences are the same as those that were used to initially build the vocabulary. + """ if FAST_VERSION < 0: import warnings @@ -826,13 +891,18 @@ def score(self, sentences, total_sentences=int(1e6), chunksize=100, queue_factor Score the log probability for a sequence of sentences (can be a once-only generator stream). Each sentence must be a list of unicode strings. This does not change the fitted model in any way (see Word2Vec.train() for that). + We have currently only implemented score for the hierarchical softmax scheme, so you need to have run word2vec with hs=1 and negative=0 for this to work. + Note that you should specify total_sentences; we'll run into problems if you ask to score more than this number of sentences but it is inefficient to set the value too high. + See the article by [taddy]_ and the gensim demo at [deepir]_ for examples of how to use such scores in document classification. + .. [taddy] Taddy, Matt. Document Classification by Inversion of Distributed Language Representations, in Proceedings of the 2015 Conference of the Association of Computational Linguistics. .. [deepir] https://github.com/piskvorky/gensim/blob/develop/docs/notebooks/deepir.ipynb + """ if FAST_VERSION < 0: import warnings @@ -959,10 +1029,12 @@ def save_word2vec_format(self, fname, fvocab=None, binary=False): """ Store the input-hidden weight matrix in the same format used by the original C word2vec-tool, for compatibility. + `fname` is the file used to save the vectors in `fvocab` is an optional file used to save the vocabulary `binary` is an optional boolean indicating whether the data is to be saved in binary word2vec format (default: False) + """ if fvocab is not None: logger.info("storing vocabulary in %s" % (fvocab)) @@ -986,24 +1058,31 @@ def load_word2vec_format(cls, fname, fvocab=None, binary=False, encoding='utf8', limit=None, datatype=REAL): """ Load the input-hidden weight matrix from the original C word2vec-tool format. + Note that the information stored in the file is incomplete (the binary tree is missing), so while you can query for word similarity etc., you cannot continue training with a model loaded this way. + `binary` is a boolean indicating whether the data is in binary word2vec format. `norm_only` is a boolean indicating whether to only store normalised word2vec vectors in memory. Word counts are read from `fvocab` filename, if set (this is the file generated by `-save-vocab` flag of the original C tool). + If you trained the C model using non-utf8 encoding for words, specify that encoding in `encoding`. + `unicode_errors`, default 'strict', is a string suitable to be passed as the `errors` argument to the unicode() (Python 2.x) or str() (Python 3.x) function. If your source file may include word tokens truncated in the middle of a multibyte unicode character (as is common from the original word2vec.c tool), 'ignore' or 'replace' may help. + `limit` sets a maximum number of word-vectors to read from the file. The default, None, means read all. + `datatype` (experimental) can coerce dimensions to a non-default float type (such as np.float16) to save memory. (Such types may result in much slower bulk operations or incompatibility with optimized routines.) + """ counts = None if fvocab is not None: @@ -1084,7 +1163,9 @@ def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='ut given, where it intersects with the current vocabulary. (No words are added to the existing vocabulary, but intersecting words adopt the file's weights, and non-intersecting words are left alone.) + `binary` is a boolean indicating whether the data is in binary word2vec format. + `lockf` is a lock-factor value to be set for any imported word-vectors; the default value of 0.0 prevents further updating of the vector during subsequent training. Use 1.0 to allow further training updates of merged vectors. @@ -1297,11 +1378,16 @@ def __init__(self, source, max_sentence_length=MAX_WORDS_IN_BATCH, limit=None): """ `source` can be either a string or a file object. Clip the file to the first `limit` lines (or no clipped if limit is None, the default). + Example:: + sentences = LineSentence('myfile.txt') + Or for compressed files:: + sentences = LineSentence('compressed_text.txt.bz2') sentences = LineSentence('compressed_text.txt.gz') + """ self.source = source self.max_sentence_length = max_sentence_length From a0329af325024b079ba340c961192e6dd1779b16 Mon Sep 17 00:00:00 2001 From: Daniel Roudnitsky Date: Fri, 19 Aug 2016 16:21:46 -0400 Subject: [PATCH 07/26] clearer docstring --- gensim/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gensim/utils.py b/gensim/utils.py index 0238be8d93..f867257069 100644 --- a/gensim/utils.py +++ b/gensim/utils.py @@ -376,17 +376,17 @@ def _save_specials(self, fname, separately, sep_limit, ignore, pickle_protocol, elif isinstance(val, sparse_matrices) and val.nnz >= sep_limit: separately.append(attrib) - # whatever's in `separately` or `ignore` at this point won't get pickled def delete_attribute(object, attribute): if hasattr(object, attribute): asides[attribute] = getattr(object, attribute) delattr(object, attribute) - + + # whatever's in `separately` or `ignore` at this point won't get pickled for attrib in separately + list(ignore): # As a result of maintaining backwards compatibility through __getattr__ after refactoring # "syn0", "syn0norm", "vocab", and "index2word" out of Word2Vec to KeyedVectors, # hasattr(self, "syn0") will return True but delattr(self, "syn0") will fail because it's - # not a true attribute of Word2Vec, __getattr__ just reroutes it to KeyedVectors + # not a true attribute of Word2Vec, Word2Vec.__getattr__ just reroutes it to KeyedVectors' attributes if attrib in ["syn0", "syn0norm", "vocab", "index2word"]: if type(self) == "Word2Vec": # if saving a Word2Vec model, syn0, etc. are stored in self.kv delete_attribute(self.kv, attrib) From 0c0e2fa5f35cc8395938f8e0bdd24ef1367230a4 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 2 Sep 2016 19:29:33 +0530 Subject: [PATCH 08/26] minor typo in word2vec wmdistance --- gensim/models/word2vec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index d591c21307..a2c27afd09 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1210,7 +1210,7 @@ def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, i return self.kv.most_similar(positive, negative, topn, restrict_vocab, indexer) def wmdistance(self, document1, document2): - return self.kv.wmdistance(document1. document2) + return self.kv.wmdistance(document1, document2) def most_similar_cosmul(self, positive=[], negative=[], topn=10): return self.kv.most_similar_cosmul(positive, negative, topn) From cdefeb01cfc3b0d5102f28d657f1c1335dcb01c9 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Thu, 8 Sep 2016 14:40:40 +0530 Subject: [PATCH 09/26] pyemd error in keyedvecs --- gensim/models/keyedvectors.py | 8 ++++++++ gensim/models/word2vec.py | 7 ------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index 9cf56e6b2a..f71247f242 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -8,6 +8,14 @@ except ImportError: from Queue import Queue, Empty +# If pyemd C extension is available, import it. +# If pyemd is attempted to be used, but isn't installed, ImportError will be raised in wmdistance +try: + from pyemd import emd + PYEMD_EXT = True +except ImportError: + PYEMD_EXT = False + from numpy import exp, log, dot, zeros, outer, random, dtype, float32 as REAL,\ double, uint32, seterr, array, uint8, vstack, fromstring, sqrt, newaxis,\ ndarray, empty, sum as np_sum, prod, ones, ascontiguousarray diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index a2c27afd09..80dd3cb04f 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -223,13 +223,6 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): return log_prob_sentence -# If pyemd C extension is available, import it. -# If pyemd is attempted to be used, but isn't installed, ImportError will be raised. -try: - from pyemd import emd - PYEMD_EXT = True -except ImportError: - PYEMD_EXT = False def train_sg_pair(model, word, context_index, alpha, learn_vectors=True, learn_hidden=True, context_vectors=None, context_locks=None): From 1aec5a26e43de9f8017b2de8c76d0cc9246d877e Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Thu, 8 Sep 2016 14:41:10 +0530 Subject: [PATCH 10/26] relative import of keyedvecs from word2vec fails --- gensim/models/word2vec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 80dd3cb04f..ff1e1b14d0 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -79,7 +79,7 @@ import itertools from gensim.utils import keep_vocab_item -from keyedvectors import KeyedVectors +from gensim.models.keyedvectors import KeyedVectors try: from queue import Queue, Empty From e7368a3e67d10f16eb429c83387c64da7fbee46f Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Thu, 8 Sep 2016 14:41:34 +0530 Subject: [PATCH 11/26] bug in init_sims in word2vec --- gensim/models/word2vec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index ff1e1b14d0..c0a99a0895 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1249,7 +1249,7 @@ def init_sims(self, replace=False): init_sims() resides in KeyedVectors because it deals with syn0 mainly, but because syn1 is not an attribute of KeyedVectors, it has to be deleted in this class, and the normalizing of syn0 happens inside of KeyedVectors """ - if hasattr(self, 'syn1'): + if replace and hasattr(self, 'syn1'): del self.syn1 return self.kv.init_sims(replace) From fe283c2ef74e9d633fbbe8d58c403f1d8161ac9f Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Thu, 8 Sep 2016 21:06:44 +0530 Subject: [PATCH 12/26] property descriptors for syn0, syn0norm, index2word, vocab - fixes bug in saving --- gensim/models/word2vec.py | 61 ++++++++++++++++++++++++++++++--------- gensim/utils.py | 21 ++------------ 2 files changed, 50 insertions(+), 32 deletions(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index c0a99a0895..71baec4563 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1220,20 +1220,53 @@ def doesnt_match(self, words): def __getitem__(self, words): return self.kv.__getitem__(words) - def __getattr__(self, item): - """ - To maintain backwards compatibility, calls such as trained_model.syn0norm won't break but will be - rerouted to trained_model.kv.syn0norm - """ - if item == "syn0": - return self.kv.syn0 - if item == "syn0norm": - return self.kv.syn0norm - if item == "vocab": - return self.kv.vocab - if item == "index2word": - return self.kv.index2word - raise AttributeError("'{0}' object has no attribute '{1}'".format(type(self).__name__, item)) + @property + def syn0norm(self): + return self.kv.syn0norm + + @syn0norm.setter + def syn0norm(self, value): + self.kv.syn0norm = value + + @syn0norm.deleter + def syn0norm(self): + del self.kv.syn0norm + + @property + def syn0(self): + return self.kv.syn0 + + @syn0.setter + def syn0(self, value): + self.kv.syn0 = value + + @syn0.deleter + def syn0(self): + del self.kv.syn0 + + @property + def vocab(self): + return self.kv.vocab + + @vocab.setter + def vocab(self, value): + self.kv.vocab = value + + @vocab.deleter + def vocab(self): + del self.kv.vocab + + @property + def index2word(self): + return self.kv.index2word + + @index2word.setter + def index2word(self, value): + self.kv.index2word = value + + @index2word.deleter + def index2word(self): + del self.kv.index2word def __contains__(self, word): return self.kv.__contains__(word) diff --git a/gensim/utils.py b/gensim/utils.py index f867257069..2867247e3e 100644 --- a/gensim/utils.py +++ b/gensim/utils.py @@ -376,26 +376,11 @@ def _save_specials(self, fname, separately, sep_limit, ignore, pickle_protocol, elif isinstance(val, sparse_matrices) and val.nnz >= sep_limit: separately.append(attrib) - def delete_attribute(object, attribute): - if hasattr(object, attribute): - asides[attribute] = getattr(object, attribute) - delattr(object, attribute) - # whatever's in `separately` or `ignore` at this point won't get pickled for attrib in separately + list(ignore): - # As a result of maintaining backwards compatibility through __getattr__ after refactoring - # "syn0", "syn0norm", "vocab", and "index2word" out of Word2Vec to KeyedVectors, - # hasattr(self, "syn0") will return True but delattr(self, "syn0") will fail because it's - # not a true attribute of Word2Vec, Word2Vec.__getattr__ just reroutes it to KeyedVectors' attributes - if attrib in ["syn0", "syn0norm", "vocab", "index2word"]: - if type(self) == "Word2Vec": # if saving a Word2Vec model, syn0, etc. are stored in self.kv - delete_attribute(self.kv, attrib) - continue - if type(self) == "KeyedVectors": # if saving a KeyedVectors object, syn0 etc. are stored in self - delete_attribute(self, attrib) - continue - else: - delete_attribute(self, attrib) + if hasattr(self, attrib): + asides[attrib] = getattr(self, attrib) + delattr(self, attrib) recursive_saveloads = [] restores = [] From 9b36bc4260f552d73ecdf5d1436f801c85ba4bda Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 09:59:50 +0530 Subject: [PATCH 13/26] tests for loading older word2vec models --- gensim/test/test_data/word2vec_pre_kv | Bin 0 -> 345204 bytes gensim/test/test_data/word2vec_pre_kv_c | 1751 +++++++++++++++++ gensim/test/test_data/word2vec_pre_kv_sep | Bin 0 -> 124557 bytes .../test_data/word2vec_pre_kv_sep.syn0.npy | Bin 0 -> 70080 bytes .../word2vec_pre_kv_sep.syn0_lockf.npy | Bin 0 -> 7080 bytes .../test_data/word2vec_pre_kv_sep.syn1neg.npy | Bin 0 -> 70080 bytes gensim/test/test_word2vec.py | 17 + 7 files changed, 1768 insertions(+) create mode 100644 gensim/test/test_data/word2vec_pre_kv create mode 100644 gensim/test/test_data/word2vec_pre_kv_c create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep.syn0_lockf.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep.syn1neg.npy diff --git a/gensim/test/test_data/word2vec_pre_kv b/gensim/test/test_data/word2vec_pre_kv new file mode 100644 index 0000000000000000000000000000000000000000..e02a6e367eab338a016224187718a086a2e3cef2 GIT binary patch literal 345204 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
ur;s8pNGAHajj;S_Z9 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�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�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%0D4;5_9|ssF%@Mjui3Y77YF{YQ>Iny-(UpR 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 Qk?{P+bvFl_H%xZ2$lO literal 0 HcmV?d00001 diff --git a/gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy b/gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy new file mode 100644 index 0000000000000000000000000000000000000000..9839a82edc5bce8c04cf44844b637f3e944d3b9a GIT binary patch literal 70080 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 X^@KG`Y-nZ4DP_X?LMfUmJ;46}oAyE* literal 0 HcmV?d00001 diff --git a/gensim/test/test_data/word2vec_pre_kv_sep.syn0_lockf.npy b/gensim/test/test_data/word2vec_pre_kv_sep.syn0_lockf.npy new file mode 100644 index 0000000000000000000000000000000000000000..54304746fd77fc6579719138da3e2e646f479252 GIT binary patch literal 7080 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ÓXpx4}r(wYX##i$|>O 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 k+ac%l%Lmr@MF9oKs&6uktdW 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 B!)5>g literal 0 HcmV?d00001 diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index f50a1f8408..254bbd972d 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -104,6 +104,23 @@ def testLambdaRule(self): model = word2vec.Word2Vec(sentences, min_count=1, trim_rule=rule) self.assertTrue("human" not in model.vocab) + def testLoadPreKeyedVectorModel(self): + """Test loading pre-KeyedVectors word2vec model""" + # Model stored in one file + model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv')) + self.assertTrue(model.syn0.shape == (len(model.kv.vocab), model.vector_size)) + self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), model.vector_size)) + + # Model stored in multiple files + model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv_sep')) + self.assertTrue(model.syn0.shape == (len(model.kv.vocab), model.vector_size)) + self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), model.vector_size)) + + def testLoadPreKeyedVectorModelCFormat(self): + """Test loading pre-KeyedVectors word2vec model saved in word2vec format""" + model = word2vec.Word2Vec.load_word2vec_format(datapath('word2vec_pre_kv_c')) + self.assertTrue(model.syn0.shape[0] == len(model.kv.vocab)) + def testPersistenceWord2VecFormat(self): """Test storing/loading the entire model in word2vec format.""" model = word2vec.Word2Vec(sentences, min_count=1) From dfe1893c8fb972bf350760662b4e4e8717397a38 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 10:21:37 +0530 Subject: [PATCH 14/26] backwards compatibility for loading older models --- gensim/models/word2vec.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 71baec4563..1744753dc6 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1344,6 +1344,15 @@ def load(cls, *args, **kwargs): model.total_train_time = 0 return model + def _load_specials(self, *args, **kwargs): + # loading from a pre-KeyedVectors word2vec model + if not hasattr(self, 'kv'): + kv = KeyedVectors() + kv.syn0 = self.__dict__.get('syn0', []) + kv.vocab = self.__dict__.get('vocab', {}) + kv.index2word = self.__dict__.get('index2word', []) + self.kv = kv + super(Word2Vec, self)._load_specials(*args, **kwargs) class BrownCorpus(object): """Iterate over sentences from the Brown corpus (part of NLTK data).""" From 4a03f2049316593234bf9044ecf01476b6b2f65f Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 10:26:00 +0530 Subject: [PATCH 15/26] test for syn0norm not saved to file --- gensim/test/test_word2vec.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 254bbd972d..145fd3d479 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -104,8 +104,22 @@ def testLambdaRule(self): model = word2vec.Word2Vec(sentences, min_count=1, trim_rule=rule) self.assertTrue("human" not in model.vocab) + def testSyn0NormNotSaved(self): + """Test syn0norm isn't saved in model file""" + model = word2vec.Word2Vec(sentences, min_count=1) + model.init_sims() + model.save(testfile()) + loaded_model = word2vec.Word2Vec.load(testfile()) + self.assertTrue(loaded_model.kv.syn0norm is None) + + kv = model.kv + kv.save(testfile()) + loaded_kv = keyedvectors.KeyedVectors.load(testfile()) + self.assertTrue(loaded_kv.syn0norm is None) + def testLoadPreKeyedVectorModel(self): """Test loading pre-KeyedVectors word2vec model""" + # Model stored in one file model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv')) self.assertTrue(model.syn0.shape == (len(model.kv.vocab), model.vector_size)) From 09b6ebed28f08d47dea2c9892860f7ded6dc4e49 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 10:26:38 +0530 Subject: [PATCH 16/26] syn0norm not saved to file for KeyedVectors --- gensim/models/keyedvectors.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index f71247f242..bd15a0a404 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -40,6 +40,11 @@ def __init__(self): self.vocab = {} self.index2word = [] + def save(self, *args, **kwargs): + # don't bother storing the cached normalized vectors + kwargs['ignore'] = kwargs.get('ignore', ['syn0norm']) + super(KeyedVectors, self).save(*args, **kwargs) + def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, indexer=None): """ Find the top-N most similar words. Positive words contribute positively towards the From 7df4138c7dc2a27df9d60029af0e7c7c3576be0e Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 11:06:19 +0530 Subject: [PATCH 17/26] tests and fix for accuracy --- gensim/models/keyedvectors.py | 4 +- gensim/models/word2vec.py | 4 +- gensim/test/test_data/questions-words.txt | 19558 ++++++++++++++++++++ gensim/test/test_word2vec.py | 8 +- 4 files changed, 19569 insertions(+), 5 deletions(-) create mode 100644 gensim/test/test_data/questions-words.txt diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index bd15a0a404..1f02436b67 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -390,7 +390,7 @@ def log_accuracy(section): (section['section'], 100.0 * correct / (correct + incorrect), correct, correct + incorrect)) - def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, case_insensitive=True): + def accuracy(self, questions, restrict_vocab=30000, case_insensitive=True): """ Compute accuracy of the model. `questions` is a filename where lines are 4-tuples of words, split into sections by ": SECTION NAME" lines. @@ -445,7 +445,7 @@ def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, c ignore = set([a, b, c]) # input words to be ignored predicted = None # find the most likely prediction, ignoring OOV words and input words - sims = most_similar(self, positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) + sims = self.most_similar(positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) self.vocab = original_vocab for index in matutils.argsort(sims, reverse=True): predicted = self.index2word[index].upper() if case_insensitive else self.index2word[index] diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 1744753dc6..9d01ac220a 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1305,8 +1305,8 @@ def estimate_memory(self, vocab_size=None, report=None): def log_accuracy(section): return KeyedVectors.log_accuracy(section) - def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, case_insensitive=True): - return self.kv.accuracy(questions, restrict_vocab, most_similar, case_insensitive) + def accuracy(self, questions, restrict_vocab=30000, case_insensitive=True): + return self.kv.accuracy(questions, restrict_vocab, case_insensitive) def __str__(self): return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.kv.index2word), self.vector_size, self.alpha) diff --git a/gensim/test/test_data/questions-words.txt b/gensim/test/test_data/questions-words.txt new file mode 100644 index 0000000000..bd2963b2e9 --- /dev/null +++ b/gensim/test/test_data/questions-words.txt @@ -0,0 +1,19558 @@ +: capital-common-countries +Athens Greece Baghdad Iraq +Athens Greece Bangkok Thailand +Athens Greece Beijing China +Athens Greece Berlin Germany +Athens Greece Bern Switzerland +Athens Greece Cairo Egypt +Athens Greece Canberra Australia +Athens Greece Hanoi Vietnam +Athens Greece Havana Cuba +Athens Greece Helsinki Finland +Athens Greece Islamabad Pakistan +Athens Greece Kabul Afghanistan +Athens Greece London England +Athens Greece Madrid Spain +Athens Greece Moscow Russia +Athens Greece Oslo Norway +Athens Greece Ottawa Canada +Athens Greece Paris France +Athens Greece Rome Italy +Athens Greece Stockholm Sweden +Athens Greece Tehran Iran +Athens Greece Tokyo Japan +Baghdad Iraq Bangkok Thailand +Baghdad Iraq Beijing China +Baghdad Iraq Berlin Germany +Baghdad Iraq Bern Switzerland +Baghdad Iraq Cairo Egypt +Baghdad Iraq Canberra Australia +Baghdad Iraq Hanoi Vietnam +Baghdad Iraq Havana Cuba +Baghdad Iraq Helsinki Finland +Baghdad Iraq Islamabad Pakistan +Baghdad Iraq Kabul Afghanistan +Baghdad Iraq London England +Baghdad Iraq Madrid Spain +Baghdad Iraq Moscow Russia +Baghdad Iraq Oslo Norway +Baghdad Iraq Ottawa Canada +Baghdad Iraq Paris France +Baghdad Iraq Rome Italy +Baghdad Iraq Stockholm Sweden +Baghdad Iraq Tehran Iran +Baghdad Iraq Tokyo Japan +Baghdad Iraq Athens Greece +Bangkok Thailand Beijing China +Bangkok Thailand Berlin Germany +Bangkok Thailand Bern Switzerland +Bangkok Thailand Cairo Egypt +Bangkok Thailand Canberra Australia +Bangkok Thailand Hanoi Vietnam +Bangkok Thailand Havana Cuba +Bangkok Thailand Helsinki Finland +Bangkok Thailand Islamabad Pakistan +Bangkok Thailand Kabul Afghanistan +Bangkok Thailand London England +Bangkok Thailand Madrid Spain +Bangkok Thailand Moscow Russia +Bangkok Thailand Oslo Norway +Bangkok Thailand Ottawa Canada +Bangkok Thailand Paris France +Bangkok Thailand Rome Italy +Bangkok Thailand Stockholm Sweden +Bangkok Thailand Tehran Iran +Bangkok Thailand Tokyo Japan +Bangkok Thailand Athens Greece +Bangkok Thailand Baghdad Iraq +Beijing China Berlin Germany +Beijing China Bern Switzerland +Beijing China Cairo Egypt +Beijing China Canberra Australia +Beijing China Hanoi Vietnam +Beijing China Havana Cuba +Beijing China Helsinki Finland +Beijing China Islamabad Pakistan +Beijing China Kabul Afghanistan +Beijing China London England +Beijing China Madrid Spain +Beijing China Moscow Russia +Beijing China Oslo Norway +Beijing China Ottawa Canada +Beijing China Paris France +Beijing China Rome Italy +Beijing China Stockholm Sweden +Beijing China Tehran Iran +Beijing China Tokyo Japan +Beijing China Athens Greece +Beijing China Baghdad Iraq +Beijing China Bangkok Thailand +Berlin Germany Bern Switzerland +Berlin Germany Cairo Egypt +Berlin Germany Canberra Australia +Berlin Germany Hanoi Vietnam +Berlin Germany Havana Cuba +Berlin Germany Helsinki Finland +Berlin Germany Islamabad Pakistan +Berlin Germany Kabul Afghanistan +Berlin Germany London England +Berlin Germany Madrid Spain +Berlin Germany Moscow Russia +Berlin Germany Oslo Norway +Berlin Germany Ottawa Canada +Berlin Germany Paris France +Berlin Germany Rome Italy +Berlin Germany Stockholm Sweden +Berlin Germany Tehran Iran +Berlin Germany Tokyo Japan +Berlin Germany Athens Greece +Berlin Germany Baghdad Iraq +Berlin Germany Bangkok Thailand +Berlin Germany Beijing China +Bern Switzerland Cairo Egypt +Bern Switzerland Canberra Australia +Bern Switzerland Hanoi Vietnam +Bern Switzerland Havana Cuba +Bern Switzerland Helsinki Finland +Bern Switzerland Islamabad Pakistan +Bern Switzerland Kabul Afghanistan +Bern Switzerland London England +Bern Switzerland Madrid Spain +Bern Switzerland Moscow Russia +Bern Switzerland Oslo Norway +Bern Switzerland Ottawa Canada +Bern Switzerland Paris France +Bern Switzerland Rome Italy +Bern Switzerland Stockholm Sweden +Bern Switzerland Tehran Iran +Bern Switzerland Tokyo Japan +Bern Switzerland Athens Greece +Bern Switzerland Baghdad Iraq +Bern Switzerland Bangkok Thailand +Bern Switzerland Beijing China +Bern Switzerland Berlin Germany +Cairo Egypt Canberra Australia +Cairo Egypt Hanoi Vietnam +Cairo Egypt Havana Cuba +Cairo Egypt Helsinki Finland +Cairo Egypt Islamabad Pakistan +Cairo Egypt Kabul Afghanistan +Cairo Egypt London England +Cairo Egypt Madrid Spain +Cairo Egypt Moscow Russia +Cairo Egypt Oslo Norway +Cairo Egypt Ottawa Canada +Cairo Egypt Paris France +Cairo Egypt Rome Italy +Cairo Egypt Stockholm Sweden +Cairo Egypt Tehran Iran +Cairo Egypt Tokyo Japan +Cairo Egypt Athens Greece +Cairo Egypt Baghdad Iraq +Cairo Egypt Bangkok Thailand +Cairo Egypt Beijing China +Cairo Egypt Berlin Germany +Cairo Egypt Bern Switzerland +Canberra Australia Hanoi Vietnam +Canberra Australia Havana Cuba +Canberra Australia Helsinki Finland +Canberra Australia Islamabad Pakistan +Canberra Australia Kabul Afghanistan +Canberra Australia London England +Canberra Australia Madrid Spain +Canberra Australia Moscow Russia +Canberra Australia Oslo Norway +Canberra Australia Ottawa Canada +Canberra Australia Paris France +Canberra Australia Rome Italy +Canberra Australia Stockholm Sweden +Canberra Australia Tehran Iran +Canberra Australia Tokyo Japan +Canberra Australia Athens Greece +Canberra Australia Baghdad Iraq +Canberra Australia Bangkok Thailand +Canberra Australia Beijing China +Canberra Australia Berlin Germany +Canberra Australia Bern Switzerland +Canberra Australia Cairo Egypt +Hanoi Vietnam Havana Cuba +Hanoi Vietnam Helsinki Finland +Hanoi Vietnam Islamabad Pakistan +Hanoi Vietnam Kabul Afghanistan +Hanoi Vietnam London England +Hanoi Vietnam Madrid Spain +Hanoi Vietnam Moscow Russia +Hanoi Vietnam Oslo Norway +Hanoi Vietnam Ottawa Canada +Hanoi Vietnam Paris France +Hanoi Vietnam Rome Italy +Hanoi Vietnam Stockholm Sweden +Hanoi Vietnam Tehran Iran +Hanoi Vietnam Tokyo Japan +Hanoi Vietnam Athens Greece +Hanoi Vietnam Baghdad Iraq +Hanoi Vietnam Bangkok Thailand +Hanoi Vietnam Beijing China +Hanoi Vietnam Berlin Germany +Hanoi Vietnam Bern Switzerland +Hanoi Vietnam Cairo Egypt +Hanoi Vietnam Canberra Australia +Havana Cuba Helsinki Finland +Havana Cuba Islamabad Pakistan +Havana Cuba Kabul Afghanistan +Havana Cuba London England +Havana Cuba Madrid Spain +Havana Cuba Moscow Russia +Havana Cuba Oslo Norway +Havana Cuba Ottawa Canada +Havana Cuba Paris France +Havana Cuba Rome Italy +Havana Cuba Stockholm Sweden +Havana Cuba Tehran Iran +Havana Cuba Tokyo Japan +Havana Cuba Athens Greece +Havana Cuba Baghdad Iraq +Havana Cuba Bangkok Thailand +Havana Cuba Beijing China +Havana Cuba Berlin Germany +Havana Cuba Bern Switzerland +Havana Cuba Cairo Egypt +Havana Cuba Canberra Australia +Havana Cuba Hanoi Vietnam +Helsinki Finland Islamabad Pakistan +Helsinki Finland Kabul Afghanistan +Helsinki Finland London England +Helsinki Finland Madrid Spain +Helsinki Finland Moscow Russia +Helsinki Finland Oslo Norway +Helsinki Finland Ottawa Canada +Helsinki Finland Paris France +Helsinki Finland Rome Italy +Helsinki Finland Stockholm Sweden +Helsinki Finland Tehran Iran +Helsinki Finland Tokyo Japan +Helsinki Finland Athens Greece +Helsinki Finland Baghdad Iraq +Helsinki Finland Bangkok Thailand +Helsinki Finland Beijing China +Helsinki Finland Berlin Germany +Helsinki Finland Bern Switzerland +Helsinki Finland Cairo Egypt +Helsinki Finland Canberra Australia +Helsinki Finland Hanoi Vietnam +Helsinki Finland Havana Cuba +Islamabad Pakistan Kabul Afghanistan +Islamabad Pakistan London England +Islamabad Pakistan Madrid Spain +Islamabad Pakistan Moscow Russia +Islamabad Pakistan Oslo Norway +Islamabad Pakistan Ottawa Canada +Islamabad Pakistan Paris France +Islamabad Pakistan Rome Italy +Islamabad Pakistan Stockholm Sweden +Islamabad Pakistan Tehran Iran +Islamabad Pakistan Tokyo Japan +Islamabad Pakistan Athens Greece +Islamabad Pakistan Baghdad Iraq +Islamabad Pakistan Bangkok Thailand +Islamabad Pakistan Beijing China +Islamabad Pakistan Berlin Germany +Islamabad Pakistan Bern Switzerland +Islamabad Pakistan Cairo Egypt +Islamabad Pakistan Canberra Australia +Islamabad Pakistan Hanoi Vietnam +Islamabad Pakistan Havana Cuba +Islamabad Pakistan Helsinki Finland +Kabul Afghanistan London England +Kabul Afghanistan Madrid Spain +Kabul Afghanistan Moscow Russia +Kabul Afghanistan Oslo Norway +Kabul Afghanistan Ottawa Canada +Kabul Afghanistan Paris France +Kabul Afghanistan Rome Italy +Kabul Afghanistan Stockholm Sweden +Kabul Afghanistan Tehran Iran +Kabul Afghanistan Tokyo Japan +Kabul Afghanistan Athens Greece +Kabul Afghanistan Baghdad Iraq +Kabul Afghanistan Bangkok Thailand +Kabul Afghanistan Beijing China +Kabul Afghanistan Berlin Germany +Kabul Afghanistan Bern Switzerland +Kabul Afghanistan Cairo Egypt +Kabul Afghanistan Canberra Australia +Kabul Afghanistan Hanoi Vietnam +Kabul Afghanistan Havana Cuba +Kabul Afghanistan Helsinki Finland +Kabul Afghanistan Islamabad Pakistan +London England Madrid Spain +London England Moscow Russia +London England Oslo Norway +London England Ottawa Canada +London England Paris France +London England Rome Italy +London England Stockholm Sweden +London England Tehran Iran +London England Tokyo Japan +London England Athens Greece +London England Baghdad Iraq +London England Bangkok Thailand +London England Beijing China +London England Berlin Germany +London England Bern Switzerland +London England Cairo Egypt +London England Canberra Australia +London England Hanoi Vietnam +London England Havana Cuba +London England Helsinki Finland +London England Islamabad Pakistan +London England Kabul Afghanistan +Madrid Spain Moscow Russia +Madrid Spain Oslo Norway +Madrid Spain Ottawa Canada +Madrid Spain Paris France +Madrid Spain Rome Italy +Madrid Spain Stockholm Sweden +Madrid Spain Tehran Iran +Madrid Spain Tokyo Japan +Madrid Spain Athens Greece +Madrid Spain Baghdad Iraq +Madrid Spain Bangkok Thailand +Madrid Spain Beijing China +Madrid Spain Berlin Germany +Madrid Spain Bern Switzerland +Madrid Spain Cairo Egypt +Madrid Spain Canberra Australia +Madrid Spain Hanoi Vietnam +Madrid Spain Havana Cuba +Madrid Spain Helsinki Finland +Madrid Spain Islamabad Pakistan +Madrid Spain Kabul Afghanistan +Madrid Spain London England +Moscow Russia Oslo Norway +Moscow Russia Ottawa Canada +Moscow Russia Paris France +Moscow Russia Rome Italy +Moscow Russia Stockholm Sweden +Moscow Russia Tehran Iran +Moscow Russia Tokyo Japan +Moscow Russia Athens Greece +Moscow Russia Baghdad Iraq +Moscow Russia Bangkok Thailand +Moscow Russia Beijing China +Moscow Russia Berlin Germany +Moscow Russia Bern Switzerland +Moscow Russia Cairo Egypt +Moscow Russia Canberra Australia +Moscow Russia Hanoi Vietnam +Moscow Russia Havana Cuba +Moscow Russia Helsinki Finland +Moscow Russia Islamabad Pakistan +Moscow Russia Kabul Afghanistan +Moscow Russia London England +Moscow Russia Madrid Spain +Oslo Norway Ottawa Canada +Oslo Norway Paris France +Oslo Norway Rome Italy +Oslo Norway Stockholm Sweden +Oslo Norway Tehran Iran +Oslo Norway Tokyo Japan +Oslo Norway Athens Greece +Oslo Norway Baghdad Iraq +Oslo Norway Bangkok Thailand +Oslo Norway Beijing China +Oslo Norway Berlin Germany +Oslo Norway Bern Switzerland +Oslo Norway Cairo Egypt +Oslo Norway Canberra Australia +Oslo Norway Hanoi Vietnam +Oslo Norway Havana Cuba +Oslo Norway Helsinki Finland +Oslo Norway Islamabad Pakistan +Oslo Norway Kabul Afghanistan +Oslo Norway London England +Oslo Norway Madrid Spain +Oslo Norway Moscow Russia +Ottawa Canada Paris France +Ottawa Canada Rome Italy +Ottawa Canada Stockholm Sweden +Ottawa Canada Tehran Iran +Ottawa Canada Tokyo Japan +Ottawa Canada Athens Greece +Ottawa Canada Baghdad Iraq +Ottawa Canada Bangkok Thailand +Ottawa Canada Beijing China +Ottawa Canada Berlin Germany +Ottawa Canada Bern Switzerland +Ottawa Canada Cairo Egypt +Ottawa Canada Canberra Australia +Ottawa Canada Hanoi Vietnam +Ottawa Canada Havana Cuba +Ottawa Canada Helsinki Finland +Ottawa Canada Islamabad Pakistan +Ottawa Canada Kabul Afghanistan +Ottawa Canada London England +Ottawa Canada Madrid Spain +Ottawa Canada Moscow Russia +Ottawa Canada Oslo Norway +Paris France Rome Italy +Paris France Stockholm Sweden +Paris France Tehran Iran +Paris France Tokyo Japan +Paris France Athens Greece +Paris France Baghdad Iraq +Paris France Bangkok Thailand +Paris France Beijing China +Paris France Berlin Germany +Paris France Bern Switzerland +Paris France Cairo Egypt +Paris France Canberra Australia +Paris France Hanoi Vietnam +Paris France Havana Cuba +Paris France Helsinki Finland +Paris France Islamabad Pakistan +Paris France Kabul Afghanistan +Paris France London England +Paris France Madrid Spain +Paris France Moscow Russia +Paris France Oslo Norway +Paris France Ottawa Canada +Rome Italy Stockholm Sweden +Rome Italy Tehran Iran +Rome Italy Tokyo Japan +Rome Italy Athens Greece +Rome Italy Baghdad Iraq +Rome Italy Bangkok Thailand +Rome Italy Beijing China +Rome Italy Berlin Germany +Rome Italy Bern Switzerland +Rome Italy Cairo Egypt +Rome Italy Canberra Australia +Rome Italy Hanoi Vietnam +Rome Italy Havana Cuba +Rome Italy Helsinki Finland +Rome Italy Islamabad Pakistan +Rome Italy Kabul Afghanistan +Rome Italy London England +Rome Italy Madrid Spain +Rome Italy Moscow Russia +Rome Italy Oslo Norway +Rome Italy Ottawa Canada +Rome Italy Paris France +Stockholm Sweden Tehran Iran +Stockholm Sweden Tokyo Japan +Stockholm Sweden Athens Greece +Stockholm Sweden Baghdad Iraq +Stockholm Sweden Bangkok Thailand +Stockholm Sweden Beijing China +Stockholm Sweden Berlin Germany +Stockholm Sweden Bern Switzerland +Stockholm Sweden Cairo Egypt +Stockholm Sweden Canberra Australia +Stockholm Sweden Hanoi Vietnam +Stockholm Sweden Havana Cuba +Stockholm Sweden Helsinki Finland +Stockholm Sweden Islamabad Pakistan +Stockholm Sweden Kabul Afghanistan +Stockholm Sweden London England +Stockholm Sweden Madrid Spain +Stockholm Sweden Moscow Russia +Stockholm Sweden Oslo Norway +Stockholm Sweden Ottawa Canada +Stockholm Sweden Paris France +Stockholm Sweden Rome Italy +Tehran Iran Tokyo Japan +Tehran Iran Athens Greece +Tehran Iran Baghdad Iraq +Tehran Iran Bangkok Thailand +Tehran Iran Beijing China +Tehran Iran Berlin Germany +Tehran Iran Bern Switzerland +Tehran Iran Cairo Egypt +Tehran Iran Canberra Australia +Tehran Iran Hanoi Vietnam +Tehran Iran Havana Cuba +Tehran Iran Helsinki Finland +Tehran Iran Islamabad Pakistan +Tehran Iran Kabul Afghanistan +Tehran Iran London England +Tehran Iran Madrid Spain +Tehran Iran Moscow Russia +Tehran Iran Oslo Norway +Tehran Iran Ottawa Canada +Tehran Iran Paris France +Tehran Iran Rome Italy +Tehran Iran Stockholm Sweden +Tokyo Japan Athens Greece +Tokyo Japan Baghdad Iraq +Tokyo Japan Bangkok Thailand +Tokyo Japan Beijing China +Tokyo Japan Berlin Germany +Tokyo Japan Bern Switzerland +Tokyo Japan Cairo Egypt +Tokyo Japan Canberra Australia +Tokyo Japan Hanoi Vietnam +Tokyo Japan Havana Cuba +Tokyo Japan Helsinki Finland +Tokyo Japan Islamabad Pakistan +Tokyo Japan Kabul Afghanistan +Tokyo Japan London England +Tokyo Japan Madrid Spain +Tokyo Japan Moscow Russia +Tokyo Japan Oslo Norway +Tokyo Japan Ottawa Canada +Tokyo Japan Paris France +Tokyo Japan Rome Italy +Tokyo Japan Stockholm Sweden +Tokyo Japan Tehran Iran +: capital-world +Abuja Nigeria Accra Ghana +Abuja Nigeria Algiers Algeria +Abuja Nigeria Amman Jordan +Abuja Nigeria Ankara Turkey +Abuja Nigeria Antananarivo Madagascar +Abuja Nigeria Apia Samoa +Abuja Nigeria Ashgabat Turkmenistan +Abuja Nigeria Asmara Eritrea +Abuja Nigeria Astana Kazakhstan +Abuja Nigeria Athens Greece +Abuja Nigeria Baghdad Iraq +Abuja Nigeria Baku Azerbaijan +Abuja Nigeria Bamako Mali +Abuja Nigeria Bangkok Thailand +Abuja Nigeria Banjul Gambia +Abuja Nigeria Beijing China +Abuja Nigeria Beirut Lebanon +Abuja Nigeria Belgrade Serbia +Abuja Nigeria Belmopan Belize +Abuja Nigeria Berlin Germany +Abuja Nigeria Bern Switzerland +Abuja Nigeria Bishkek Kyrgyzstan +Abuja Nigeria Bratislava Slovakia +Abuja Nigeria Brussels Belgium +Abuja Nigeria Bucharest Romania +Abuja Nigeria Budapest Hungary +Abuja Nigeria Bujumbura Burundi +Abuja Nigeria Cairo Egypt +Abuja Nigeria Canberra Australia +Abuja Nigeria Caracas Venezuela +Abuja Nigeria Chisinau Moldova +Abuja Nigeria Conakry Guinea +Abuja Nigeria Copenhagen Denmark +Abuja Nigeria Dakar Senegal +Abuja Nigeria Damascus Syria +Abuja Nigeria Dhaka Bangladesh +Abuja Nigeria Doha Qatar +Abuja Nigeria Dublin Ireland +Abuja Nigeria Dushanbe Tajikistan +Accra Ghana Algiers Algeria +Accra Ghana Amman Jordan +Accra Ghana Ankara Turkey +Accra Ghana Antananarivo Madagascar +Accra Ghana Apia Samoa +Accra Ghana Ashgabat Turkmenistan +Accra Ghana Asmara Eritrea +Accra Ghana Astana Kazakhstan +Accra Ghana Athens Greece +Accra Ghana Baghdad Iraq +Accra Ghana Baku Azerbaijan +Accra Ghana Bamako Mali +Accra Ghana Bangkok Thailand +Accra Ghana Banjul Gambia +Accra Ghana Beijing China +Accra Ghana Beirut Lebanon +Accra Ghana Belgrade Serbia +Accra Ghana Belmopan Belize +Accra Ghana Berlin Germany +Accra Ghana Bern Switzerland +Accra Ghana Bishkek Kyrgyzstan +Accra Ghana Bratislava Slovakia +Accra Ghana Brussels Belgium +Accra Ghana Bucharest Romania +Accra Ghana Budapest Hungary +Accra Ghana Bujumbura Burundi +Accra Ghana Cairo Egypt +Accra Ghana Canberra Australia +Accra Ghana Caracas Venezuela +Accra Ghana Chisinau Moldova +Accra Ghana Conakry Guinea +Accra Ghana Copenhagen Denmark +Accra Ghana Dakar Senegal +Accra Ghana Damascus Syria +Accra Ghana Dhaka Bangladesh +Accra Ghana Doha Qatar +Accra Ghana Dublin Ireland +Accra Ghana Dushanbe Tajikistan +Accra Ghana Funafuti Tuvalu +Algiers Algeria Amman Jordan +Algiers Algeria Ankara Turkey +Algiers Algeria Antananarivo Madagascar +Algiers Algeria Apia Samoa +Algiers Algeria Ashgabat Turkmenistan +Algiers Algeria Asmara Eritrea +Algiers Algeria Astana Kazakhstan +Algiers Algeria Athens Greece +Algiers Algeria Baghdad Iraq +Algiers Algeria Baku Azerbaijan +Algiers Algeria Bamako Mali +Algiers Algeria Bangkok Thailand +Algiers Algeria Banjul Gambia +Algiers Algeria Beijing China +Algiers Algeria Beirut Lebanon +Algiers Algeria Belgrade Serbia +Algiers Algeria Belmopan Belize +Algiers Algeria Berlin Germany +Algiers Algeria Bern Switzerland +Algiers Algeria Bishkek Kyrgyzstan +Algiers Algeria Bratislava Slovakia +Algiers Algeria Brussels Belgium +Algiers Algeria Bucharest Romania +Algiers Algeria Budapest Hungary +Algiers Algeria Bujumbura Burundi +Algiers Algeria Cairo Egypt +Algiers Algeria Canberra Australia +Algiers Algeria Caracas Venezuela +Algiers Algeria Chisinau Moldova +Algiers Algeria Conakry Guinea +Algiers Algeria Copenhagen Denmark +Algiers Algeria Dakar Senegal +Algiers Algeria Damascus Syria +Algiers Algeria Dhaka Bangladesh +Algiers Algeria Doha Qatar +Algiers Algeria Dublin Ireland +Algiers Algeria Dushanbe Tajikistan +Algiers Algeria Funafuti Tuvalu +Algiers Algeria Gaborone Botswana +Amman Jordan Ankara Turkey +Amman Jordan Antananarivo Madagascar +Amman Jordan Apia Samoa +Amman Jordan Ashgabat Turkmenistan +Amman Jordan Asmara Eritrea +Amman Jordan Astana Kazakhstan +Amman Jordan Athens Greece +Amman Jordan Baghdad Iraq +Amman Jordan Baku Azerbaijan +Amman Jordan Bamako Mali +Amman Jordan Bangkok Thailand +Amman Jordan Banjul Gambia +Amman Jordan Beijing China +Amman Jordan Beirut Lebanon +Amman Jordan Belgrade Serbia +Amman Jordan Belmopan Belize +Amman Jordan Berlin Germany +Amman Jordan Bern Switzerland +Amman Jordan Bishkek Kyrgyzstan +Amman Jordan Bratislava Slovakia +Amman Jordan Brussels Belgium +Amman Jordan Bucharest Romania +Amman Jordan Budapest Hungary +Amman Jordan Bujumbura Burundi +Amman Jordan Cairo Egypt +Amman Jordan Canberra Australia +Amman Jordan Caracas Venezuela +Amman Jordan Chisinau Moldova +Amman Jordan Conakry Guinea +Amman Jordan Copenhagen Denmark +Amman Jordan Dakar Senegal +Amman Jordan Damascus Syria +Amman Jordan Dhaka Bangladesh +Amman Jordan Doha Qatar +Amman Jordan Dublin Ireland +Amman Jordan Dushanbe Tajikistan +Amman Jordan Funafuti Tuvalu +Amman Jordan Gaborone Botswana +Amman Jordan Georgetown Guyana +Ankara Turkey Antananarivo Madagascar +Ankara Turkey Apia Samoa +Ankara Turkey Ashgabat Turkmenistan +Ankara Turkey Asmara Eritrea +Ankara Turkey Astana Kazakhstan +Ankara Turkey Athens Greece +Ankara Turkey Baghdad Iraq +Ankara Turkey Baku Azerbaijan +Ankara Turkey Bamako Mali +Ankara Turkey Bangkok Thailand +Ankara Turkey Banjul Gambia +Ankara Turkey Beijing China +Ankara Turkey Beirut Lebanon +Ankara Turkey Belgrade Serbia +Ankara Turkey Belmopan Belize +Ankara Turkey Berlin Germany +Ankara Turkey Bern Switzerland +Ankara Turkey Bishkek Kyrgyzstan +Ankara Turkey Bratislava Slovakia +Ankara Turkey Brussels Belgium +Ankara Turkey Bucharest Romania +Ankara Turkey Budapest Hungary +Ankara Turkey Bujumbura Burundi +Ankara Turkey Cairo Egypt +Ankara Turkey Canberra Australia +Ankara Turkey Caracas Venezuela +Ankara Turkey Chisinau Moldova +Ankara Turkey Conakry Guinea +Ankara Turkey Copenhagen Denmark +Ankara Turkey Dakar Senegal +Ankara Turkey Damascus Syria +Ankara Turkey Dhaka Bangladesh +Ankara Turkey Doha Qatar +Ankara Turkey Dublin Ireland +Ankara Turkey Dushanbe Tajikistan +Ankara Turkey Funafuti Tuvalu +Ankara Turkey Gaborone Botswana +Ankara Turkey Georgetown Guyana +Ankara Turkey Hanoi Vietnam +Antananarivo Madagascar Apia Samoa +Antananarivo Madagascar Ashgabat Turkmenistan +Antananarivo Madagascar Asmara Eritrea +Antananarivo Madagascar Astana Kazakhstan +Antananarivo Madagascar Athens Greece +Antananarivo Madagascar Baghdad Iraq +Antananarivo Madagascar Baku Azerbaijan +Antananarivo Madagascar Bamako Mali +Antananarivo Madagascar Bangkok Thailand +Antananarivo Madagascar Banjul Gambia +Antananarivo Madagascar Beijing China +Antananarivo Madagascar Beirut Lebanon +Antananarivo Madagascar Belgrade Serbia +Antananarivo Madagascar Belmopan Belize +Antananarivo Madagascar Berlin Germany +Antananarivo Madagascar Bern Switzerland +Antananarivo Madagascar Bishkek Kyrgyzstan +Antananarivo Madagascar Bratislava Slovakia +Antananarivo Madagascar Brussels Belgium +Antananarivo Madagascar Bucharest Romania +Antananarivo Madagascar Budapest Hungary +Antananarivo Madagascar Bujumbura Burundi +Antananarivo Madagascar Cairo Egypt +Antananarivo Madagascar Canberra Australia +Antananarivo Madagascar Caracas Venezuela +Antananarivo Madagascar Chisinau Moldova +Antananarivo Madagascar Conakry Guinea +Antananarivo Madagascar Copenhagen Denmark +Antananarivo Madagascar Dakar Senegal +Antananarivo Madagascar Damascus Syria +Antananarivo Madagascar Dhaka Bangladesh +Antananarivo Madagascar Doha Qatar +Antananarivo Madagascar Dublin Ireland +Antananarivo Madagascar Dushanbe Tajikistan +Antananarivo Madagascar Funafuti Tuvalu +Antananarivo Madagascar Gaborone Botswana +Antananarivo Madagascar Georgetown Guyana +Antananarivo Madagascar Hanoi Vietnam +Antananarivo Madagascar Harare Zimbabwe +Apia Samoa Ashgabat Turkmenistan +Apia Samoa Asmara Eritrea +Apia Samoa Astana Kazakhstan +Apia Samoa Athens Greece +Apia Samoa Baghdad Iraq +Apia Samoa Baku Azerbaijan +Apia Samoa Bamako Mali +Apia Samoa Bangkok Thailand +Apia Samoa Banjul Gambia +Apia Samoa Beijing China +Apia Samoa Beirut Lebanon +Apia Samoa Belgrade Serbia +Apia Samoa Belmopan Belize +Apia Samoa Berlin Germany +Apia Samoa Bern Switzerland +Apia Samoa Bishkek Kyrgyzstan +Apia Samoa Bratislava Slovakia +Apia Samoa Brussels Belgium +Apia Samoa Bucharest Romania +Apia Samoa Budapest Hungary +Apia Samoa Bujumbura Burundi +Apia Samoa Cairo Egypt +Apia Samoa Canberra Australia +Apia Samoa Caracas Venezuela +Apia Samoa Chisinau Moldova +Apia Samoa Conakry Guinea +Apia Samoa Copenhagen Denmark +Apia Samoa Dakar Senegal +Apia Samoa Damascus Syria +Apia Samoa Dhaka Bangladesh +Apia Samoa Doha Qatar +Apia Samoa Dublin Ireland +Apia Samoa Dushanbe Tajikistan +Apia Samoa Funafuti Tuvalu +Apia Samoa Gaborone Botswana +Apia Samoa Georgetown Guyana +Apia Samoa Hanoi Vietnam +Apia Samoa Harare Zimbabwe +Apia Samoa Havana Cuba +Ashgabat Turkmenistan Asmara Eritrea +Ashgabat Turkmenistan Astana Kazakhstan +Ashgabat Turkmenistan Athens Greece +Ashgabat Turkmenistan Baghdad Iraq +Ashgabat Turkmenistan Baku Azerbaijan +Ashgabat Turkmenistan Bamako Mali +Ashgabat Turkmenistan Bangkok Thailand +Ashgabat Turkmenistan Banjul Gambia +Ashgabat Turkmenistan Beijing China +Ashgabat Turkmenistan Beirut Lebanon +Ashgabat Turkmenistan Belgrade Serbia +Ashgabat Turkmenistan Belmopan Belize +Ashgabat Turkmenistan Berlin Germany +Ashgabat Turkmenistan Bern Switzerland +Ashgabat Turkmenistan Bishkek Kyrgyzstan +Ashgabat Turkmenistan Bratislava Slovakia +Ashgabat Turkmenistan Brussels Belgium +Ashgabat Turkmenistan Bucharest Romania +Ashgabat Turkmenistan Budapest Hungary +Ashgabat Turkmenistan Bujumbura Burundi +Ashgabat Turkmenistan Cairo Egypt +Ashgabat Turkmenistan Canberra Australia +Ashgabat Turkmenistan Caracas Venezuela +Ashgabat Turkmenistan Chisinau Moldova +Ashgabat Turkmenistan Conakry Guinea +Ashgabat Turkmenistan Copenhagen Denmark +Ashgabat Turkmenistan Dakar Senegal +Ashgabat Turkmenistan Damascus Syria +Ashgabat Turkmenistan Dhaka Bangladesh +Ashgabat Turkmenistan Doha Qatar +Ashgabat Turkmenistan Dublin Ireland +Ashgabat Turkmenistan Dushanbe Tajikistan +Ashgabat Turkmenistan Funafuti Tuvalu +Ashgabat Turkmenistan Gaborone Botswana +Ashgabat Turkmenistan Georgetown Guyana +Ashgabat Turkmenistan Hanoi Vietnam +Ashgabat Turkmenistan Harare Zimbabwe +Ashgabat Turkmenistan Havana Cuba +Ashgabat Turkmenistan Helsinki Finland +Asmara Eritrea Astana Kazakhstan +Asmara Eritrea Athens Greece +Asmara Eritrea Baghdad Iraq +Asmara Eritrea Baku Azerbaijan +Asmara Eritrea Bamako Mali +Asmara Eritrea Bangkok Thailand +Asmara Eritrea Banjul Gambia +Asmara Eritrea Beijing China +Asmara Eritrea Beirut Lebanon +Asmara Eritrea Belgrade Serbia +Asmara Eritrea Belmopan Belize +Asmara Eritrea Berlin Germany +Asmara Eritrea Bern Switzerland +Asmara Eritrea Bishkek Kyrgyzstan +Asmara Eritrea Bratislava Slovakia +Asmara Eritrea Brussels Belgium +Asmara Eritrea Bucharest Romania +Asmara Eritrea Budapest Hungary +Asmara Eritrea Bujumbura Burundi +Asmara Eritrea Cairo Egypt +Asmara Eritrea Canberra Australia +Asmara Eritrea Caracas Venezuela +Asmara Eritrea Chisinau Moldova +Asmara Eritrea Conakry Guinea +Asmara Eritrea Copenhagen Denmark +Asmara Eritrea Dakar Senegal +Asmara Eritrea Damascus Syria +Asmara Eritrea Dhaka Bangladesh +Asmara Eritrea Doha Qatar +Asmara Eritrea Dublin Ireland +Asmara Eritrea Dushanbe Tajikistan +Asmara Eritrea Funafuti Tuvalu +Asmara Eritrea Gaborone Botswana +Asmara Eritrea Georgetown Guyana +Asmara Eritrea Hanoi Vietnam +Asmara Eritrea Harare Zimbabwe +Asmara Eritrea Havana Cuba +Asmara Eritrea Helsinki Finland +Asmara Eritrea Islamabad Pakistan +Astana Kazakhstan Athens Greece +Astana Kazakhstan Baghdad Iraq +Astana Kazakhstan Baku Azerbaijan +Astana Kazakhstan Bamako Mali +Astana Kazakhstan Bangkok Thailand +Astana Kazakhstan Banjul Gambia +Astana Kazakhstan Beijing China +Astana Kazakhstan Beirut Lebanon +Astana Kazakhstan Belgrade Serbia +Astana Kazakhstan Belmopan Belize +Astana Kazakhstan Berlin Germany +Astana Kazakhstan Bern Switzerland +Astana Kazakhstan Bishkek Kyrgyzstan +Astana Kazakhstan Bratislava Slovakia +Astana Kazakhstan Brussels Belgium +Astana Kazakhstan Bucharest Romania +Astana Kazakhstan Budapest Hungary +Astana Kazakhstan Bujumbura Burundi +Astana Kazakhstan Cairo Egypt +Astana Kazakhstan Canberra Australia +Astana Kazakhstan Caracas Venezuela +Astana Kazakhstan Chisinau Moldova +Astana Kazakhstan Conakry Guinea +Astana Kazakhstan Copenhagen Denmark +Astana Kazakhstan Dakar Senegal +Astana Kazakhstan Damascus Syria +Astana Kazakhstan Dhaka Bangladesh +Astana Kazakhstan Doha Qatar +Astana Kazakhstan Dublin Ireland +Astana Kazakhstan Dushanbe Tajikistan +Astana Kazakhstan Funafuti Tuvalu +Astana Kazakhstan Gaborone Botswana +Astana Kazakhstan Georgetown Guyana +Astana Kazakhstan Hanoi Vietnam +Astana Kazakhstan Harare Zimbabwe +Astana Kazakhstan Havana Cuba +Astana Kazakhstan Helsinki Finland +Astana Kazakhstan Islamabad Pakistan +Astana Kazakhstan Jakarta Indonesia +Athens Greece Baghdad Iraq +Athens Greece Baku Azerbaijan +Athens Greece Bamako Mali +Athens Greece Bangkok Thailand +Athens Greece Banjul Gambia +Athens Greece Beijing China +Athens Greece Beirut Lebanon +Athens Greece Belgrade Serbia +Athens Greece Belmopan Belize +Athens Greece Berlin Germany +Athens Greece Bern Switzerland +Athens Greece Bishkek Kyrgyzstan +Athens Greece Bratislava Slovakia +Athens Greece Brussels Belgium +Athens Greece Bucharest Romania +Athens Greece Budapest Hungary +Athens Greece Bujumbura Burundi +Athens Greece Cairo Egypt +Athens Greece Canberra Australia +Athens Greece Caracas Venezuela +Athens Greece Chisinau Moldova +Athens Greece Conakry Guinea +Athens Greece Copenhagen Denmark +Athens Greece Dakar Senegal +Athens Greece Damascus Syria +Athens Greece Dhaka Bangladesh +Athens Greece Doha Qatar +Athens Greece Dublin Ireland +Athens Greece Dushanbe Tajikistan +Athens Greece Funafuti Tuvalu +Athens Greece Gaborone Botswana +Athens Greece Georgetown Guyana +Athens Greece Hanoi Vietnam +Athens Greece Harare Zimbabwe +Athens Greece Havana Cuba +Athens Greece Helsinki Finland +Athens Greece Islamabad Pakistan +Athens Greece Jakarta Indonesia +Athens Greece Kabul Afghanistan +Baghdad Iraq Baku Azerbaijan +Baghdad Iraq Bamako Mali +Baghdad Iraq Bangkok Thailand +Baghdad Iraq Banjul Gambia +Baghdad Iraq Beijing China +Baghdad Iraq Beirut Lebanon +Baghdad Iraq Belgrade Serbia +Baghdad Iraq Belmopan Belize +Baghdad Iraq Berlin Germany +Baghdad Iraq Bern Switzerland +Baghdad Iraq Bishkek Kyrgyzstan +Baghdad Iraq Bratislava Slovakia +Baghdad Iraq Brussels Belgium +Baghdad Iraq Bucharest Romania +Baghdad Iraq Budapest Hungary +Baghdad Iraq Bujumbura Burundi +Baghdad Iraq Cairo Egypt +Baghdad Iraq Canberra Australia +Baghdad Iraq Caracas Venezuela +Baghdad Iraq Chisinau Moldova +Baghdad Iraq Conakry Guinea +Baghdad Iraq Copenhagen Denmark +Baghdad Iraq Dakar Senegal +Baghdad Iraq Damascus Syria +Baghdad Iraq Dhaka Bangladesh +Baghdad Iraq Doha Qatar +Baghdad Iraq Dublin Ireland +Baghdad Iraq Dushanbe Tajikistan +Baghdad Iraq Funafuti Tuvalu +Baghdad Iraq Gaborone Botswana +Baghdad Iraq Georgetown Guyana +Baghdad Iraq Hanoi Vietnam +Baghdad Iraq Harare Zimbabwe +Baghdad Iraq Havana Cuba +Baghdad Iraq Helsinki Finland +Baghdad Iraq Islamabad Pakistan +Baghdad Iraq Jakarta Indonesia +Baghdad Iraq Kabul Afghanistan +Baghdad Iraq Kampala Uganda +Baku Azerbaijan Bamako Mali +Baku Azerbaijan Bangkok Thailand +Baku Azerbaijan Banjul Gambia +Baku Azerbaijan Beijing China +Baku Azerbaijan Beirut Lebanon +Baku Azerbaijan Belgrade Serbia +Baku Azerbaijan Belmopan Belize +Baku Azerbaijan Berlin Germany +Baku Azerbaijan Bern Switzerland +Baku Azerbaijan Bishkek Kyrgyzstan +Baku Azerbaijan Bratislava Slovakia +Baku Azerbaijan Brussels Belgium +Baku Azerbaijan Bucharest Romania +Baku Azerbaijan Budapest Hungary +Baku Azerbaijan Bujumbura Burundi +Baku Azerbaijan Cairo Egypt +Baku Azerbaijan Canberra Australia +Baku Azerbaijan Caracas Venezuela +Baku Azerbaijan Chisinau Moldova +Baku Azerbaijan Conakry Guinea +Baku Azerbaijan Copenhagen Denmark +Baku Azerbaijan Dakar Senegal +Baku Azerbaijan Damascus Syria +Baku Azerbaijan Dhaka Bangladesh +Baku Azerbaijan Doha Qatar +Baku Azerbaijan Dublin Ireland +Baku Azerbaijan Dushanbe Tajikistan +Baku Azerbaijan Funafuti Tuvalu +Baku Azerbaijan Gaborone Botswana +Baku Azerbaijan Georgetown Guyana +Baku Azerbaijan Hanoi Vietnam +Baku Azerbaijan Harare Zimbabwe +Baku Azerbaijan Havana Cuba +Baku Azerbaijan Helsinki Finland +Baku Azerbaijan Islamabad Pakistan +Baku Azerbaijan Jakarta Indonesia +Baku Azerbaijan Kabul Afghanistan +Baku Azerbaijan Kampala Uganda +Baku Azerbaijan Kathmandu Nepal +Bamako Mali Bangkok Thailand +Bamako Mali Banjul Gambia +Bamako Mali Beijing China +Bamako Mali Beirut Lebanon +Bamako Mali Belgrade Serbia +Bamako Mali Belmopan Belize +Bamako Mali Berlin Germany +Bamako Mali Bern Switzerland +Bamako Mali Bishkek Kyrgyzstan +Bamako Mali Bratislava Slovakia +Bamako Mali Brussels Belgium +Bamako Mali Bucharest Romania +Bamako Mali Budapest Hungary +Bamako Mali Bujumbura Burundi +Bamako Mali Cairo Egypt +Bamako Mali Canberra Australia +Bamako Mali Caracas Venezuela +Bamako Mali Chisinau Moldova +Bamako Mali Conakry Guinea +Bamako Mali Copenhagen Denmark +Bamako Mali Dakar Senegal +Bamako Mali Damascus Syria +Bamako Mali Dhaka Bangladesh +Bamako Mali Doha Qatar +Bamako Mali Dublin Ireland +Bamako Mali Dushanbe Tajikistan +Bamako Mali Funafuti Tuvalu +Bamako Mali Gaborone Botswana +Bamako Mali Georgetown Guyana +Bamako Mali Hanoi Vietnam +Bamako Mali Harare Zimbabwe +Bamako Mali Havana Cuba +Bamako Mali Helsinki Finland +Bamako Mali Islamabad Pakistan +Bamako Mali Jakarta Indonesia +Bamako Mali Kabul Afghanistan +Bamako Mali Kampala Uganda +Bamako Mali Kathmandu Nepal +Bamako Mali Khartoum Sudan +Bangkok Thailand Banjul Gambia +Bangkok Thailand Beijing China +Bangkok Thailand Beirut Lebanon +Bangkok Thailand Belgrade Serbia +Bangkok Thailand Belmopan Belize +Bangkok Thailand Berlin Germany +Bangkok Thailand Bern Switzerland +Bangkok Thailand Bishkek Kyrgyzstan +Bangkok Thailand Bratislava Slovakia +Bangkok Thailand Brussels Belgium +Bangkok Thailand Bucharest Romania +Bangkok Thailand Budapest Hungary +Bangkok Thailand Bujumbura Burundi +Bangkok Thailand Cairo Egypt +Bangkok Thailand Canberra Australia +Bangkok Thailand Caracas Venezuela +Bangkok Thailand Chisinau Moldova +Bangkok Thailand Conakry Guinea +Bangkok Thailand Copenhagen Denmark +Bangkok Thailand Dakar Senegal +Bangkok Thailand Damascus Syria +Bangkok Thailand Dhaka Bangladesh +Bangkok Thailand Doha Qatar +Bangkok Thailand Dublin Ireland +Bangkok Thailand Dushanbe Tajikistan +Bangkok Thailand Funafuti Tuvalu +Bangkok Thailand Gaborone Botswana +Bangkok Thailand Georgetown Guyana +Bangkok Thailand Hanoi Vietnam +Bangkok Thailand Harare Zimbabwe +Bangkok Thailand Havana Cuba +Bangkok Thailand Helsinki Finland +Bangkok Thailand Islamabad Pakistan +Bangkok Thailand Jakarta Indonesia +Bangkok Thailand Kabul Afghanistan +Bangkok Thailand Kampala Uganda +Bangkok Thailand Kathmandu Nepal +Bangkok Thailand Khartoum Sudan +Bangkok Thailand Kiev Ukraine +Banjul Gambia Beijing China +Banjul Gambia Beirut Lebanon +Banjul Gambia Belgrade Serbia +Banjul Gambia Belmopan Belize +Banjul Gambia Berlin Germany +Banjul Gambia Bern Switzerland +Banjul Gambia Bishkek Kyrgyzstan +Banjul Gambia Bratislava Slovakia +Banjul Gambia Brussels Belgium +Banjul Gambia Bucharest Romania +Banjul Gambia Budapest Hungary +Banjul Gambia Bujumbura Burundi +Banjul Gambia Cairo Egypt +Banjul Gambia Canberra Australia +Banjul Gambia Caracas Venezuela +Banjul Gambia Chisinau Moldova +Banjul Gambia Conakry Guinea +Banjul Gambia Copenhagen Denmark +Banjul Gambia Dakar Senegal +Banjul Gambia Damascus Syria +Banjul Gambia Dhaka Bangladesh +Banjul Gambia Doha Qatar +Banjul Gambia Dublin Ireland +Banjul Gambia Dushanbe Tajikistan +Banjul Gambia Funafuti Tuvalu +Banjul Gambia Gaborone Botswana +Banjul Gambia Georgetown Guyana +Banjul Gambia Hanoi Vietnam +Banjul Gambia Harare Zimbabwe +Banjul Gambia Havana Cuba +Banjul Gambia Helsinki Finland +Banjul Gambia Islamabad Pakistan +Banjul Gambia Jakarta Indonesia +Banjul Gambia Kabul Afghanistan +Banjul Gambia Kampala Uganda +Banjul Gambia Kathmandu Nepal +Banjul Gambia Khartoum Sudan +Banjul Gambia Kiev Ukraine +Banjul Gambia Kigali Rwanda +Beijing China Beirut Lebanon +Beijing China Belgrade Serbia +Beijing China Belmopan Belize +Beijing China Berlin Germany +Beijing China Bern Switzerland +Beijing China Bishkek Kyrgyzstan +Beijing China Bratislava Slovakia +Beijing China Brussels Belgium +Beijing China Bucharest Romania +Beijing China Budapest Hungary +Beijing China Bujumbura Burundi +Beijing China Cairo Egypt +Beijing China Canberra Australia +Beijing China Caracas Venezuela +Beijing China Chisinau Moldova +Beijing China Conakry Guinea +Beijing China Copenhagen Denmark +Beijing China Dakar Senegal +Beijing China Damascus Syria +Beijing China Dhaka Bangladesh +Beijing China Doha Qatar +Beijing China Dublin Ireland +Beijing China Dushanbe Tajikistan +Beijing China Funafuti Tuvalu +Beijing China Gaborone Botswana +Beijing China Georgetown Guyana +Beijing China Hanoi Vietnam +Beijing China Harare Zimbabwe +Beijing China Havana Cuba +Beijing China Helsinki Finland +Beijing China Islamabad Pakistan +Beijing China Jakarta Indonesia +Beijing China Kabul Afghanistan +Beijing China Kampala Uganda +Beijing China Kathmandu Nepal +Beijing China Khartoum Sudan +Beijing China Kiev Ukraine +Beijing China Kigali Rwanda +Beijing China Kingston Jamaica +Beirut Lebanon Belgrade Serbia +Beirut Lebanon Belmopan Belize +Beirut Lebanon Berlin Germany +Beirut Lebanon Bern Switzerland +Beirut Lebanon Bishkek Kyrgyzstan +Beirut Lebanon Bratislava Slovakia +Beirut Lebanon Brussels Belgium +Beirut Lebanon Bucharest Romania +Beirut Lebanon Budapest Hungary +Beirut Lebanon Bujumbura Burundi +Beirut Lebanon Cairo Egypt +Beirut Lebanon Canberra Australia +Beirut Lebanon Caracas Venezuela +Beirut Lebanon Chisinau Moldova +Beirut Lebanon Conakry Guinea +Beirut Lebanon Copenhagen Denmark +Beirut Lebanon Dakar Senegal +Beirut Lebanon Damascus Syria +Beirut Lebanon Dhaka Bangladesh +Beirut Lebanon Doha Qatar +Beirut Lebanon Dublin Ireland +Beirut Lebanon Dushanbe Tajikistan +Beirut Lebanon Funafuti Tuvalu +Beirut Lebanon Gaborone Botswana +Beirut Lebanon Georgetown Guyana +Beirut Lebanon Hanoi Vietnam +Beirut Lebanon Harare Zimbabwe +Beirut Lebanon Havana Cuba +Beirut Lebanon Helsinki Finland +Beirut Lebanon Islamabad Pakistan +Beirut Lebanon Jakarta Indonesia +Beirut Lebanon Kabul Afghanistan +Beirut Lebanon Kampala Uganda +Beirut Lebanon Kathmandu Nepal +Beirut Lebanon Khartoum Sudan +Beirut Lebanon Kiev Ukraine +Beirut Lebanon Kigali Rwanda +Beirut Lebanon Kingston Jamaica +Beirut Lebanon Libreville Gabon +Belgrade Serbia Belmopan Belize +Belgrade Serbia Berlin Germany +Belgrade Serbia Bern Switzerland +Belgrade Serbia Bishkek Kyrgyzstan +Belgrade Serbia Bratislava Slovakia +Belgrade Serbia Brussels Belgium +Belgrade Serbia Bucharest Romania +Belgrade Serbia Budapest Hungary +Belgrade Serbia Bujumbura Burundi +Belgrade Serbia Cairo Egypt +Belgrade Serbia Canberra Australia +Belgrade Serbia Caracas Venezuela +Belgrade Serbia Chisinau Moldova +Belgrade Serbia Conakry Guinea +Belgrade Serbia Copenhagen Denmark +Belgrade Serbia Dakar Senegal +Belgrade Serbia Damascus Syria +Belgrade Serbia Dhaka Bangladesh +Belgrade Serbia Doha Qatar +Belgrade Serbia Dublin Ireland +Belgrade Serbia Dushanbe Tajikistan +Belgrade Serbia Funafuti Tuvalu +Belgrade Serbia Gaborone Botswana +Belgrade Serbia Georgetown Guyana +Belgrade Serbia Hanoi Vietnam +Belgrade Serbia Harare Zimbabwe +Belgrade Serbia Havana Cuba +Belgrade Serbia Helsinki Finland +Belgrade Serbia Islamabad Pakistan +Belgrade Serbia Jakarta Indonesia +Belgrade Serbia Kabul Afghanistan +Belgrade Serbia Kampala Uganda +Belgrade Serbia Kathmandu Nepal +Belgrade Serbia Khartoum Sudan +Belgrade Serbia Kiev Ukraine +Belgrade Serbia Kigali Rwanda +Belgrade Serbia Kingston Jamaica +Belgrade Serbia Libreville Gabon +Belgrade Serbia Lilongwe Malawi +Belmopan Belize Berlin Germany +Belmopan Belize Bern Switzerland +Belmopan Belize Bishkek Kyrgyzstan +Belmopan Belize Bratislava Slovakia +Belmopan Belize Brussels Belgium +Belmopan Belize Bucharest Romania +Belmopan Belize Budapest Hungary +Belmopan Belize Bujumbura Burundi +Belmopan Belize Cairo Egypt +Belmopan Belize Canberra Australia +Belmopan Belize Caracas Venezuela +Belmopan Belize Chisinau Moldova +Belmopan Belize Conakry Guinea +Belmopan Belize Copenhagen Denmark +Belmopan Belize Dakar Senegal +Belmopan Belize Damascus Syria +Belmopan Belize Dhaka Bangladesh +Belmopan Belize Doha Qatar +Belmopan Belize Dublin Ireland +Belmopan Belize Dushanbe Tajikistan +Belmopan Belize Funafuti Tuvalu +Belmopan Belize Gaborone Botswana +Belmopan Belize Georgetown Guyana +Belmopan Belize Hanoi Vietnam +Belmopan Belize Harare Zimbabwe +Belmopan Belize Havana Cuba +Belmopan Belize Helsinki Finland +Belmopan Belize Islamabad Pakistan +Belmopan Belize Jakarta Indonesia +Belmopan Belize Kabul Afghanistan +Belmopan Belize Kampala Uganda +Belmopan Belize Kathmandu Nepal +Belmopan Belize Khartoum Sudan +Belmopan Belize Kiev Ukraine +Belmopan Belize Kigali Rwanda +Belmopan Belize Kingston Jamaica +Belmopan Belize Libreville Gabon +Belmopan Belize Lilongwe Malawi +Belmopan Belize Lima Peru +Berlin Germany Bern Switzerland +Berlin Germany Bishkek Kyrgyzstan +Berlin Germany Bratislava Slovakia +Berlin Germany Brussels Belgium +Berlin Germany Bucharest Romania +Berlin Germany Budapest Hungary +Berlin Germany Bujumbura Burundi +Berlin Germany Cairo Egypt +Berlin Germany Canberra Australia +Berlin Germany Caracas Venezuela +Berlin Germany Chisinau Moldova +Berlin Germany Conakry Guinea +Berlin Germany Copenhagen Denmark +Berlin Germany Dakar Senegal +Berlin Germany Damascus Syria +Berlin Germany Dhaka Bangladesh +Berlin Germany Doha Qatar +Berlin Germany Dublin Ireland +Berlin Germany Dushanbe Tajikistan +Berlin Germany Funafuti Tuvalu +Berlin Germany Gaborone Botswana +Berlin Germany Georgetown Guyana +Berlin Germany Hanoi Vietnam +Berlin Germany Harare Zimbabwe +Berlin Germany Havana Cuba +Berlin Germany Helsinki Finland +Berlin Germany Islamabad Pakistan +Berlin Germany Jakarta Indonesia +Berlin Germany Kabul Afghanistan +Berlin Germany Kampala Uganda +Berlin Germany Kathmandu Nepal +Berlin Germany Khartoum Sudan +Berlin Germany Kiev Ukraine +Berlin Germany Kigali Rwanda +Berlin Germany Kingston Jamaica +Berlin Germany Libreville Gabon +Berlin Germany Lilongwe Malawi +Berlin Germany Lima Peru +Berlin Germany Lisbon Portugal +Bern Switzerland Bishkek Kyrgyzstan +Bern Switzerland Bratislava Slovakia +Bern Switzerland Brussels Belgium +Bern Switzerland Bucharest Romania +Bern Switzerland Budapest Hungary +Bern Switzerland Bujumbura Burundi +Bern Switzerland Cairo Egypt +Bern Switzerland Canberra Australia +Bern Switzerland Caracas Venezuela +Bern Switzerland Chisinau Moldova +Bern Switzerland Conakry Guinea +Bern Switzerland Copenhagen Denmark +Bern Switzerland Dakar Senegal +Bern Switzerland Damascus Syria +Bern Switzerland Dhaka Bangladesh +Bern Switzerland Doha Qatar +Bern Switzerland Dublin Ireland +Bern Switzerland Dushanbe Tajikistan +Bern Switzerland Funafuti Tuvalu +Bern Switzerland Gaborone Botswana +Bern Switzerland Georgetown Guyana +Bern Switzerland Hanoi Vietnam +Bern Switzerland Harare Zimbabwe +Bern Switzerland Havana Cuba +Bern Switzerland Helsinki Finland +Bern Switzerland Islamabad Pakistan +Bern Switzerland Jakarta Indonesia +Bern Switzerland Kabul Afghanistan +Bern Switzerland Kampala Uganda +Bern Switzerland Kathmandu Nepal +Bern Switzerland Khartoum Sudan +Bern Switzerland Kiev Ukraine +Bern Switzerland Kigali Rwanda +Bern Switzerland Kingston Jamaica +Bern Switzerland Libreville Gabon +Bern Switzerland Lilongwe Malawi +Bern Switzerland Lima Peru +Bern Switzerland Lisbon Portugal +Bern Switzerland Ljubljana Slovenia +Bishkek Kyrgyzstan Bratislava Slovakia +Bishkek Kyrgyzstan Brussels Belgium +Bishkek Kyrgyzstan Bucharest Romania +Bishkek Kyrgyzstan Budapest Hungary +Bishkek Kyrgyzstan Bujumbura Burundi +Bishkek Kyrgyzstan Cairo Egypt +Bishkek Kyrgyzstan Canberra Australia +Bishkek Kyrgyzstan Caracas Venezuela +Bishkek Kyrgyzstan Chisinau Moldova +Bishkek Kyrgyzstan Conakry Guinea +Bishkek Kyrgyzstan Copenhagen Denmark +Bishkek Kyrgyzstan Dakar Senegal +Bishkek Kyrgyzstan Damascus Syria +Bishkek Kyrgyzstan Dhaka Bangladesh +Bishkek Kyrgyzstan Doha Qatar +Bishkek Kyrgyzstan Dublin Ireland +Bishkek Kyrgyzstan Dushanbe Tajikistan +Bishkek Kyrgyzstan Funafuti Tuvalu +Bishkek Kyrgyzstan Gaborone Botswana +Bishkek Kyrgyzstan Georgetown Guyana +Bishkek Kyrgyzstan Hanoi Vietnam +Bishkek Kyrgyzstan Harare Zimbabwe +Bishkek Kyrgyzstan Havana Cuba +Bishkek Kyrgyzstan Helsinki Finland +Bishkek Kyrgyzstan Islamabad Pakistan +Bishkek Kyrgyzstan Jakarta Indonesia +Bishkek Kyrgyzstan Kabul Afghanistan +Bishkek Kyrgyzstan Kampala Uganda +Bishkek Kyrgyzstan Kathmandu Nepal +Bishkek Kyrgyzstan Khartoum Sudan +Bishkek Kyrgyzstan Kiev Ukraine +Bishkek Kyrgyzstan Kigali Rwanda +Bishkek Kyrgyzstan Kingston Jamaica +Bishkek Kyrgyzstan Libreville Gabon +Bishkek Kyrgyzstan Lilongwe Malawi +Bishkek Kyrgyzstan Lima Peru +Bishkek Kyrgyzstan Lisbon Portugal +Bishkek Kyrgyzstan Ljubljana Slovenia +Bishkek Kyrgyzstan London England +Bratislava Slovakia Brussels Belgium +Bratislava Slovakia Bucharest Romania +Bratislava Slovakia Budapest Hungary +Bratislava Slovakia Bujumbura Burundi +Bratislava Slovakia Cairo Egypt +Bratislava Slovakia Canberra Australia +Bratislava Slovakia Caracas Venezuela +Bratislava Slovakia Chisinau Moldova +Bratislava Slovakia Conakry Guinea +Bratislava Slovakia Copenhagen Denmark +Bratislava Slovakia Dakar Senegal +Bratislava Slovakia Damascus Syria +Bratislava Slovakia Dhaka Bangladesh +Bratislava Slovakia Doha Qatar +Bratislava Slovakia Dublin Ireland +Bratislava Slovakia Dushanbe Tajikistan +Bratislava Slovakia Funafuti Tuvalu +Bratislava Slovakia Gaborone Botswana +Bratislava Slovakia Georgetown Guyana +Bratislava Slovakia Hanoi Vietnam +Bratislava Slovakia Harare Zimbabwe +Bratislava Slovakia Havana Cuba +Bratislava Slovakia Helsinki Finland +Bratislava Slovakia Islamabad Pakistan +Bratislava Slovakia Jakarta Indonesia +Bratislava Slovakia Kabul Afghanistan +Bratislava Slovakia Kampala Uganda +Bratislava Slovakia Kathmandu Nepal +Bratislava Slovakia Khartoum Sudan +Bratislava Slovakia Kiev Ukraine +Bratislava Slovakia Kigali Rwanda +Bratislava Slovakia Kingston Jamaica +Bratislava Slovakia Libreville Gabon +Bratislava Slovakia Lilongwe Malawi +Bratislava Slovakia Lima Peru +Bratislava Slovakia Lisbon Portugal +Bratislava Slovakia Ljubljana Slovenia +Bratislava Slovakia London England +Bratislava Slovakia Luanda Angola +Brussels Belgium Bucharest Romania +Brussels Belgium Budapest Hungary +Brussels Belgium Bujumbura Burundi +Brussels Belgium Cairo Egypt +Brussels Belgium Canberra Australia +Brussels Belgium Caracas Venezuela +Brussels Belgium Chisinau Moldova +Brussels Belgium Conakry Guinea +Brussels Belgium Copenhagen Denmark +Brussels Belgium Dakar Senegal +Brussels Belgium Damascus Syria +Brussels Belgium Dhaka Bangladesh +Brussels Belgium Doha Qatar +Brussels Belgium Dublin Ireland +Brussels Belgium Dushanbe Tajikistan +Brussels Belgium Funafuti Tuvalu +Brussels Belgium Gaborone Botswana +Brussels Belgium Georgetown Guyana +Brussels Belgium Hanoi Vietnam +Brussels Belgium Harare Zimbabwe +Brussels Belgium Havana Cuba +Brussels Belgium Helsinki Finland +Brussels Belgium Islamabad Pakistan +Brussels Belgium Jakarta Indonesia +Brussels Belgium Kabul Afghanistan +Brussels Belgium Kampala Uganda +Brussels Belgium Kathmandu Nepal +Brussels Belgium Khartoum Sudan +Brussels Belgium Kiev Ukraine +Brussels Belgium Kigali Rwanda +Brussels Belgium Kingston Jamaica +Brussels Belgium Libreville Gabon +Brussels Belgium Lilongwe Malawi +Brussels Belgium Lima Peru +Brussels Belgium Lisbon Portugal +Brussels Belgium Ljubljana Slovenia +Brussels Belgium London England +Brussels Belgium Luanda Angola +Brussels Belgium Lusaka Zambia +Bucharest Romania Budapest Hungary +Bucharest Romania Bujumbura Burundi +Bucharest Romania Cairo Egypt +Bucharest Romania Canberra Australia +Bucharest Romania Caracas Venezuela +Bucharest Romania Chisinau Moldova +Bucharest Romania Conakry Guinea +Bucharest Romania Copenhagen Denmark +Bucharest Romania Dakar Senegal +Bucharest Romania Damascus Syria +Bucharest Romania Dhaka Bangladesh +Bucharest Romania Doha Qatar +Bucharest Romania Dublin Ireland +Bucharest Romania Dushanbe Tajikistan +Bucharest Romania Funafuti Tuvalu +Bucharest Romania Gaborone Botswana +Bucharest Romania Georgetown Guyana +Bucharest Romania Hanoi Vietnam +Bucharest Romania Harare Zimbabwe +Bucharest Romania Havana Cuba +Bucharest Romania Helsinki Finland +Bucharest Romania Islamabad Pakistan +Bucharest Romania Jakarta Indonesia +Bucharest Romania Kabul Afghanistan +Bucharest Romania Kampala Uganda +Bucharest Romania Kathmandu Nepal +Bucharest Romania Khartoum Sudan +Bucharest Romania Kiev Ukraine +Bucharest Romania Kigali Rwanda +Bucharest Romania Kingston Jamaica +Bucharest Romania Libreville Gabon +Bucharest Romania Lilongwe Malawi +Bucharest Romania Lima Peru +Bucharest Romania Lisbon Portugal +Bucharest Romania Ljubljana Slovenia +Bucharest Romania London England +Bucharest Romania Luanda Angola +Bucharest Romania Lusaka Zambia +Bucharest Romania Madrid Spain +Budapest Hungary Bujumbura Burundi +Budapest Hungary Cairo Egypt +Budapest Hungary Canberra Australia +Budapest Hungary Caracas Venezuela +Budapest Hungary Chisinau Moldova +Budapest Hungary Conakry Guinea +Budapest Hungary Copenhagen Denmark +Budapest Hungary Dakar Senegal +Budapest Hungary Damascus Syria +Budapest Hungary Dhaka Bangladesh +Budapest Hungary Doha Qatar +Budapest Hungary Dublin Ireland +Budapest Hungary Dushanbe Tajikistan +Budapest Hungary Funafuti Tuvalu +Budapest Hungary Gaborone Botswana +Budapest Hungary Georgetown Guyana +Budapest Hungary Hanoi Vietnam +Budapest Hungary Harare Zimbabwe +Budapest Hungary Havana Cuba +Budapest Hungary Helsinki Finland +Budapest Hungary Islamabad Pakistan +Budapest Hungary Jakarta Indonesia +Budapest Hungary Kabul Afghanistan +Budapest Hungary Kampala Uganda +Budapest Hungary Kathmandu Nepal +Budapest Hungary Khartoum Sudan +Budapest Hungary Kiev Ukraine +Budapest Hungary Kigali Rwanda +Budapest Hungary Kingston Jamaica +Budapest Hungary Libreville Gabon +Budapest Hungary Lilongwe Malawi +Budapest Hungary Lima Peru +Budapest Hungary Lisbon Portugal +Budapest Hungary Ljubljana Slovenia +Budapest Hungary London England +Budapest Hungary Luanda Angola +Budapest Hungary Lusaka Zambia +Budapest Hungary Madrid Spain +Budapest Hungary Managua Nicaragua +Bujumbura Burundi Cairo Egypt +Bujumbura Burundi Canberra Australia +Bujumbura Burundi Caracas Venezuela +Bujumbura Burundi Chisinau Moldova +Bujumbura Burundi Conakry Guinea +Bujumbura Burundi Copenhagen Denmark +Bujumbura Burundi Dakar Senegal +Bujumbura Burundi Damascus Syria +Bujumbura Burundi Dhaka Bangladesh +Bujumbura Burundi Doha Qatar +Bujumbura Burundi Dublin Ireland +Bujumbura Burundi Dushanbe Tajikistan +Bujumbura Burundi Funafuti Tuvalu +Bujumbura Burundi Gaborone Botswana +Bujumbura Burundi Georgetown Guyana +Bujumbura Burundi Hanoi Vietnam +Bujumbura Burundi Harare Zimbabwe +Bujumbura Burundi Havana Cuba +Bujumbura Burundi Helsinki Finland +Bujumbura Burundi Islamabad Pakistan +Bujumbura Burundi Jakarta Indonesia +Bujumbura Burundi Kabul Afghanistan +Bujumbura Burundi Kampala Uganda +Bujumbura Burundi Kathmandu Nepal +Bujumbura Burundi Khartoum Sudan +Bujumbura Burundi Kiev Ukraine +Bujumbura Burundi Kigali Rwanda +Bujumbura Burundi Kingston Jamaica +Bujumbura Burundi Libreville Gabon +Bujumbura Burundi Lilongwe Malawi +Bujumbura Burundi Lima Peru +Bujumbura Burundi Lisbon Portugal +Bujumbura Burundi Ljubljana Slovenia +Bujumbura Burundi London England +Bujumbura Burundi Luanda Angola +Bujumbura Burundi Lusaka Zambia +Bujumbura Burundi Madrid Spain +Bujumbura Burundi Managua Nicaragua +Bujumbura Burundi Manama Bahrain +Cairo Egypt Canberra Australia +Cairo Egypt Caracas Venezuela +Cairo Egypt Chisinau Moldova +Cairo Egypt Conakry Guinea +Cairo Egypt Copenhagen Denmark +Cairo Egypt Dakar Senegal +Cairo Egypt Damascus Syria +Cairo Egypt Dhaka Bangladesh +Cairo Egypt Doha Qatar +Cairo Egypt Dublin Ireland +Cairo Egypt Dushanbe Tajikistan +Cairo Egypt Funafuti Tuvalu +Cairo Egypt Gaborone Botswana +Cairo Egypt Georgetown Guyana +Cairo Egypt Hanoi Vietnam +Cairo Egypt Harare Zimbabwe +Cairo Egypt Havana Cuba +Cairo Egypt Helsinki Finland +Cairo Egypt Islamabad Pakistan +Cairo Egypt Jakarta Indonesia +Cairo Egypt Kabul Afghanistan +Cairo Egypt Kampala Uganda +Cairo Egypt Kathmandu Nepal +Cairo Egypt Khartoum Sudan +Cairo Egypt Kiev Ukraine +Cairo Egypt Kigali Rwanda +Cairo Egypt Kingston Jamaica +Cairo Egypt Libreville Gabon +Cairo Egypt Lilongwe Malawi +Cairo Egypt Lima Peru +Cairo Egypt Lisbon Portugal +Cairo Egypt Ljubljana Slovenia +Cairo Egypt London England +Cairo Egypt Luanda Angola +Cairo Egypt Lusaka Zambia +Cairo Egypt Madrid Spain +Cairo Egypt Managua Nicaragua +Cairo Egypt Manama Bahrain +Cairo Egypt Manila Philippines +Canberra Australia Caracas Venezuela +Canberra Australia Chisinau Moldova +Canberra Australia Conakry Guinea +Canberra Australia Copenhagen Denmark +Canberra Australia Dakar Senegal +Canberra Australia Damascus Syria +Canberra Australia Dhaka Bangladesh +Canberra Australia Doha Qatar +Canberra Australia Dublin Ireland +Canberra Australia Dushanbe Tajikistan +Canberra Australia Funafuti Tuvalu +Canberra Australia Gaborone Botswana +Canberra Australia Georgetown Guyana +Canberra Australia Hanoi Vietnam +Canberra Australia Harare Zimbabwe +Canberra Australia Havana Cuba +Canberra Australia Helsinki Finland +Canberra Australia Islamabad Pakistan +Canberra Australia Jakarta Indonesia +Canberra Australia Kabul Afghanistan +Canberra Australia Kampala Uganda +Canberra Australia Kathmandu Nepal +Canberra Australia Khartoum Sudan +Canberra Australia Kiev Ukraine +Canberra Australia Kigali Rwanda +Canberra Australia Kingston Jamaica +Canberra Australia Libreville Gabon +Canberra Australia Lilongwe Malawi +Canberra Australia Lima Peru +Canberra Australia Lisbon Portugal +Canberra Australia Ljubljana Slovenia +Canberra Australia London England +Canberra Australia Luanda Angola +Canberra Australia Lusaka Zambia +Canberra Australia Madrid Spain +Canberra Australia Managua Nicaragua +Canberra Australia Manama Bahrain +Canberra Australia Manila Philippines +Canberra Australia Maputo Mozambique +Caracas Venezuela Chisinau Moldova +Caracas Venezuela Conakry Guinea +Caracas Venezuela Copenhagen Denmark +Caracas Venezuela Dakar Senegal +Caracas Venezuela Damascus Syria +Caracas Venezuela Dhaka Bangladesh +Caracas Venezuela Doha Qatar +Caracas Venezuela Dublin Ireland +Caracas Venezuela Dushanbe Tajikistan +Caracas Venezuela Funafuti Tuvalu +Caracas Venezuela Gaborone Botswana +Caracas Venezuela Georgetown Guyana +Caracas Venezuela Hanoi Vietnam +Caracas Venezuela Harare Zimbabwe +Caracas Venezuela Havana Cuba +Caracas Venezuela Helsinki Finland +Caracas Venezuela Islamabad Pakistan +Caracas Venezuela Jakarta Indonesia +Caracas Venezuela Kabul Afghanistan +Caracas Venezuela Kampala Uganda +Caracas Venezuela Kathmandu Nepal +Caracas Venezuela Khartoum Sudan +Caracas Venezuela Kiev Ukraine +Caracas Venezuela Kigali Rwanda +Caracas Venezuela Kingston Jamaica +Caracas Venezuela Libreville Gabon +Caracas Venezuela Lilongwe Malawi +Caracas Venezuela Lima Peru +Caracas Venezuela Lisbon Portugal +Caracas Venezuela Ljubljana Slovenia +Caracas Venezuela London England +Caracas Venezuela Luanda Angola +Caracas Venezuela Lusaka Zambia +Caracas Venezuela Madrid Spain +Caracas Venezuela Managua Nicaragua +Caracas Venezuela Manama Bahrain +Caracas Venezuela Manila Philippines +Caracas Venezuela Maputo Mozambique +Caracas Venezuela Minsk Belarus +Chisinau Moldova Conakry Guinea +Chisinau Moldova Copenhagen Denmark +Chisinau Moldova Dakar Senegal +Chisinau Moldova Damascus Syria +Chisinau Moldova Dhaka Bangladesh +Chisinau Moldova Doha Qatar +Chisinau Moldova Dublin Ireland +Chisinau Moldova Dushanbe Tajikistan +Chisinau Moldova Funafuti Tuvalu +Chisinau Moldova Gaborone Botswana +Chisinau Moldova Georgetown Guyana +Chisinau Moldova Hanoi Vietnam +Chisinau Moldova Harare Zimbabwe +Chisinau Moldova Havana Cuba +Chisinau Moldova Helsinki Finland +Chisinau Moldova Islamabad Pakistan +Chisinau Moldova Jakarta Indonesia +Chisinau Moldova Kabul Afghanistan +Chisinau Moldova Kampala Uganda +Chisinau Moldova Kathmandu Nepal +Chisinau Moldova Khartoum Sudan +Chisinau Moldova Kiev Ukraine +Chisinau Moldova Kigali Rwanda +Chisinau Moldova Kingston Jamaica +Chisinau Moldova Libreville Gabon +Chisinau Moldova Lilongwe Malawi +Chisinau Moldova Lima Peru +Chisinau Moldova Lisbon Portugal +Chisinau Moldova Ljubljana Slovenia +Chisinau Moldova London England +Chisinau Moldova Luanda Angola +Chisinau Moldova Lusaka Zambia +Chisinau Moldova Madrid Spain +Chisinau Moldova Managua Nicaragua +Chisinau Moldova Manama Bahrain +Chisinau Moldova Manila Philippines +Chisinau Moldova Maputo Mozambique +Chisinau Moldova Minsk Belarus +Chisinau Moldova Mogadishu Somalia +Conakry Guinea Copenhagen Denmark +Conakry Guinea Dakar Senegal +Conakry Guinea Damascus Syria +Conakry Guinea Dhaka Bangladesh +Conakry Guinea Doha Qatar +Conakry Guinea Dublin Ireland +Conakry Guinea Dushanbe Tajikistan +Conakry Guinea Funafuti Tuvalu +Conakry Guinea Gaborone Botswana +Conakry Guinea Georgetown Guyana +Conakry Guinea Hanoi Vietnam +Conakry Guinea Harare Zimbabwe +Conakry Guinea Havana Cuba +Conakry Guinea Helsinki Finland +Conakry Guinea Islamabad Pakistan +Conakry Guinea Jakarta Indonesia +Conakry Guinea Kabul Afghanistan +Conakry Guinea Kampala Uganda +Conakry Guinea Kathmandu Nepal +Conakry Guinea Khartoum Sudan +Conakry Guinea Kiev Ukraine +Conakry Guinea Kigali Rwanda +Conakry Guinea Kingston Jamaica +Conakry Guinea Libreville Gabon +Conakry Guinea Lilongwe Malawi +Conakry Guinea Lima Peru +Conakry Guinea Lisbon Portugal +Conakry Guinea Ljubljana Slovenia +Conakry Guinea London England +Conakry Guinea Luanda Angola +Conakry Guinea Lusaka Zambia +Conakry Guinea Madrid Spain +Conakry Guinea Managua Nicaragua +Conakry Guinea Manama Bahrain +Conakry Guinea Manila Philippines +Conakry Guinea Maputo Mozambique +Conakry Guinea Minsk Belarus +Conakry Guinea Mogadishu Somalia +Conakry Guinea Monrovia Liberia +Copenhagen Denmark Dakar Senegal +Copenhagen Denmark Damascus Syria +Copenhagen Denmark Dhaka Bangladesh +Copenhagen Denmark Doha Qatar +Copenhagen Denmark Dublin Ireland +Copenhagen Denmark Dushanbe Tajikistan +Copenhagen Denmark Funafuti Tuvalu +Copenhagen Denmark Gaborone Botswana +Copenhagen Denmark Georgetown Guyana +Copenhagen Denmark Hanoi Vietnam +Copenhagen Denmark Harare Zimbabwe +Copenhagen Denmark Havana Cuba +Copenhagen Denmark Helsinki Finland +Copenhagen Denmark Islamabad Pakistan +Copenhagen Denmark Jakarta Indonesia +Copenhagen Denmark Kabul Afghanistan +Copenhagen Denmark Kampala Uganda +Copenhagen Denmark Kathmandu Nepal +Copenhagen Denmark Khartoum Sudan +Copenhagen Denmark Kiev Ukraine +Copenhagen Denmark Kigali Rwanda +Copenhagen Denmark Kingston Jamaica +Copenhagen Denmark Libreville Gabon +Copenhagen Denmark Lilongwe Malawi +Copenhagen Denmark Lima Peru +Copenhagen Denmark Lisbon Portugal +Copenhagen Denmark Ljubljana Slovenia +Copenhagen Denmark London England +Copenhagen Denmark Luanda Angola +Copenhagen Denmark Lusaka Zambia +Copenhagen Denmark Madrid Spain +Copenhagen Denmark Managua Nicaragua +Copenhagen Denmark Manama Bahrain +Copenhagen Denmark Manila Philippines +Copenhagen Denmark Maputo Mozambique +Copenhagen Denmark Minsk Belarus +Copenhagen Denmark Mogadishu Somalia +Copenhagen Denmark Monrovia Liberia +Copenhagen Denmark Montevideo Uruguay +Dakar Senegal Damascus Syria +Dakar Senegal Dhaka Bangladesh +Dakar Senegal Doha Qatar +Dakar Senegal Dublin Ireland +Dakar Senegal Dushanbe Tajikistan +Dakar Senegal Funafuti Tuvalu +Dakar Senegal Gaborone Botswana +Dakar Senegal Georgetown Guyana +Dakar Senegal Hanoi Vietnam +Dakar Senegal Harare Zimbabwe +Dakar Senegal Havana Cuba +Dakar Senegal Helsinki Finland +Dakar Senegal Islamabad Pakistan +Dakar Senegal Jakarta Indonesia +Dakar Senegal Kabul Afghanistan +Dakar Senegal Kampala Uganda +Dakar Senegal Kathmandu Nepal +Dakar Senegal Khartoum Sudan +Dakar Senegal Kiev Ukraine +Dakar Senegal Kigali Rwanda +Dakar Senegal Kingston Jamaica +Dakar Senegal Libreville Gabon +Dakar Senegal Lilongwe Malawi +Dakar Senegal Lima Peru +Dakar Senegal Lisbon Portugal +Dakar Senegal Ljubljana Slovenia +Dakar Senegal London England +Dakar Senegal Luanda Angola +Dakar Senegal Lusaka Zambia +Dakar Senegal Madrid Spain +Dakar Senegal Managua Nicaragua +Dakar Senegal Manama Bahrain +Dakar Senegal Manila Philippines +Dakar Senegal Maputo Mozambique +Dakar Senegal Minsk Belarus +Dakar Senegal Mogadishu Somalia +Dakar Senegal Monrovia Liberia +Dakar Senegal Montevideo Uruguay +Dakar Senegal Moscow Russia +Damascus Syria Dhaka Bangladesh +Damascus Syria Doha Qatar +Damascus Syria Dublin Ireland +Damascus Syria Dushanbe Tajikistan +Damascus Syria Funafuti Tuvalu +Damascus Syria Gaborone Botswana +Damascus Syria Georgetown Guyana +Damascus Syria Hanoi Vietnam +Damascus Syria Harare Zimbabwe +Damascus Syria Havana Cuba +Damascus Syria Helsinki Finland +Damascus Syria Islamabad Pakistan +Damascus Syria Jakarta Indonesia +Damascus Syria Kabul Afghanistan +Damascus Syria Kampala Uganda +Damascus Syria Kathmandu Nepal +Damascus Syria Khartoum Sudan +Damascus Syria Kiev Ukraine +Damascus Syria Kigali Rwanda +Damascus Syria Kingston Jamaica +Damascus Syria Libreville Gabon +Damascus Syria Lilongwe Malawi +Damascus Syria Lima Peru +Damascus Syria Lisbon Portugal +Damascus Syria Ljubljana Slovenia +Damascus Syria London England +Damascus Syria Luanda Angola +Damascus Syria Lusaka Zambia +Damascus Syria Madrid Spain +Damascus Syria Managua Nicaragua +Damascus Syria Manama Bahrain +Damascus Syria Manila Philippines +Damascus Syria Maputo Mozambique +Damascus Syria Minsk Belarus +Damascus Syria Mogadishu Somalia +Damascus Syria Monrovia Liberia +Damascus Syria Montevideo Uruguay +Damascus Syria Moscow Russia +Damascus Syria Muscat Oman +Dhaka Bangladesh Doha Qatar +Dhaka Bangladesh Dublin Ireland +Dhaka Bangladesh Dushanbe Tajikistan +Dhaka Bangladesh Funafuti Tuvalu +Dhaka Bangladesh Gaborone Botswana +Dhaka Bangladesh Georgetown Guyana +Dhaka Bangladesh Hanoi Vietnam +Dhaka Bangladesh Harare Zimbabwe +Dhaka Bangladesh Havana Cuba +Dhaka Bangladesh Helsinki Finland +Dhaka Bangladesh Islamabad Pakistan +Dhaka Bangladesh Jakarta Indonesia +Dhaka Bangladesh Kabul Afghanistan +Dhaka Bangladesh Kampala Uganda +Dhaka Bangladesh Kathmandu Nepal +Dhaka Bangladesh Khartoum Sudan +Dhaka Bangladesh Kiev Ukraine +Dhaka Bangladesh Kigali Rwanda +Dhaka Bangladesh Kingston Jamaica +Dhaka Bangladesh Libreville Gabon +Dhaka Bangladesh Lilongwe Malawi +Dhaka Bangladesh Lima Peru +Dhaka Bangladesh Lisbon Portugal +Dhaka Bangladesh Ljubljana Slovenia +Dhaka Bangladesh London England +Dhaka Bangladesh Luanda Angola +Dhaka Bangladesh Lusaka Zambia +Dhaka Bangladesh Madrid Spain +Dhaka Bangladesh Managua Nicaragua +Dhaka Bangladesh Manama Bahrain +Dhaka Bangladesh Manila Philippines +Dhaka Bangladesh Maputo Mozambique +Dhaka Bangladesh Minsk Belarus +Dhaka Bangladesh Mogadishu Somalia +Dhaka Bangladesh Monrovia Liberia +Dhaka Bangladesh Montevideo Uruguay +Dhaka Bangladesh Moscow Russia +Dhaka Bangladesh Muscat Oman +Dhaka Bangladesh Nairobi Kenya +Doha Qatar Dublin Ireland +Doha Qatar Dushanbe Tajikistan +Doha Qatar Funafuti Tuvalu +Doha Qatar Gaborone Botswana +Doha Qatar Georgetown Guyana +Doha Qatar Hanoi Vietnam +Doha Qatar Harare Zimbabwe +Doha Qatar Havana Cuba +Doha Qatar Helsinki Finland +Doha Qatar Islamabad Pakistan +Doha Qatar Jakarta Indonesia +Doha Qatar Kabul Afghanistan +Doha Qatar Kampala Uganda +Doha Qatar Kathmandu Nepal +Doha Qatar Khartoum Sudan +Doha Qatar Kiev Ukraine +Doha Qatar Kigali Rwanda +Doha Qatar Kingston Jamaica +Doha Qatar Libreville Gabon +Doha Qatar Lilongwe Malawi +Doha Qatar Lima Peru +Doha Qatar Lisbon Portugal +Doha Qatar Ljubljana Slovenia +Doha Qatar London England +Doha Qatar Luanda Angola +Doha Qatar Lusaka Zambia +Doha Qatar Madrid Spain +Doha Qatar Managua Nicaragua +Doha Qatar Manama Bahrain +Doha Qatar Manila Philippines +Doha Qatar Maputo Mozambique +Doha Qatar Minsk Belarus +Doha Qatar Mogadishu Somalia +Doha Qatar Monrovia Liberia +Doha Qatar Montevideo Uruguay +Doha Qatar Moscow Russia +Doha Qatar Muscat Oman +Doha Qatar Nairobi Kenya +Doha Qatar Nassau Bahamas +Dublin Ireland Dushanbe Tajikistan +Dublin Ireland Funafuti Tuvalu +Dublin Ireland Gaborone Botswana +Dublin Ireland Georgetown Guyana +Dublin Ireland Hanoi Vietnam +Dublin Ireland Harare Zimbabwe +Dublin Ireland Havana Cuba +Dublin Ireland Helsinki Finland +Dublin Ireland Islamabad Pakistan +Dublin Ireland Jakarta Indonesia +Dublin Ireland Kabul Afghanistan +Dublin Ireland Kampala Uganda +Dublin Ireland Kathmandu Nepal +Dublin Ireland Khartoum Sudan +Dublin Ireland Kiev Ukraine +Dublin Ireland Kigali Rwanda +Dublin Ireland Kingston Jamaica +Dublin Ireland Libreville Gabon +Dublin Ireland Lilongwe Malawi +Dublin Ireland Lima Peru +Dublin Ireland Lisbon Portugal +Dublin Ireland Ljubljana Slovenia +Dublin Ireland London England +Dublin Ireland Luanda Angola +Dublin Ireland Lusaka Zambia +Dublin Ireland Madrid Spain +Dublin Ireland Managua Nicaragua +Dublin Ireland Manama Bahrain +Dublin Ireland Manila Philippines +Dublin Ireland Maputo Mozambique +Dublin Ireland Minsk Belarus +Dublin Ireland Mogadishu Somalia +Dublin Ireland Monrovia Liberia +Dublin Ireland Montevideo Uruguay +Dublin Ireland Moscow Russia +Dublin Ireland Muscat Oman +Dublin Ireland Nairobi Kenya +Dublin Ireland Nassau Bahamas +Dublin Ireland Niamey Niger +Dushanbe Tajikistan Funafuti Tuvalu +Dushanbe Tajikistan Gaborone Botswana +Dushanbe Tajikistan Georgetown Guyana +Dushanbe Tajikistan Hanoi Vietnam +Dushanbe Tajikistan Harare Zimbabwe +Dushanbe Tajikistan Havana Cuba +Dushanbe Tajikistan Helsinki Finland +Dushanbe Tajikistan Islamabad Pakistan +Dushanbe Tajikistan Jakarta Indonesia +Dushanbe Tajikistan Kabul Afghanistan +Dushanbe Tajikistan Kampala Uganda +Dushanbe Tajikistan Kathmandu Nepal +Dushanbe Tajikistan Khartoum Sudan +Dushanbe Tajikistan Kiev Ukraine +Dushanbe Tajikistan Kigali Rwanda +Dushanbe Tajikistan Kingston Jamaica +Dushanbe Tajikistan Libreville Gabon +Dushanbe Tajikistan Lilongwe Malawi +Dushanbe Tajikistan Lima Peru +Dushanbe Tajikistan Lisbon Portugal +Dushanbe Tajikistan Ljubljana Slovenia +Dushanbe Tajikistan London England +Dushanbe Tajikistan Luanda Angola +Dushanbe Tajikistan Lusaka Zambia +Dushanbe Tajikistan Madrid Spain +Dushanbe Tajikistan Managua Nicaragua +Dushanbe Tajikistan Manama Bahrain +Dushanbe Tajikistan Manila Philippines +Dushanbe Tajikistan Maputo Mozambique +Dushanbe Tajikistan Minsk Belarus +Dushanbe Tajikistan Mogadishu Somalia +Dushanbe Tajikistan Monrovia Liberia +Dushanbe Tajikistan Montevideo Uruguay +Dushanbe Tajikistan Moscow Russia +Dushanbe Tajikistan Muscat Oman +Dushanbe Tajikistan Nairobi Kenya +Dushanbe Tajikistan Nassau Bahamas +Dushanbe Tajikistan Niamey Niger +Dushanbe Tajikistan Nicosia Cyprus +Funafuti Tuvalu Gaborone Botswana +Funafuti Tuvalu Georgetown Guyana +Funafuti Tuvalu Hanoi Vietnam +Funafuti Tuvalu Harare Zimbabwe +Funafuti Tuvalu Havana Cuba +Funafuti Tuvalu Helsinki Finland +Funafuti Tuvalu Islamabad Pakistan +Funafuti Tuvalu Jakarta Indonesia +Funafuti Tuvalu Kabul Afghanistan +Funafuti Tuvalu Kampala Uganda +Funafuti Tuvalu Kathmandu Nepal +Funafuti Tuvalu Khartoum Sudan +Funafuti Tuvalu Kiev Ukraine +Funafuti Tuvalu Kigali Rwanda +Funafuti Tuvalu Kingston Jamaica +Funafuti Tuvalu Libreville Gabon +Funafuti Tuvalu Lilongwe Malawi +Funafuti Tuvalu Lima Peru +Funafuti Tuvalu Lisbon Portugal +Funafuti Tuvalu Ljubljana Slovenia +Funafuti Tuvalu London England +Funafuti Tuvalu Luanda Angola +Funafuti Tuvalu Lusaka Zambia +Funafuti Tuvalu Madrid Spain +Funafuti Tuvalu Managua Nicaragua +Funafuti Tuvalu Manama Bahrain +Funafuti Tuvalu Manila Philippines +Funafuti Tuvalu Maputo Mozambique +Funafuti Tuvalu Minsk Belarus +Funafuti Tuvalu Mogadishu Somalia +Funafuti Tuvalu Monrovia Liberia +Funafuti Tuvalu Montevideo Uruguay +Funafuti Tuvalu Moscow Russia +Funafuti Tuvalu Muscat Oman +Funafuti Tuvalu Nairobi Kenya +Funafuti Tuvalu Nassau Bahamas +Funafuti Tuvalu Niamey Niger +Funafuti Tuvalu Nicosia Cyprus +Funafuti Tuvalu Nouakchott Mauritania +Gaborone Botswana Georgetown Guyana +Gaborone Botswana Hanoi Vietnam +Gaborone Botswana Harare Zimbabwe +Gaborone Botswana Havana Cuba +Gaborone Botswana Helsinki Finland +Gaborone Botswana Islamabad Pakistan +Gaborone Botswana Jakarta Indonesia +Gaborone Botswana Kabul Afghanistan +Gaborone Botswana Kampala Uganda +Gaborone Botswana Kathmandu Nepal +Gaborone Botswana Khartoum Sudan +Gaborone Botswana Kiev Ukraine +Gaborone Botswana Kigali Rwanda +Gaborone Botswana Kingston Jamaica +Gaborone Botswana Libreville Gabon +Gaborone Botswana Lilongwe Malawi +Gaborone Botswana Lima Peru +Gaborone Botswana Lisbon Portugal +Gaborone Botswana Ljubljana Slovenia +Gaborone Botswana London England +Gaborone Botswana Luanda Angola +Gaborone Botswana Lusaka Zambia +Gaborone Botswana Madrid Spain +Gaborone Botswana Managua Nicaragua +Gaborone Botswana Manama Bahrain +Gaborone Botswana Manila Philippines +Gaborone Botswana Maputo Mozambique +Gaborone Botswana Minsk Belarus +Gaborone Botswana Mogadishu Somalia +Gaborone Botswana Monrovia Liberia +Gaborone Botswana Montevideo Uruguay +Gaborone Botswana Moscow Russia +Gaborone Botswana Muscat Oman +Gaborone Botswana Nairobi Kenya +Gaborone Botswana Nassau Bahamas +Gaborone Botswana Niamey Niger +Gaborone Botswana Nicosia Cyprus +Gaborone Botswana Nouakchott Mauritania +Gaborone Botswana Nuuk Greenland +Georgetown Guyana Hanoi Vietnam +Georgetown Guyana Harare Zimbabwe +Georgetown Guyana Havana Cuba +Georgetown Guyana Helsinki Finland +Georgetown Guyana Islamabad Pakistan +Georgetown Guyana Jakarta Indonesia +Georgetown Guyana Kabul Afghanistan +Georgetown Guyana Kampala Uganda +Georgetown Guyana Kathmandu Nepal +Georgetown Guyana Khartoum Sudan +Georgetown Guyana Kiev Ukraine +Georgetown Guyana Kigali Rwanda +Georgetown Guyana Kingston Jamaica +Georgetown Guyana Libreville Gabon +Georgetown Guyana Lilongwe Malawi +Georgetown Guyana Lima Peru +Georgetown Guyana Lisbon Portugal +Georgetown Guyana Ljubljana Slovenia +Georgetown Guyana London England +Georgetown Guyana Luanda Angola +Georgetown Guyana Lusaka Zambia +Georgetown Guyana Madrid Spain +Georgetown Guyana Managua Nicaragua +Georgetown Guyana Manama Bahrain +Georgetown Guyana Manila Philippines +Georgetown Guyana Maputo Mozambique +Georgetown Guyana Minsk Belarus +Georgetown Guyana Mogadishu Somalia +Georgetown Guyana Monrovia Liberia +Georgetown Guyana Montevideo Uruguay +Georgetown Guyana Moscow Russia +Georgetown Guyana Muscat Oman +Georgetown Guyana Nairobi Kenya +Georgetown Guyana Nassau Bahamas +Georgetown Guyana Niamey Niger +Georgetown Guyana Nicosia Cyprus +Georgetown Guyana Nouakchott Mauritania +Georgetown Guyana Nuuk Greenland +Georgetown Guyana Oslo Norway +Hanoi Vietnam Harare Zimbabwe +Hanoi Vietnam Havana Cuba +Hanoi Vietnam Helsinki Finland +Hanoi Vietnam Islamabad Pakistan +Hanoi Vietnam Jakarta Indonesia +Hanoi Vietnam Kabul Afghanistan +Hanoi Vietnam Kampala Uganda +Hanoi Vietnam Kathmandu Nepal +Hanoi Vietnam Khartoum Sudan +Hanoi Vietnam Kiev Ukraine +Hanoi Vietnam Kigali Rwanda +Hanoi Vietnam Kingston Jamaica +Hanoi Vietnam Libreville Gabon +Hanoi Vietnam Lilongwe Malawi +Hanoi Vietnam Lima Peru +Hanoi Vietnam Lisbon Portugal +Hanoi Vietnam Ljubljana Slovenia +Hanoi Vietnam London England +Hanoi Vietnam Luanda Angola +Hanoi Vietnam Lusaka Zambia +Hanoi Vietnam Madrid Spain +Hanoi Vietnam Managua Nicaragua +Hanoi Vietnam Manama Bahrain +Hanoi Vietnam Manila Philippines +Hanoi Vietnam Maputo Mozambique +Hanoi Vietnam Minsk Belarus +Hanoi Vietnam Mogadishu Somalia +Hanoi Vietnam Monrovia Liberia +Hanoi Vietnam Montevideo Uruguay +Hanoi Vietnam Moscow Russia +Hanoi Vietnam Muscat Oman +Hanoi Vietnam Nairobi Kenya +Hanoi Vietnam Nassau Bahamas +Hanoi Vietnam Niamey Niger +Hanoi Vietnam Nicosia Cyprus +Hanoi Vietnam Nouakchott Mauritania +Hanoi Vietnam Nuuk Greenland +Hanoi Vietnam Oslo Norway +Hanoi Vietnam Ottawa Canada +Harare Zimbabwe Havana Cuba +Harare Zimbabwe Helsinki Finland +Harare Zimbabwe Islamabad Pakistan +Harare Zimbabwe Jakarta Indonesia +Harare Zimbabwe Kabul Afghanistan +Harare Zimbabwe Kampala Uganda +Harare Zimbabwe Kathmandu Nepal +Harare Zimbabwe Khartoum Sudan +Harare Zimbabwe Kiev Ukraine +Harare Zimbabwe Kigali Rwanda +Harare Zimbabwe Kingston Jamaica +Harare Zimbabwe Libreville Gabon +Harare Zimbabwe Lilongwe Malawi +Harare Zimbabwe Lima Peru +Harare Zimbabwe Lisbon Portugal +Harare Zimbabwe Ljubljana Slovenia +Harare Zimbabwe London England +Harare Zimbabwe Luanda Angola +Harare Zimbabwe Lusaka Zambia +Harare Zimbabwe Madrid Spain +Harare Zimbabwe Managua Nicaragua +Harare Zimbabwe Manama Bahrain +Harare Zimbabwe Manila Philippines +Harare Zimbabwe Maputo Mozambique +Harare Zimbabwe Minsk Belarus +Harare Zimbabwe Mogadishu Somalia +Harare Zimbabwe Monrovia Liberia +Harare Zimbabwe Montevideo Uruguay +Harare Zimbabwe Moscow Russia +Harare Zimbabwe Muscat Oman +Harare Zimbabwe Nairobi Kenya +Harare Zimbabwe Nassau Bahamas +Harare Zimbabwe Niamey Niger +Harare Zimbabwe Nicosia Cyprus +Harare Zimbabwe Nouakchott Mauritania +Harare Zimbabwe Nuuk Greenland +Harare Zimbabwe Oslo Norway +Harare Zimbabwe Ottawa Canada +Harare Zimbabwe Paramaribo Suriname +Havana Cuba Helsinki Finland +Havana Cuba Islamabad Pakistan +Havana Cuba Jakarta Indonesia +Havana Cuba Kabul Afghanistan +Havana Cuba Kampala Uganda +Havana Cuba Kathmandu Nepal +Havana Cuba Khartoum Sudan +Havana Cuba Kiev Ukraine +Havana Cuba Kigali Rwanda +Havana Cuba Kingston Jamaica +Havana Cuba Libreville Gabon +Havana Cuba Lilongwe Malawi +Havana Cuba Lima Peru +Havana Cuba Lisbon Portugal +Havana Cuba Ljubljana Slovenia +Havana Cuba London England +Havana Cuba Luanda Angola +Havana Cuba Lusaka Zambia +Havana Cuba Madrid Spain +Havana Cuba Managua Nicaragua +Havana Cuba Manama Bahrain +Havana Cuba Manila Philippines +Havana Cuba Maputo Mozambique +Havana Cuba Minsk Belarus +Havana Cuba Mogadishu Somalia +Havana Cuba Monrovia Liberia +Havana Cuba Montevideo Uruguay +Havana Cuba Moscow Russia +Havana Cuba Muscat Oman +Havana Cuba Nairobi Kenya +Havana Cuba Nassau Bahamas +Havana Cuba Niamey Niger +Havana Cuba Nicosia Cyprus +Havana Cuba Nouakchott Mauritania +Havana Cuba Nuuk Greenland +Havana Cuba Oslo Norway +Havana Cuba Ottawa Canada +Havana Cuba Paramaribo Suriname +Havana Cuba Paris France +Helsinki Finland Islamabad Pakistan +Helsinki Finland Jakarta Indonesia +Helsinki Finland Kabul Afghanistan +Helsinki Finland Kampala Uganda +Helsinki Finland Kathmandu Nepal +Helsinki Finland Khartoum Sudan +Helsinki Finland Kiev Ukraine +Helsinki Finland Kigali Rwanda +Helsinki Finland Kingston Jamaica +Helsinki Finland Libreville Gabon +Helsinki Finland Lilongwe Malawi +Helsinki Finland Lima Peru +Helsinki Finland Lisbon Portugal +Helsinki Finland Ljubljana Slovenia +Helsinki Finland London England +Helsinki Finland Luanda Angola +Helsinki Finland Lusaka Zambia +Helsinki Finland Madrid Spain +Helsinki Finland Managua Nicaragua +Helsinki Finland Manama Bahrain +Helsinki Finland Manila Philippines +Helsinki Finland Maputo Mozambique +Helsinki Finland Minsk Belarus +Helsinki Finland Mogadishu Somalia +Helsinki Finland Monrovia Liberia +Helsinki Finland Montevideo Uruguay +Helsinki Finland Moscow Russia +Helsinki Finland Muscat Oman +Helsinki Finland Nairobi Kenya +Helsinki Finland Nassau Bahamas +Helsinki Finland Niamey Niger +Helsinki Finland Nicosia Cyprus +Helsinki Finland Nouakchott Mauritania +Helsinki Finland Nuuk Greenland +Helsinki Finland Oslo Norway +Helsinki Finland Ottawa Canada +Helsinki Finland Paramaribo Suriname +Helsinki Finland Paris France +Helsinki Finland Podgorica Montenegro +Islamabad Pakistan Jakarta Indonesia +Islamabad Pakistan Kabul Afghanistan +Islamabad Pakistan Kampala Uganda +Islamabad Pakistan Kathmandu Nepal +Islamabad Pakistan Khartoum Sudan +Islamabad Pakistan Kiev Ukraine +Islamabad Pakistan Kigali Rwanda +Islamabad Pakistan Kingston Jamaica +Islamabad Pakistan Libreville Gabon +Islamabad Pakistan Lilongwe Malawi +Islamabad Pakistan Lima Peru +Islamabad Pakistan Lisbon Portugal +Islamabad Pakistan Ljubljana Slovenia +Islamabad Pakistan London England +Islamabad Pakistan Luanda Angola +Islamabad Pakistan Lusaka Zambia +Islamabad Pakistan Madrid Spain +Islamabad Pakistan Managua Nicaragua +Islamabad Pakistan Manama Bahrain +Islamabad Pakistan Manila Philippines +Islamabad Pakistan Maputo Mozambique +Islamabad Pakistan Minsk Belarus +Islamabad Pakistan Mogadishu Somalia +Islamabad Pakistan Monrovia Liberia +Islamabad Pakistan Montevideo Uruguay +Islamabad Pakistan Moscow Russia +Islamabad Pakistan Muscat Oman +Islamabad Pakistan Nairobi Kenya +Islamabad Pakistan Nassau Bahamas +Islamabad Pakistan Niamey Niger +Islamabad Pakistan Nicosia Cyprus +Islamabad Pakistan Nouakchott Mauritania +Islamabad Pakistan Nuuk Greenland +Islamabad Pakistan Oslo Norway +Islamabad Pakistan Ottawa Canada +Islamabad Pakistan Paramaribo Suriname +Islamabad Pakistan Paris France +Islamabad Pakistan Podgorica Montenegro +Islamabad Pakistan Quito Ecuador +Jakarta Indonesia Kabul Afghanistan +Jakarta Indonesia Kampala Uganda +Jakarta Indonesia Kathmandu Nepal +Jakarta Indonesia Khartoum Sudan +Jakarta Indonesia Kiev Ukraine +Jakarta Indonesia Kigali Rwanda +Jakarta Indonesia Kingston Jamaica +Jakarta Indonesia Libreville Gabon +Jakarta Indonesia Lilongwe Malawi +Jakarta Indonesia Lima Peru +Jakarta Indonesia Lisbon Portugal +Jakarta Indonesia Ljubljana Slovenia +Jakarta Indonesia London England +Jakarta Indonesia Luanda Angola +Jakarta Indonesia Lusaka Zambia +Jakarta Indonesia Madrid Spain +Jakarta Indonesia Managua Nicaragua +Jakarta Indonesia Manama Bahrain +Jakarta Indonesia Manila Philippines +Jakarta Indonesia Maputo Mozambique +Jakarta Indonesia Minsk Belarus +Jakarta Indonesia Mogadishu Somalia +Jakarta Indonesia Monrovia Liberia +Jakarta Indonesia Montevideo Uruguay +Jakarta Indonesia Moscow Russia +Jakarta Indonesia Muscat Oman +Jakarta Indonesia Nairobi Kenya +Jakarta Indonesia Nassau Bahamas +Jakarta Indonesia Niamey Niger +Jakarta Indonesia Nicosia Cyprus +Jakarta Indonesia Nouakchott Mauritania +Jakarta Indonesia Nuuk Greenland +Jakarta Indonesia Oslo Norway +Jakarta Indonesia Ottawa Canada +Jakarta Indonesia Paramaribo Suriname +Jakarta Indonesia Paris France +Jakarta Indonesia Podgorica Montenegro +Jakarta Indonesia Quito Ecuador +Jakarta Indonesia Rabat Morocco +Kabul Afghanistan Kampala Uganda +Kabul Afghanistan Kathmandu Nepal +Kabul Afghanistan Khartoum Sudan +Kabul Afghanistan Kiev Ukraine +Kabul Afghanistan Kigali Rwanda +Kabul Afghanistan Kingston Jamaica +Kabul Afghanistan Libreville Gabon +Kabul Afghanistan Lilongwe Malawi +Kabul Afghanistan Lima Peru +Kabul Afghanistan Lisbon Portugal +Kabul Afghanistan Ljubljana Slovenia +Kabul Afghanistan London England +Kabul Afghanistan Luanda Angola +Kabul Afghanistan Lusaka Zambia +Kabul Afghanistan Madrid Spain +Kabul Afghanistan Managua Nicaragua +Kabul Afghanistan Manama Bahrain +Kabul Afghanistan Manila Philippines +Kabul Afghanistan Maputo Mozambique +Kabul Afghanistan Minsk Belarus +Kabul Afghanistan Mogadishu Somalia +Kabul Afghanistan Monrovia Liberia +Kabul Afghanistan Montevideo Uruguay +Kabul Afghanistan Moscow Russia +Kabul Afghanistan Muscat Oman +Kabul Afghanistan Nairobi Kenya +Kabul Afghanistan Nassau Bahamas +Kabul Afghanistan Niamey Niger +Kabul Afghanistan Nicosia Cyprus +Kabul Afghanistan Nouakchott Mauritania +Kabul Afghanistan Nuuk Greenland +Kabul Afghanistan Oslo Norway +Kabul Afghanistan Ottawa Canada +Kabul Afghanistan Paramaribo Suriname +Kabul Afghanistan Paris France +Kabul Afghanistan Podgorica Montenegro +Kabul Afghanistan Quito Ecuador +Kabul Afghanistan Rabat Morocco +Kabul Afghanistan Riga Latvia +Kampala Uganda Kathmandu Nepal +Kampala Uganda Khartoum Sudan +Kampala Uganda Kiev Ukraine +Kampala Uganda Kigali Rwanda +Kampala Uganda Kingston Jamaica +Kampala Uganda Libreville Gabon +Kampala Uganda Lilongwe Malawi +Kampala Uganda Lima Peru +Kampala Uganda Lisbon Portugal +Kampala Uganda Ljubljana Slovenia +Kampala Uganda London England +Kampala Uganda Luanda Angola +Kampala Uganda Lusaka Zambia +Kampala Uganda Madrid Spain +Kampala Uganda Managua Nicaragua +Kampala Uganda Manama Bahrain +Kampala Uganda Manila Philippines +Kampala Uganda Maputo Mozambique +Kampala Uganda Minsk Belarus +Kampala Uganda Mogadishu Somalia +Kampala Uganda Monrovia Liberia +Kampala Uganda Montevideo Uruguay +Kampala Uganda Moscow Russia +Kampala Uganda Muscat Oman +Kampala Uganda Nairobi Kenya +Kampala Uganda Nassau Bahamas +Kampala Uganda Niamey Niger +Kampala Uganda Nicosia Cyprus +Kampala Uganda Nouakchott Mauritania +Kampala Uganda Nuuk Greenland +Kampala Uganda Oslo Norway +Kampala Uganda Ottawa Canada +Kampala Uganda Paramaribo Suriname +Kampala Uganda Paris France +Kampala Uganda Podgorica Montenegro +Kampala Uganda Quito Ecuador +Kampala Uganda Rabat Morocco +Kampala Uganda Riga Latvia +Kampala Uganda Rome Italy +Kathmandu Nepal Khartoum Sudan +Kathmandu Nepal Kiev Ukraine +Kathmandu Nepal Kigali Rwanda +Kathmandu Nepal Kingston Jamaica +Kathmandu Nepal Libreville Gabon +Kathmandu Nepal Lilongwe Malawi +Kathmandu Nepal Lima Peru +Kathmandu Nepal Lisbon Portugal +Kathmandu Nepal Ljubljana Slovenia +Kathmandu Nepal London England +Kathmandu Nepal Luanda Angola +Kathmandu Nepal Lusaka Zambia +Kathmandu Nepal Madrid Spain +Kathmandu Nepal Managua Nicaragua +Kathmandu Nepal Manama Bahrain +Kathmandu Nepal Manila Philippines +Kathmandu Nepal Maputo Mozambique +Kathmandu Nepal Minsk Belarus +Kathmandu Nepal Mogadishu Somalia +Kathmandu Nepal Monrovia Liberia +Kathmandu Nepal Montevideo Uruguay +Kathmandu Nepal Moscow Russia +Kathmandu Nepal Muscat Oman +Kathmandu Nepal Nairobi Kenya +Kathmandu Nepal Nassau Bahamas +Kathmandu Nepal Niamey Niger +Kathmandu Nepal Nicosia Cyprus +Kathmandu Nepal Nouakchott Mauritania +Kathmandu Nepal Nuuk Greenland +Kathmandu Nepal Oslo Norway +Kathmandu Nepal Ottawa Canada +Kathmandu Nepal Paramaribo Suriname +Kathmandu Nepal Paris France +Kathmandu Nepal Podgorica Montenegro +Kathmandu Nepal Quito Ecuador +Kathmandu Nepal Rabat Morocco +Kathmandu Nepal Riga Latvia +Kathmandu Nepal Rome Italy +Kathmandu Nepal Roseau Dominica +Khartoum Sudan Kiev Ukraine +Khartoum Sudan Kigali Rwanda +Khartoum Sudan Kingston Jamaica +Khartoum Sudan Libreville Gabon +Khartoum Sudan Lilongwe Malawi +Khartoum Sudan Lima Peru +Khartoum Sudan Lisbon Portugal +Khartoum Sudan Ljubljana Slovenia +Khartoum Sudan London England +Khartoum Sudan Luanda Angola +Khartoum Sudan Lusaka Zambia +Khartoum Sudan Madrid Spain +Khartoum Sudan Managua Nicaragua +Khartoum Sudan Manama Bahrain +Khartoum Sudan Manila Philippines +Khartoum Sudan Maputo Mozambique +Khartoum Sudan Minsk Belarus +Khartoum Sudan Mogadishu Somalia +Khartoum Sudan Monrovia Liberia +Khartoum Sudan Montevideo Uruguay +Khartoum Sudan Moscow Russia +Khartoum Sudan Muscat Oman +Khartoum Sudan Nairobi Kenya +Khartoum Sudan Nassau Bahamas +Khartoum Sudan Niamey Niger +Khartoum Sudan Nicosia Cyprus +Khartoum Sudan Nouakchott Mauritania +Khartoum Sudan Nuuk Greenland +Khartoum Sudan Oslo Norway +Khartoum Sudan Ottawa Canada +Khartoum Sudan Paramaribo Suriname +Khartoum Sudan Paris France +Khartoum Sudan Podgorica Montenegro +Khartoum Sudan Quito Ecuador +Khartoum Sudan Rabat Morocco +Khartoum Sudan Riga Latvia +Khartoum Sudan Rome Italy +Khartoum Sudan Roseau Dominica +Khartoum Sudan Santiago Chile +Kiev Ukraine Kigali Rwanda +Kiev Ukraine Kingston Jamaica +Kiev Ukraine Libreville Gabon +Kiev Ukraine Lilongwe Malawi +Kiev Ukraine Lima Peru +Kiev Ukraine Lisbon Portugal +Kiev Ukraine Ljubljana Slovenia +Kiev Ukraine London England +Kiev Ukraine Luanda Angola +Kiev Ukraine Lusaka Zambia +Kiev Ukraine Madrid Spain +Kiev Ukraine Managua Nicaragua +Kiev Ukraine Manama Bahrain +Kiev Ukraine Manila Philippines +Kiev Ukraine Maputo Mozambique +Kiev Ukraine Minsk Belarus +Kiev Ukraine Mogadishu Somalia +Kiev Ukraine Monrovia Liberia +Kiev Ukraine Montevideo Uruguay +Kiev Ukraine Moscow Russia +Kiev Ukraine Muscat Oman +Kiev Ukraine Nairobi Kenya +Kiev Ukraine Nassau Bahamas +Kiev Ukraine Niamey Niger +Kiev Ukraine Nicosia Cyprus +Kiev Ukraine Nouakchott Mauritania +Kiev Ukraine Nuuk Greenland +Kiev Ukraine Oslo Norway +Kiev Ukraine Ottawa Canada +Kiev Ukraine Paramaribo Suriname +Kiev Ukraine Paris France +Kiev Ukraine Podgorica Montenegro +Kiev Ukraine Quito Ecuador +Kiev Ukraine Rabat Morocco +Kiev Ukraine Riga Latvia +Kiev Ukraine Rome Italy +Kiev Ukraine Roseau Dominica +Kiev Ukraine Santiago Chile +Kiev Ukraine Skopje Macedonia +Kigali Rwanda Kingston Jamaica +Kigali Rwanda Libreville Gabon +Kigali Rwanda Lilongwe Malawi +Kigali Rwanda Lima Peru +Kigali Rwanda Lisbon Portugal +Kigali Rwanda Ljubljana Slovenia +Kigali Rwanda London England +Kigali Rwanda Luanda Angola +Kigali Rwanda Lusaka Zambia +Kigali Rwanda Madrid Spain +Kigali Rwanda Managua Nicaragua +Kigali Rwanda Manama Bahrain +Kigali Rwanda Manila Philippines +Kigali Rwanda Maputo Mozambique +Kigali Rwanda Minsk Belarus +Kigali Rwanda Mogadishu Somalia +Kigali Rwanda Monrovia Liberia +Kigali Rwanda Montevideo Uruguay +Kigali Rwanda Moscow Russia +Kigali Rwanda Muscat Oman +Kigali Rwanda Nairobi Kenya +Kigali Rwanda Nassau Bahamas +Kigali Rwanda Niamey Niger +Kigali Rwanda Nicosia Cyprus +Kigali Rwanda Nouakchott Mauritania +Kigali Rwanda Nuuk Greenland +Kigali Rwanda Oslo Norway +Kigali Rwanda Ottawa Canada +Kigali Rwanda Paramaribo Suriname +Kigali Rwanda Paris France +Kigali Rwanda Podgorica Montenegro +Kigali Rwanda Quito Ecuador +Kigali Rwanda Rabat Morocco +Kigali Rwanda Riga Latvia +Kigali Rwanda Rome Italy +Kigali Rwanda Roseau Dominica +Kigali Rwanda Santiago Chile +Kigali Rwanda Skopje Macedonia +Kigali Rwanda Sofia Bulgaria +Kingston Jamaica Libreville Gabon +Kingston Jamaica Lilongwe Malawi +Kingston Jamaica Lima Peru +Kingston Jamaica Lisbon Portugal +Kingston Jamaica Ljubljana Slovenia +Kingston Jamaica London England +Kingston Jamaica Luanda Angola +Kingston Jamaica Lusaka Zambia +Kingston Jamaica Madrid Spain +Kingston Jamaica Managua Nicaragua +Kingston Jamaica Manama Bahrain +Kingston Jamaica Manila Philippines +Kingston Jamaica Maputo Mozambique +Kingston Jamaica Minsk Belarus +Kingston Jamaica Mogadishu Somalia +Kingston Jamaica Monrovia Liberia +Kingston Jamaica Montevideo Uruguay +Kingston Jamaica Moscow Russia +Kingston Jamaica Muscat Oman +Kingston Jamaica Nairobi Kenya +Kingston Jamaica Nassau Bahamas +Kingston Jamaica Niamey Niger +Kingston Jamaica Nicosia Cyprus +Kingston Jamaica Nouakchott Mauritania +Kingston Jamaica Nuuk Greenland +Kingston Jamaica Oslo Norway +Kingston Jamaica Ottawa Canada +Kingston Jamaica Paramaribo Suriname +Kingston Jamaica Paris France +Kingston Jamaica Podgorica Montenegro +Kingston Jamaica Quito Ecuador +Kingston Jamaica Rabat Morocco +Kingston Jamaica Riga Latvia +Kingston Jamaica Rome Italy +Kingston Jamaica Roseau Dominica +Kingston Jamaica Santiago Chile +Kingston Jamaica Skopje Macedonia +Kingston Jamaica Sofia Bulgaria +Kingston Jamaica Stockholm Sweden +Libreville Gabon Lilongwe Malawi +Libreville Gabon Lima Peru +Libreville Gabon Lisbon Portugal +Libreville Gabon Ljubljana Slovenia +Libreville Gabon London England +Libreville Gabon Luanda Angola +Libreville Gabon Lusaka Zambia +Libreville Gabon Madrid Spain +Libreville Gabon Managua Nicaragua +Libreville Gabon Manama Bahrain +Libreville Gabon Manila Philippines +Libreville Gabon Maputo Mozambique +Libreville Gabon Minsk Belarus +Libreville Gabon Mogadishu Somalia +Libreville Gabon Monrovia Liberia +Libreville Gabon Montevideo Uruguay +Libreville Gabon Moscow Russia +Libreville Gabon Muscat Oman +Libreville Gabon Nairobi Kenya +Libreville Gabon Nassau Bahamas +Libreville Gabon Niamey Niger +Libreville Gabon Nicosia Cyprus +Libreville Gabon Nouakchott Mauritania +Libreville Gabon Nuuk Greenland +Libreville Gabon Oslo Norway +Libreville Gabon Ottawa Canada +Libreville Gabon Paramaribo Suriname +Libreville Gabon Paris France +Libreville Gabon Podgorica Montenegro +Libreville Gabon Quito Ecuador +Libreville Gabon Rabat Morocco +Libreville Gabon Riga Latvia +Libreville Gabon Rome Italy +Libreville Gabon Roseau Dominica +Libreville Gabon Santiago Chile +Libreville Gabon Skopje Macedonia +Libreville Gabon Sofia Bulgaria +Libreville Gabon Stockholm Sweden +Libreville Gabon Suva Fiji +Lilongwe Malawi Lima Peru +Lilongwe Malawi Lisbon Portugal +Lilongwe Malawi Ljubljana Slovenia +Lilongwe Malawi London England +Lilongwe Malawi Luanda Angola +Lilongwe Malawi Lusaka Zambia +Lilongwe Malawi Madrid Spain +Lilongwe Malawi Managua Nicaragua +Lilongwe Malawi Manama Bahrain +Lilongwe Malawi Manila Philippines +Lilongwe Malawi Maputo Mozambique +Lilongwe Malawi Minsk Belarus +Lilongwe Malawi Mogadishu Somalia +Lilongwe Malawi Monrovia Liberia +Lilongwe Malawi Montevideo Uruguay +Lilongwe Malawi Moscow Russia +Lilongwe Malawi Muscat Oman +Lilongwe Malawi Nairobi Kenya +Lilongwe Malawi Nassau Bahamas +Lilongwe Malawi Niamey Niger +Lilongwe Malawi Nicosia Cyprus +Lilongwe Malawi Nouakchott Mauritania +Lilongwe Malawi Nuuk Greenland +Lilongwe Malawi Oslo Norway +Lilongwe Malawi Ottawa Canada +Lilongwe Malawi Paramaribo Suriname +Lilongwe Malawi Paris France +Lilongwe Malawi Podgorica Montenegro +Lilongwe Malawi Quito Ecuador +Lilongwe Malawi Rabat Morocco +Lilongwe Malawi Riga Latvia +Lilongwe Malawi Rome Italy +Lilongwe Malawi Roseau Dominica +Lilongwe Malawi Santiago Chile +Lilongwe Malawi Skopje Macedonia +Lilongwe Malawi Sofia Bulgaria +Lilongwe Malawi Stockholm Sweden +Lilongwe Malawi Suva Fiji +Lilongwe Malawi Taipei Taiwan +Lima Peru Lisbon Portugal +Lima Peru Ljubljana Slovenia +Lima Peru London England +Lima Peru Luanda Angola +Lima Peru Lusaka Zambia +Lima Peru Madrid Spain +Lima Peru Managua Nicaragua +Lima Peru Manama Bahrain +Lima Peru Manila Philippines +Lima Peru Maputo Mozambique +Lima Peru Minsk Belarus +Lima Peru Mogadishu Somalia +Lima Peru Monrovia Liberia +Lima Peru Montevideo Uruguay +Lima Peru Moscow Russia +Lima Peru Muscat Oman +Lima Peru Nairobi Kenya +Lima Peru Nassau Bahamas +Lima Peru Niamey Niger +Lima Peru Nicosia Cyprus +Lima Peru Nouakchott Mauritania +Lima Peru Nuuk Greenland +Lima Peru Oslo Norway +Lima Peru Ottawa Canada +Lima Peru Paramaribo Suriname +Lima Peru Paris France +Lima Peru Podgorica Montenegro +Lima Peru Quito Ecuador +Lima Peru Rabat Morocco +Lima Peru Riga Latvia +Lima Peru Rome Italy +Lima Peru Roseau Dominica +Lima Peru Santiago Chile +Lima Peru Skopje Macedonia +Lima Peru Sofia Bulgaria +Lima Peru Stockholm Sweden +Lima Peru Suva Fiji +Lima Peru Taipei Taiwan +Lima Peru Tallinn Estonia +Lisbon Portugal Ljubljana Slovenia +Lisbon Portugal London England +Lisbon Portugal Luanda Angola +Lisbon Portugal Lusaka Zambia +Lisbon Portugal Madrid Spain +Lisbon Portugal Managua Nicaragua +Lisbon Portugal Manama Bahrain +Lisbon Portugal Manila Philippines +Lisbon Portugal Maputo Mozambique +Lisbon Portugal Minsk Belarus +Lisbon Portugal Mogadishu Somalia +Lisbon Portugal Monrovia Liberia +Lisbon Portugal Montevideo Uruguay +Lisbon Portugal Moscow Russia +Lisbon Portugal Muscat Oman +Lisbon Portugal Nairobi Kenya +Lisbon Portugal Nassau Bahamas +Lisbon Portugal Niamey Niger +Lisbon Portugal Nicosia Cyprus +Lisbon Portugal Nouakchott Mauritania +Lisbon Portugal Nuuk Greenland +Lisbon Portugal Oslo Norway +Lisbon Portugal Ottawa Canada +Lisbon Portugal Paramaribo Suriname +Lisbon Portugal Paris France +Lisbon Portugal Podgorica Montenegro +Lisbon Portugal Quito Ecuador +Lisbon Portugal Rabat Morocco +Lisbon Portugal Riga Latvia +Lisbon Portugal Rome Italy +Lisbon Portugal Roseau Dominica +Lisbon Portugal Santiago Chile +Lisbon Portugal Skopje Macedonia +Lisbon Portugal Sofia Bulgaria +Lisbon Portugal Stockholm Sweden +Lisbon Portugal Suva Fiji +Lisbon Portugal Taipei Taiwan +Lisbon Portugal Tallinn Estonia +Lisbon Portugal Tashkent Uzbekistan +Ljubljana Slovenia London England +Ljubljana Slovenia Luanda Angola +Ljubljana Slovenia Lusaka Zambia +Ljubljana Slovenia Madrid Spain +Ljubljana Slovenia Managua Nicaragua +Ljubljana Slovenia Manama Bahrain +Ljubljana Slovenia Manila Philippines +Ljubljana Slovenia Maputo Mozambique +Ljubljana Slovenia Minsk Belarus +Ljubljana Slovenia Mogadishu Somalia +Ljubljana Slovenia Monrovia Liberia +Ljubljana Slovenia Montevideo Uruguay +Ljubljana Slovenia Moscow Russia +Ljubljana Slovenia Muscat Oman +Ljubljana Slovenia Nairobi Kenya +Ljubljana Slovenia Nassau Bahamas +Ljubljana Slovenia Niamey Niger +Ljubljana Slovenia Nicosia Cyprus +Ljubljana Slovenia Nouakchott Mauritania +Ljubljana Slovenia Nuuk Greenland +Ljubljana Slovenia Oslo Norway +Ljubljana Slovenia Ottawa Canada +Ljubljana Slovenia Paramaribo Suriname +Ljubljana Slovenia Paris France +Ljubljana Slovenia Podgorica Montenegro +Ljubljana Slovenia Quito Ecuador +Ljubljana Slovenia Rabat Morocco +Ljubljana Slovenia Riga Latvia +Ljubljana Slovenia Rome Italy +Ljubljana Slovenia Roseau Dominica +Ljubljana Slovenia Santiago Chile +Ljubljana Slovenia Skopje Macedonia +Ljubljana Slovenia Sofia Bulgaria +Ljubljana Slovenia Stockholm Sweden +Ljubljana Slovenia Suva Fiji +Ljubljana Slovenia Taipei Taiwan +Ljubljana Slovenia Tallinn Estonia +Ljubljana Slovenia Tashkent Uzbekistan +Ljubljana Slovenia Tbilisi Georgia +London England Luanda Angola +London England Lusaka Zambia +London England Madrid Spain +London England Managua Nicaragua +London England Manama Bahrain +London England Manila Philippines +London England Maputo Mozambique +London England Minsk Belarus +London England Mogadishu Somalia +London England Monrovia Liberia +London England Montevideo Uruguay +London England Moscow Russia +London England Muscat Oman +London England Nairobi Kenya +London England Nassau Bahamas +London England Niamey Niger +London England Nicosia Cyprus +London England Nouakchott Mauritania +London England Nuuk Greenland +London England Oslo Norway +London England Ottawa Canada +London England Paramaribo Suriname +London England Paris France +London England Podgorica Montenegro +London England Quito Ecuador +London England Rabat Morocco +London England Riga Latvia +London England Rome Italy +London England Roseau Dominica +London England Santiago Chile +London England Skopje Macedonia +London England Sofia Bulgaria +London England Stockholm Sweden +London England Suva Fiji +London England Taipei Taiwan +London England Tallinn Estonia +London England Tashkent Uzbekistan +London England Tbilisi Georgia +London England Tegucigalpa Honduras +Luanda Angola Lusaka Zambia +Luanda Angola Madrid Spain +Luanda Angola Managua Nicaragua +Luanda Angola Manama Bahrain +Luanda Angola Manila Philippines +Luanda Angola Maputo Mozambique +Luanda Angola Minsk Belarus +Luanda Angola Mogadishu Somalia +Luanda Angola Monrovia Liberia +Luanda Angola Montevideo Uruguay +Luanda Angola Moscow Russia +Luanda Angola Muscat Oman +Luanda Angola Nairobi Kenya +Luanda Angola Nassau Bahamas +Luanda Angola Niamey Niger +Luanda Angola Nicosia Cyprus +Luanda Angola Nouakchott Mauritania +Luanda Angola Nuuk Greenland +Luanda Angola Oslo Norway +Luanda Angola Ottawa Canada +Luanda Angola Paramaribo Suriname +Luanda Angola Paris France +Luanda Angola Podgorica Montenegro +Luanda Angola Quito Ecuador +Luanda Angola Rabat Morocco +Luanda Angola Riga Latvia +Luanda Angola Rome Italy +Luanda Angola Roseau Dominica +Luanda Angola Santiago Chile +Luanda Angola Skopje Macedonia +Luanda Angola Sofia Bulgaria +Luanda Angola Stockholm Sweden +Luanda Angola Suva Fiji +Luanda Angola Taipei Taiwan +Luanda Angola Tallinn Estonia +Luanda Angola Tashkent Uzbekistan +Luanda Angola Tbilisi Georgia +Luanda Angola Tegucigalpa Honduras +Luanda Angola Tehran Iran +Lusaka Zambia Madrid Spain +Lusaka Zambia Managua Nicaragua +Lusaka Zambia Manama Bahrain +Lusaka Zambia Manila Philippines +Lusaka Zambia Maputo Mozambique +Lusaka Zambia Minsk Belarus +Lusaka Zambia Mogadishu Somalia +Lusaka Zambia Monrovia Liberia +Lusaka Zambia Montevideo Uruguay +Lusaka Zambia Moscow Russia +Lusaka Zambia Muscat Oman +Lusaka Zambia Nairobi Kenya +Lusaka Zambia Nassau Bahamas +Lusaka Zambia Niamey Niger +Lusaka Zambia Nicosia Cyprus +Lusaka Zambia Nouakchott Mauritania +Lusaka Zambia Nuuk Greenland +Lusaka Zambia Oslo Norway +Lusaka Zambia Ottawa Canada +Lusaka Zambia Paramaribo Suriname +Lusaka Zambia Paris France +Lusaka Zambia Podgorica Montenegro +Lusaka Zambia Quito Ecuador +Lusaka Zambia Rabat Morocco +Lusaka Zambia Riga Latvia +Lusaka Zambia Rome Italy +Lusaka Zambia Roseau Dominica +Lusaka Zambia Santiago Chile +Lusaka Zambia Skopje Macedonia +Lusaka Zambia Sofia Bulgaria +Lusaka Zambia Stockholm Sweden +Lusaka Zambia Suva Fiji +Lusaka Zambia Taipei Taiwan +Lusaka Zambia Tallinn Estonia +Lusaka Zambia Tashkent Uzbekistan +Lusaka Zambia Tbilisi Georgia +Lusaka Zambia Tegucigalpa Honduras +Lusaka Zambia Tehran Iran +Lusaka Zambia Thimphu Bhutan +Madrid Spain Managua Nicaragua +Madrid Spain Manama Bahrain +Madrid Spain Manila Philippines +Madrid Spain Maputo Mozambique +Madrid Spain Minsk Belarus +Madrid Spain Mogadishu Somalia +Madrid Spain Monrovia Liberia +Madrid Spain Montevideo Uruguay +Madrid Spain Moscow Russia +Madrid Spain Muscat Oman +Madrid Spain Nairobi Kenya +Madrid Spain Nassau Bahamas +Madrid Spain Niamey Niger +Madrid Spain Nicosia Cyprus +Madrid Spain Nouakchott Mauritania +Madrid Spain Nuuk Greenland +Madrid Spain Oslo Norway +Madrid Spain Ottawa Canada +Madrid Spain Paramaribo Suriname +Madrid Spain Paris France +Madrid Spain Podgorica Montenegro +Madrid Spain Quito Ecuador +Madrid Spain Rabat Morocco +Madrid Spain Riga Latvia +Madrid Spain Rome Italy +Madrid Spain Roseau Dominica +Madrid Spain Santiago Chile +Madrid Spain Skopje Macedonia +Madrid Spain Sofia Bulgaria +Madrid Spain Stockholm Sweden +Madrid Spain Suva Fiji +Madrid Spain Taipei Taiwan +Madrid Spain Tallinn Estonia +Madrid Spain Tashkent Uzbekistan +Madrid Spain Tbilisi Georgia +Madrid Spain Tegucigalpa Honduras +Madrid Spain Tehran Iran +Madrid Spain Thimphu Bhutan +Madrid Spain Tirana Albania +Managua Nicaragua Manama Bahrain +Managua Nicaragua Manila Philippines +Managua Nicaragua Maputo Mozambique +Managua Nicaragua Minsk Belarus +Managua Nicaragua Mogadishu Somalia +Managua Nicaragua Monrovia Liberia +Managua Nicaragua Montevideo Uruguay +Managua Nicaragua Moscow Russia +Managua Nicaragua Muscat Oman +Managua Nicaragua Nairobi Kenya +Managua Nicaragua Nassau Bahamas +Managua Nicaragua Niamey Niger +Managua Nicaragua Nicosia Cyprus +Managua Nicaragua Nouakchott Mauritania +Managua Nicaragua Nuuk Greenland +Managua Nicaragua Oslo Norway +Managua Nicaragua Ottawa Canada +Managua Nicaragua Paramaribo Suriname +Managua Nicaragua Paris France +Managua Nicaragua Podgorica Montenegro +Managua Nicaragua Quito Ecuador +Managua Nicaragua Rabat Morocco +Managua Nicaragua Riga Latvia +Managua Nicaragua Rome Italy +Managua Nicaragua Roseau Dominica +Managua Nicaragua Santiago Chile +Managua Nicaragua Skopje Macedonia +Managua Nicaragua Sofia Bulgaria +Managua Nicaragua Stockholm Sweden +Managua Nicaragua Suva Fiji +Managua Nicaragua Taipei Taiwan +Managua Nicaragua Tallinn Estonia +Managua Nicaragua Tashkent Uzbekistan +Managua Nicaragua Tbilisi Georgia +Managua Nicaragua Tegucigalpa Honduras +Managua Nicaragua Tehran Iran +Managua Nicaragua Thimphu Bhutan +Managua Nicaragua Tirana Albania +Managua Nicaragua Tokyo Japan +Manama Bahrain Manila Philippines +Manama Bahrain Maputo Mozambique +Manama Bahrain Minsk Belarus +Manama Bahrain Mogadishu Somalia +Manama Bahrain Monrovia Liberia +Manama Bahrain Montevideo Uruguay +Manama Bahrain Moscow Russia +Manama Bahrain Muscat Oman +Manama Bahrain Nairobi Kenya +Manama Bahrain Nassau Bahamas +Manama Bahrain Niamey Niger +Manama Bahrain Nicosia Cyprus +Manama Bahrain Nouakchott Mauritania +Manama Bahrain Nuuk Greenland +Manama Bahrain Oslo Norway +Manama Bahrain Ottawa Canada +Manama Bahrain Paramaribo Suriname +Manama Bahrain Paris France +Manama Bahrain Podgorica Montenegro +Manama Bahrain Quito Ecuador +Manama Bahrain Rabat Morocco +Manama Bahrain Riga Latvia +Manama Bahrain Rome Italy +Manama Bahrain Roseau Dominica +Manama Bahrain Santiago Chile +Manama Bahrain Skopje Macedonia +Manama Bahrain Sofia Bulgaria +Manama Bahrain Stockholm Sweden +Manama Bahrain Suva Fiji +Manama Bahrain Taipei Taiwan +Manama Bahrain Tallinn Estonia +Manama Bahrain Tashkent Uzbekistan +Manama Bahrain Tbilisi Georgia +Manama Bahrain Tegucigalpa Honduras +Manama Bahrain Tehran Iran +Manama Bahrain Thimphu Bhutan +Manama Bahrain Tirana Albania +Manama Bahrain Tokyo Japan +Manama Bahrain Tripoli Libya +Manila Philippines Maputo Mozambique +Manila Philippines Minsk Belarus +Manila Philippines Mogadishu Somalia +Manila Philippines Monrovia Liberia +Manila Philippines Montevideo Uruguay +Manila Philippines Moscow Russia +Manila Philippines Muscat Oman +Manila Philippines Nairobi Kenya +Manila Philippines Nassau Bahamas +Manila Philippines Niamey Niger +Manila Philippines Nicosia Cyprus +Manila Philippines Nouakchott Mauritania +Manila Philippines Nuuk Greenland +Manila Philippines Oslo Norway +Manila Philippines Ottawa Canada +Manila Philippines Paramaribo Suriname +Manila Philippines Paris France +Manila Philippines Podgorica Montenegro +Manila Philippines Quito Ecuador +Manila Philippines Rabat Morocco +Manila Philippines Riga Latvia +Manila Philippines Rome Italy +Manila Philippines Roseau Dominica +Manila Philippines Santiago Chile +Manila Philippines Skopje Macedonia +Manila Philippines Sofia Bulgaria +Manila Philippines Stockholm Sweden +Manila Philippines Suva Fiji +Manila Philippines Taipei Taiwan +Manila Philippines Tallinn Estonia +Manila Philippines Tashkent Uzbekistan +Manila Philippines Tbilisi Georgia +Manila Philippines Tegucigalpa Honduras +Manila Philippines Tehran Iran +Manila Philippines Thimphu Bhutan +Manila Philippines Tirana Albania +Manila Philippines Tokyo Japan +Manila Philippines Tripoli Libya +Manila Philippines Tunis Tunisia +Maputo Mozambique Minsk Belarus +Maputo Mozambique Mogadishu Somalia +Maputo Mozambique Monrovia Liberia +Maputo Mozambique Montevideo Uruguay +Maputo Mozambique Moscow Russia +Maputo Mozambique Muscat Oman +Maputo Mozambique Nairobi Kenya +Maputo Mozambique Nassau Bahamas +Maputo Mozambique Niamey Niger +Maputo Mozambique Nicosia Cyprus +Maputo Mozambique Nouakchott Mauritania +Maputo Mozambique Nuuk Greenland +Maputo Mozambique Oslo Norway +Maputo Mozambique Ottawa Canada +Maputo Mozambique Paramaribo Suriname +Maputo Mozambique Paris France +Maputo Mozambique Podgorica Montenegro +Maputo Mozambique Quito Ecuador +Maputo Mozambique Rabat Morocco +Maputo Mozambique Riga Latvia +Maputo Mozambique Rome Italy +Maputo Mozambique Roseau Dominica +Maputo Mozambique Santiago Chile +Maputo Mozambique Skopje Macedonia +Maputo Mozambique Sofia Bulgaria +Maputo Mozambique Stockholm Sweden +Maputo Mozambique Suva Fiji +Maputo Mozambique Taipei Taiwan +Maputo Mozambique Tallinn Estonia +Maputo Mozambique Tashkent Uzbekistan +Maputo Mozambique Tbilisi Georgia +Maputo Mozambique Tegucigalpa Honduras +Maputo Mozambique Tehran Iran +Maputo Mozambique Thimphu Bhutan +Maputo Mozambique Tirana Albania +Maputo Mozambique Tokyo Japan +Maputo Mozambique Tripoli Libya +Maputo Mozambique Tunis Tunisia +Maputo Mozambique Vaduz Liechtenstein +Minsk Belarus Mogadishu Somalia +Minsk Belarus Monrovia Liberia +Minsk Belarus Montevideo Uruguay +Minsk Belarus Moscow Russia +Minsk Belarus Muscat Oman +Minsk Belarus Nairobi Kenya +Minsk Belarus Nassau Bahamas +Minsk Belarus Niamey Niger +Minsk Belarus Nicosia Cyprus +Minsk Belarus Nouakchott Mauritania +Minsk Belarus Nuuk Greenland +Minsk Belarus Oslo Norway +Minsk Belarus Ottawa Canada +Minsk Belarus Paramaribo Suriname +Minsk Belarus Paris France +Minsk Belarus Podgorica Montenegro +Minsk Belarus Quito Ecuador +Minsk Belarus Rabat Morocco +Minsk Belarus Riga Latvia +Minsk Belarus Rome Italy +Minsk Belarus Roseau Dominica +Minsk Belarus Santiago Chile +Minsk Belarus Skopje Macedonia +Minsk Belarus Sofia Bulgaria +Minsk Belarus Stockholm Sweden +Minsk Belarus Suva Fiji +Minsk Belarus Taipei Taiwan +Minsk Belarus Tallinn Estonia +Minsk Belarus Tashkent Uzbekistan +Minsk Belarus Tbilisi Georgia +Minsk Belarus Tegucigalpa Honduras +Minsk Belarus Tehran Iran +Minsk Belarus Thimphu Bhutan +Minsk Belarus Tirana Albania +Minsk Belarus Tokyo Japan +Minsk Belarus Tripoli Libya +Minsk Belarus Tunis Tunisia +Minsk Belarus Vaduz Liechtenstein +Minsk Belarus Valletta Malta +Mogadishu Somalia Monrovia Liberia +Mogadishu Somalia Montevideo Uruguay +Mogadishu Somalia Moscow Russia +Mogadishu Somalia Muscat Oman +Mogadishu Somalia Nairobi Kenya +Mogadishu Somalia Nassau Bahamas +Mogadishu Somalia Niamey Niger +Mogadishu Somalia Nicosia Cyprus +Mogadishu Somalia Nouakchott Mauritania +Mogadishu Somalia Nuuk Greenland +Mogadishu Somalia Oslo Norway +Mogadishu Somalia Ottawa Canada +Mogadishu Somalia Paramaribo Suriname +Mogadishu Somalia Paris France +Mogadishu Somalia Podgorica Montenegro +Mogadishu Somalia Quito Ecuador +Mogadishu Somalia Rabat Morocco +Mogadishu Somalia Riga Latvia +Mogadishu Somalia Rome Italy +Mogadishu Somalia Roseau Dominica +Mogadishu Somalia Santiago Chile +Mogadishu Somalia Skopje Macedonia +Mogadishu Somalia Sofia Bulgaria +Mogadishu Somalia Stockholm Sweden +Mogadishu Somalia Suva Fiji +Mogadishu Somalia Taipei Taiwan +Mogadishu Somalia Tallinn Estonia +Mogadishu Somalia Tashkent Uzbekistan +Mogadishu Somalia Tbilisi Georgia +Mogadishu Somalia Tegucigalpa Honduras +Mogadishu Somalia Tehran Iran +Mogadishu Somalia Thimphu Bhutan +Mogadishu Somalia Tirana Albania +Mogadishu Somalia Tokyo Japan +Mogadishu Somalia Tripoli Libya +Mogadishu Somalia Tunis Tunisia +Mogadishu Somalia Vaduz Liechtenstein +Mogadishu Somalia Valletta Malta +Mogadishu Somalia Vienna Austria +Monrovia Liberia Montevideo Uruguay +Monrovia Liberia Moscow Russia +Monrovia Liberia Muscat Oman +Monrovia Liberia Nairobi Kenya +Monrovia Liberia Nassau Bahamas +Monrovia Liberia Niamey Niger +Monrovia Liberia Nicosia Cyprus +Monrovia Liberia Nouakchott Mauritania +Monrovia Liberia Nuuk Greenland +Monrovia Liberia Oslo Norway +Monrovia Liberia Ottawa Canada +Monrovia Liberia Paramaribo Suriname +Monrovia Liberia Paris France +Monrovia Liberia Podgorica Montenegro +Monrovia Liberia Quito Ecuador +Monrovia Liberia Rabat Morocco +Monrovia Liberia Riga Latvia +Monrovia Liberia Rome Italy +Monrovia Liberia Roseau Dominica +Monrovia Liberia Santiago Chile +Monrovia Liberia Skopje Macedonia +Monrovia Liberia Sofia Bulgaria +Monrovia Liberia Stockholm Sweden +Monrovia Liberia Suva Fiji +Monrovia Liberia Taipei Taiwan +Monrovia Liberia Tallinn Estonia +Monrovia Liberia Tashkent Uzbekistan +Monrovia Liberia Tbilisi Georgia +Monrovia Liberia Tegucigalpa Honduras +Monrovia Liberia Tehran Iran +Monrovia Liberia Thimphu Bhutan +Monrovia Liberia Tirana Albania +Monrovia Liberia Tokyo Japan +Monrovia Liberia Tripoli Libya +Monrovia Liberia Tunis Tunisia +Monrovia Liberia Vaduz Liechtenstein +Monrovia Liberia Valletta Malta +Monrovia Liberia Vienna Austria +Monrovia Liberia Vientiane Laos +Montevideo Uruguay Moscow Russia +Montevideo Uruguay Muscat Oman +Montevideo Uruguay Nairobi Kenya +Montevideo Uruguay Nassau Bahamas +Montevideo Uruguay Niamey Niger +Montevideo Uruguay Nicosia Cyprus +Montevideo Uruguay Nouakchott Mauritania +Montevideo Uruguay Nuuk Greenland +Montevideo Uruguay Oslo Norway +Montevideo Uruguay Ottawa Canada +Montevideo Uruguay Paramaribo Suriname +Montevideo Uruguay Paris France +Montevideo Uruguay Podgorica Montenegro +Montevideo Uruguay Quito Ecuador +Montevideo Uruguay Rabat Morocco +Montevideo Uruguay Riga Latvia +Montevideo Uruguay Rome Italy +Montevideo Uruguay Roseau Dominica +Montevideo Uruguay Santiago Chile +Montevideo Uruguay Skopje Macedonia +Montevideo Uruguay Sofia Bulgaria +Montevideo Uruguay Stockholm Sweden +Montevideo Uruguay Suva Fiji +Montevideo Uruguay Taipei Taiwan +Montevideo Uruguay Tallinn Estonia +Montevideo Uruguay Tashkent Uzbekistan +Montevideo Uruguay Tbilisi Georgia +Montevideo Uruguay Tegucigalpa Honduras +Montevideo Uruguay Tehran Iran +Montevideo Uruguay Thimphu Bhutan +Montevideo Uruguay Tirana Albania +Montevideo Uruguay Tokyo Japan +Montevideo Uruguay Tripoli Libya +Montevideo Uruguay Tunis Tunisia +Montevideo Uruguay Vaduz Liechtenstein +Montevideo Uruguay Valletta Malta +Montevideo Uruguay Vienna Austria +Montevideo Uruguay Vientiane Laos +Montevideo Uruguay Vilnius Lithuania +Moscow Russia Muscat Oman +Moscow Russia Nairobi Kenya +Moscow Russia Nassau Bahamas +Moscow Russia Niamey Niger +Moscow Russia Nicosia Cyprus +Moscow Russia Nouakchott Mauritania +Moscow Russia Nuuk Greenland +Moscow Russia Oslo Norway +Moscow Russia Ottawa Canada +Moscow Russia Paramaribo Suriname +Moscow Russia Paris France +Moscow Russia Podgorica Montenegro +Moscow Russia Quito Ecuador +Moscow Russia Rabat Morocco +Moscow Russia Riga Latvia +Moscow Russia Rome Italy +Moscow Russia Roseau Dominica +Moscow Russia Santiago Chile +Moscow Russia Skopje Macedonia +Moscow Russia Sofia Bulgaria +Moscow Russia Stockholm Sweden +Moscow Russia Suva Fiji +Moscow Russia Taipei Taiwan +Moscow Russia Tallinn Estonia +Moscow Russia Tashkent Uzbekistan +Moscow Russia Tbilisi Georgia +Moscow Russia Tegucigalpa Honduras +Moscow Russia Tehran Iran +Moscow Russia Thimphu Bhutan +Moscow Russia Tirana Albania +Moscow Russia Tokyo Japan +Moscow Russia Tripoli Libya +Moscow Russia Tunis Tunisia +Moscow Russia Vaduz Liechtenstein +Moscow Russia Valletta Malta +Moscow Russia Vienna Austria +Moscow Russia Vientiane Laos +Moscow Russia Vilnius Lithuania +Moscow Russia Warsaw Poland +Muscat Oman Nairobi Kenya +Muscat Oman Nassau Bahamas +Muscat Oman Niamey Niger +Muscat Oman Nicosia Cyprus +Muscat Oman Nouakchott Mauritania +Muscat Oman Nuuk Greenland +Muscat Oman Oslo Norway +Muscat Oman Ottawa Canada +Muscat Oman Paramaribo Suriname +Muscat Oman Paris France +Muscat Oman Podgorica Montenegro +Muscat Oman Quito Ecuador +Muscat Oman Rabat Morocco +Muscat Oman Riga Latvia +Muscat Oman Rome Italy +Muscat Oman Roseau Dominica +Muscat Oman Santiago Chile +Muscat Oman Skopje Macedonia +Muscat Oman Sofia Bulgaria +Muscat Oman Stockholm Sweden +Muscat Oman Suva Fiji +Muscat Oman Taipei Taiwan +Muscat Oman Tallinn Estonia +Muscat Oman Tashkent Uzbekistan +Muscat Oman Tbilisi Georgia +Muscat Oman Tegucigalpa Honduras +Muscat Oman Tehran Iran +Muscat Oman Thimphu Bhutan +Muscat Oman Tirana Albania +Muscat Oman Tokyo Japan +Muscat Oman Tripoli Libya +Muscat Oman Tunis Tunisia +Muscat Oman Vaduz Liechtenstein +Muscat Oman Valletta Malta +Muscat Oman Vienna Austria +Muscat Oman Vientiane Laos +Muscat Oman Vilnius Lithuania +Muscat Oman Warsaw Poland +Muscat Oman Windhoek Namibia +Nairobi Kenya Nassau Bahamas +Nairobi Kenya Niamey Niger +Nairobi Kenya Nicosia Cyprus +Nairobi Kenya Nouakchott Mauritania +Nairobi Kenya Nuuk Greenland +Nairobi Kenya Oslo Norway +Nairobi Kenya Ottawa Canada +Nairobi Kenya Paramaribo Suriname +Nairobi Kenya Paris France +Nairobi Kenya Podgorica Montenegro +Nairobi Kenya Quito Ecuador +Nairobi Kenya Rabat Morocco +Nairobi Kenya Riga Latvia +Nairobi Kenya Rome Italy +Nairobi Kenya Roseau Dominica +Nairobi Kenya Santiago Chile +Nairobi Kenya Skopje Macedonia +Nairobi Kenya Sofia Bulgaria +Nairobi Kenya Stockholm Sweden +Nairobi Kenya Suva Fiji +Nairobi Kenya Taipei Taiwan +Nairobi Kenya Tallinn Estonia +Nairobi Kenya Tashkent Uzbekistan +Nairobi Kenya Tbilisi Georgia +Nairobi Kenya Tegucigalpa Honduras +Nairobi Kenya Tehran Iran +Nairobi Kenya Thimphu Bhutan +Nairobi Kenya Tirana Albania +Nairobi Kenya Tokyo Japan +Nairobi Kenya Tripoli Libya +Nairobi Kenya Tunis Tunisia +Nairobi Kenya Vaduz Liechtenstein +Nairobi Kenya Valletta Malta +Nairobi Kenya Vienna Austria +Nairobi Kenya Vientiane Laos +Nairobi Kenya Vilnius Lithuania +Nairobi Kenya Warsaw Poland +Nairobi Kenya Windhoek Namibia +Nairobi Kenya Yerevan Armenia +Nassau Bahamas Niamey Niger +Nassau Bahamas Nicosia Cyprus +Nassau Bahamas Nouakchott Mauritania +Nassau Bahamas Nuuk Greenland +Nassau Bahamas Oslo Norway +Nassau Bahamas Ottawa Canada +Nassau Bahamas Paramaribo Suriname +Nassau Bahamas Paris France +Nassau Bahamas Podgorica Montenegro +Nassau Bahamas Quito Ecuador +Nassau Bahamas Rabat Morocco +Nassau Bahamas Riga Latvia +Nassau Bahamas Rome Italy +Nassau Bahamas Roseau Dominica +Nassau Bahamas Santiago Chile +Nassau Bahamas Skopje Macedonia +Nassau Bahamas Sofia Bulgaria +Nassau Bahamas Stockholm Sweden +Nassau Bahamas Suva Fiji +Nassau Bahamas Taipei Taiwan +Nassau Bahamas Tallinn Estonia +Nassau Bahamas Tashkent Uzbekistan +Nassau Bahamas Tbilisi Georgia +Nassau Bahamas Tegucigalpa Honduras +Nassau Bahamas Tehran Iran +Nassau Bahamas Thimphu Bhutan +Nassau Bahamas Tirana Albania +Nassau Bahamas Tokyo Japan +Nassau Bahamas Tripoli Libya +Nassau Bahamas Tunis Tunisia +Nassau Bahamas Vaduz Liechtenstein +Nassau Bahamas Valletta Malta +Nassau Bahamas Vienna Austria +Nassau Bahamas Vientiane Laos +Nassau Bahamas Vilnius Lithuania +Nassau Bahamas Warsaw Poland +Nassau Bahamas Windhoek Namibia +Nassau Bahamas Yerevan Armenia +Nassau Bahamas Zagreb Croatia +Niamey Niger Nicosia Cyprus +Niamey Niger Nouakchott Mauritania +Niamey Niger Nuuk Greenland +Niamey Niger Oslo Norway +Niamey Niger Ottawa Canada +Niamey Niger Paramaribo Suriname +Niamey Niger Paris France +Niamey Niger Podgorica Montenegro +Niamey Niger Quito Ecuador +Niamey Niger Rabat Morocco +Niamey Niger Riga Latvia +Niamey Niger Rome Italy +Niamey Niger Roseau Dominica +Niamey Niger Santiago Chile +Niamey Niger Skopje Macedonia +Niamey Niger Sofia Bulgaria +Niamey Niger Stockholm Sweden +Niamey Niger Suva Fiji +Niamey Niger Taipei Taiwan +Niamey Niger Tallinn Estonia +Niamey Niger Tashkent Uzbekistan +Niamey Niger Tbilisi Georgia +Niamey Niger Tegucigalpa Honduras +Niamey Niger Tehran Iran +Niamey Niger Thimphu Bhutan +Niamey Niger Tirana Albania +Niamey Niger Tokyo Japan +Niamey Niger Tripoli Libya +Niamey Niger Tunis Tunisia +Niamey Niger Vaduz Liechtenstein +Niamey Niger Valletta Malta +Niamey Niger Vienna Austria +Niamey Niger Vientiane Laos +Niamey Niger Vilnius Lithuania +Niamey Niger Warsaw Poland +Niamey Niger Windhoek Namibia +Niamey Niger Yerevan Armenia +Niamey Niger Zagreb Croatia +Niamey Niger Abuja Nigeria +Nicosia Cyprus Nouakchott Mauritania +Nicosia Cyprus Nuuk Greenland +Nicosia Cyprus Oslo Norway +Nicosia Cyprus Ottawa Canada +Nicosia Cyprus Paramaribo Suriname +Nicosia Cyprus Paris France +Nicosia Cyprus Podgorica Montenegro +Nicosia Cyprus Quito Ecuador +Nicosia Cyprus Rabat Morocco +Nicosia Cyprus Riga Latvia +Nicosia Cyprus Rome Italy +Nicosia Cyprus Roseau Dominica +Nicosia Cyprus Santiago Chile +Nicosia Cyprus Skopje Macedonia +Nicosia Cyprus Sofia Bulgaria +Nicosia Cyprus Stockholm Sweden +Nicosia Cyprus Suva Fiji +Nicosia Cyprus Taipei Taiwan +Nicosia Cyprus Tallinn Estonia +Nicosia Cyprus Tashkent Uzbekistan +Nicosia Cyprus Tbilisi Georgia +Nicosia Cyprus Tegucigalpa Honduras +Nicosia Cyprus Tehran Iran +Nicosia Cyprus Thimphu Bhutan +Nicosia Cyprus Tirana Albania +Nicosia Cyprus Tokyo Japan +Nicosia Cyprus Tripoli Libya +Nicosia Cyprus Tunis Tunisia +Nicosia Cyprus Vaduz Liechtenstein +Nicosia Cyprus Valletta Malta +Nicosia Cyprus Vienna Austria +Nicosia Cyprus Vientiane Laos +Nicosia Cyprus Vilnius Lithuania +Nicosia Cyprus Warsaw Poland +Nicosia Cyprus Windhoek Namibia +Nicosia Cyprus Yerevan Armenia +Nicosia Cyprus Zagreb Croatia +Nicosia Cyprus Abuja Nigeria +Nicosia Cyprus Accra Ghana +Nouakchott Mauritania Nuuk Greenland +Nouakchott Mauritania Oslo Norway +Nouakchott Mauritania Ottawa Canada +Nouakchott Mauritania Paramaribo Suriname +Nouakchott Mauritania Paris France +Nouakchott Mauritania Podgorica Montenegro +Nouakchott Mauritania Quito Ecuador +Nouakchott Mauritania Rabat Morocco +Nouakchott Mauritania Riga Latvia +Nouakchott Mauritania Rome Italy +Nouakchott Mauritania Roseau Dominica +Nouakchott Mauritania Santiago Chile +Nouakchott Mauritania Skopje Macedonia +Nouakchott Mauritania Sofia Bulgaria +Nouakchott Mauritania Stockholm Sweden +Nouakchott Mauritania Suva Fiji +Nouakchott Mauritania Taipei Taiwan +Nouakchott Mauritania Tallinn Estonia +Nouakchott Mauritania Tashkent Uzbekistan +Nouakchott Mauritania Tbilisi Georgia +Nouakchott Mauritania Tegucigalpa Honduras +Nouakchott Mauritania Tehran Iran +Nouakchott Mauritania Thimphu Bhutan +Nouakchott Mauritania Tirana Albania +Nouakchott Mauritania Tokyo Japan +Nouakchott Mauritania Tripoli Libya +Nouakchott Mauritania Tunis Tunisia +Nouakchott Mauritania Vaduz Liechtenstein +Nouakchott Mauritania Valletta Malta +Nouakchott Mauritania Vienna Austria +Nouakchott Mauritania Vientiane Laos +Nouakchott Mauritania Vilnius Lithuania +Nouakchott Mauritania Warsaw Poland +Nouakchott Mauritania Windhoek Namibia +Nouakchott Mauritania Yerevan Armenia +Nouakchott Mauritania Zagreb Croatia +Nouakchott Mauritania Abuja Nigeria +Nouakchott Mauritania Accra Ghana +Nouakchott Mauritania Algiers Algeria +Nuuk Greenland Oslo Norway +Nuuk Greenland Ottawa Canada +Nuuk Greenland Paramaribo Suriname +Nuuk Greenland Paris France +Nuuk Greenland Podgorica Montenegro +Nuuk Greenland Quito Ecuador +Nuuk Greenland Rabat Morocco +Nuuk Greenland Riga Latvia +Nuuk Greenland Rome Italy +Nuuk Greenland Roseau Dominica +Nuuk Greenland Santiago Chile +Nuuk Greenland Skopje Macedonia +Nuuk Greenland Sofia Bulgaria +Nuuk Greenland Stockholm Sweden +Nuuk Greenland Suva Fiji +Nuuk Greenland Taipei Taiwan +Nuuk Greenland Tallinn Estonia +Nuuk Greenland Tashkent Uzbekistan +Nuuk Greenland Tbilisi Georgia +Nuuk Greenland Tegucigalpa Honduras +Nuuk Greenland Tehran Iran +Nuuk Greenland Thimphu Bhutan +Nuuk Greenland Tirana Albania +Nuuk Greenland Tokyo Japan +Nuuk Greenland Tripoli Libya +Nuuk Greenland Tunis Tunisia +Nuuk Greenland Vaduz Liechtenstein +Nuuk Greenland Valletta Malta +Nuuk Greenland Vienna Austria +Nuuk Greenland Vientiane Laos +Nuuk Greenland Vilnius Lithuania +Nuuk Greenland Warsaw Poland +Nuuk Greenland Windhoek Namibia +Nuuk Greenland Yerevan Armenia +Nuuk Greenland Zagreb Croatia +Nuuk Greenland Abuja Nigeria +Nuuk Greenland Accra Ghana +Nuuk Greenland Algiers Algeria +Nuuk Greenland Amman Jordan +Oslo Norway Ottawa Canada +Oslo Norway Paramaribo Suriname +Oslo Norway Paris France +Oslo Norway Podgorica Montenegro +Oslo Norway Quito Ecuador +Oslo Norway Rabat Morocco +Oslo Norway Riga Latvia +Oslo Norway Rome Italy +Oslo Norway Roseau Dominica +Oslo Norway Santiago Chile +Oslo Norway Skopje Macedonia +Oslo Norway Sofia Bulgaria +Oslo Norway Stockholm Sweden +Oslo Norway Suva Fiji +Oslo Norway Taipei Taiwan +Oslo Norway Tallinn Estonia +Oslo Norway Tashkent Uzbekistan +Oslo Norway Tbilisi Georgia +Oslo Norway Tegucigalpa Honduras +Oslo Norway Tehran Iran +Oslo Norway Thimphu Bhutan +Oslo Norway Tirana Albania +Oslo Norway Tokyo Japan +Oslo Norway Tripoli Libya +Oslo Norway Tunis Tunisia +Oslo Norway Vaduz Liechtenstein +Oslo Norway Valletta Malta +Oslo Norway Vienna Austria +Oslo Norway Vientiane Laos +Oslo Norway Vilnius Lithuania +Oslo Norway Warsaw Poland +Oslo Norway Windhoek Namibia +Oslo Norway Yerevan Armenia +Oslo Norway Zagreb Croatia +Oslo Norway Abuja Nigeria +Oslo Norway Accra Ghana +Oslo Norway Algiers Algeria +Oslo Norway Amman Jordan +Oslo Norway Ankara Turkey +Ottawa Canada Paramaribo Suriname +Ottawa Canada Paris France +Ottawa Canada Podgorica Montenegro +Ottawa Canada Quito Ecuador +Ottawa Canada Rabat Morocco +Ottawa Canada Riga Latvia +Ottawa Canada Rome Italy +Ottawa Canada Roseau Dominica +Ottawa Canada Santiago Chile +Ottawa Canada Skopje Macedonia +Ottawa Canada Sofia Bulgaria +Ottawa Canada Stockholm Sweden +Ottawa Canada Suva Fiji +Ottawa Canada Taipei Taiwan +Ottawa Canada Tallinn Estonia +Ottawa Canada Tashkent Uzbekistan +Ottawa Canada Tbilisi Georgia +Ottawa Canada Tegucigalpa Honduras +Ottawa Canada Tehran Iran +Ottawa Canada Thimphu Bhutan +Ottawa Canada Tirana Albania +Ottawa Canada Tokyo Japan +Ottawa Canada Tripoli Libya +Ottawa Canada Tunis Tunisia +Ottawa Canada Vaduz Liechtenstein +Ottawa Canada Valletta Malta +Ottawa Canada Vienna Austria +Ottawa Canada Vientiane Laos +Ottawa Canada Vilnius Lithuania +Ottawa Canada Warsaw Poland +Ottawa Canada Windhoek Namibia +Ottawa Canada Yerevan Armenia +Ottawa Canada Zagreb Croatia +Ottawa Canada Abuja Nigeria +Ottawa Canada Accra Ghana +Ottawa Canada Algiers Algeria +Ottawa Canada Amman Jordan +Ottawa Canada Ankara Turkey +Ottawa Canada Antananarivo Madagascar +Paramaribo Suriname Paris France +Paramaribo Suriname Podgorica Montenegro +Paramaribo Suriname Quito Ecuador +Paramaribo Suriname Rabat Morocco +Paramaribo Suriname Riga Latvia +Paramaribo Suriname Rome Italy +Paramaribo Suriname Roseau Dominica +Paramaribo Suriname Santiago Chile +Paramaribo Suriname Skopje Macedonia +Paramaribo Suriname Sofia Bulgaria +Paramaribo Suriname Stockholm Sweden +Paramaribo Suriname Suva Fiji +Paramaribo Suriname Taipei Taiwan +Paramaribo Suriname Tallinn Estonia +Paramaribo Suriname Tashkent Uzbekistan +Paramaribo Suriname Tbilisi Georgia +Paramaribo Suriname Tegucigalpa Honduras +Paramaribo Suriname Tehran Iran +Paramaribo Suriname Thimphu Bhutan +Paramaribo Suriname Tirana Albania +Paramaribo Suriname Tokyo Japan +Paramaribo Suriname Tripoli Libya +Paramaribo Suriname Tunis Tunisia +Paramaribo Suriname Vaduz Liechtenstein +Paramaribo Suriname Valletta Malta +Paramaribo Suriname Vienna Austria +Paramaribo Suriname Vientiane Laos +Paramaribo Suriname Vilnius Lithuania +Paramaribo Suriname Warsaw Poland +Paramaribo Suriname Windhoek Namibia +Paramaribo Suriname Yerevan Armenia +Paramaribo Suriname Zagreb Croatia +Paramaribo Suriname Abuja Nigeria +Paramaribo Suriname Accra Ghana +Paramaribo Suriname Algiers Algeria +Paramaribo Suriname Amman Jordan +Paramaribo Suriname Ankara Turkey +Paramaribo Suriname Antananarivo Madagascar +Paramaribo Suriname Apia Samoa +Paris France Podgorica Montenegro +Paris France Quito Ecuador +Paris France Rabat Morocco +Paris France Riga Latvia +Paris France Rome Italy +Paris France Roseau Dominica +Paris France Santiago Chile +Paris France Skopje Macedonia +Paris France Sofia Bulgaria +Paris France Stockholm Sweden +Paris France Suva Fiji +Paris France Taipei Taiwan +Paris France Tallinn Estonia +Paris France Tashkent Uzbekistan +Paris France Tbilisi Georgia +Paris France Tegucigalpa Honduras +Paris France Tehran Iran +Paris France Thimphu Bhutan +Paris France Tirana Albania +Paris France Tokyo Japan +Paris France Tripoli Libya +Paris France Tunis Tunisia +Paris France Vaduz Liechtenstein +Paris France Valletta Malta +Paris France Vienna Austria +Paris France Vientiane Laos +Paris France Vilnius Lithuania +Paris France Warsaw Poland +Paris France Windhoek Namibia +Paris France Yerevan Armenia +Paris France Zagreb Croatia +Paris France Abuja Nigeria +Paris France Accra Ghana +Paris France Algiers Algeria +Paris France Amman Jordan +Paris France Ankara Turkey +Paris France Antananarivo Madagascar +Paris France Apia Samoa +Paris France Ashgabat Turkmenistan +Podgorica Montenegro Quito Ecuador +Podgorica Montenegro Rabat Morocco +Podgorica Montenegro Riga Latvia +Podgorica Montenegro Rome Italy +Podgorica Montenegro Roseau Dominica +Podgorica Montenegro Santiago Chile +Podgorica Montenegro Skopje Macedonia +Podgorica Montenegro Sofia Bulgaria +Podgorica Montenegro Stockholm Sweden +Podgorica Montenegro Suva Fiji +Podgorica Montenegro Taipei Taiwan +Podgorica Montenegro Tallinn Estonia +Podgorica Montenegro Tashkent Uzbekistan +Podgorica Montenegro Tbilisi Georgia +Podgorica Montenegro Tegucigalpa Honduras +Podgorica Montenegro Tehran Iran +Podgorica Montenegro Thimphu Bhutan +Podgorica Montenegro Tirana Albania +Podgorica Montenegro Tokyo Japan +Podgorica Montenegro Tripoli Libya +Podgorica Montenegro Tunis Tunisia +Podgorica Montenegro Vaduz Liechtenstein +Podgorica Montenegro Valletta Malta +Podgorica Montenegro Vienna Austria +Podgorica Montenegro Vientiane Laos +Podgorica Montenegro Vilnius Lithuania +Podgorica Montenegro Warsaw Poland +Podgorica Montenegro Windhoek Namibia +Podgorica Montenegro Yerevan Armenia +Podgorica Montenegro Zagreb Croatia +Podgorica Montenegro Abuja Nigeria +Podgorica Montenegro Accra Ghana +Podgorica Montenegro Algiers Algeria +Podgorica Montenegro Amman Jordan +Podgorica Montenegro Ankara Turkey +Podgorica Montenegro Antananarivo Madagascar +Podgorica Montenegro Apia Samoa +Podgorica Montenegro Ashgabat Turkmenistan +Podgorica Montenegro Asmara Eritrea +Quito Ecuador Rabat Morocco +Quito Ecuador Riga Latvia +Quito Ecuador Rome Italy +Quito Ecuador Roseau Dominica +Quito Ecuador Santiago Chile +Quito Ecuador Skopje Macedonia +Quito Ecuador Sofia Bulgaria +Quito Ecuador Stockholm Sweden +Quito Ecuador Suva Fiji +Quito Ecuador Taipei Taiwan +Quito Ecuador Tallinn Estonia +Quito Ecuador Tashkent Uzbekistan +Quito Ecuador Tbilisi Georgia +Quito Ecuador Tegucigalpa Honduras +Quito Ecuador Tehran Iran +Quito Ecuador Thimphu Bhutan +Quito Ecuador Tirana Albania +Quito Ecuador Tokyo Japan +Quito Ecuador Tripoli Libya +Quito Ecuador Tunis Tunisia +Quito Ecuador Vaduz Liechtenstein +Quito Ecuador Valletta Malta +Quito Ecuador Vienna Austria +Quito Ecuador Vientiane Laos +Quito Ecuador Vilnius Lithuania +Quito Ecuador Warsaw Poland +Quito Ecuador Windhoek Namibia +Quito Ecuador Yerevan Armenia +Quito Ecuador Zagreb Croatia +Quito Ecuador Abuja Nigeria +Quito Ecuador Accra Ghana +Quito Ecuador Algiers Algeria +Quito Ecuador Amman Jordan +Quito Ecuador Ankara Turkey +Quito Ecuador Antananarivo Madagascar +Quito Ecuador Apia Samoa +Quito Ecuador Ashgabat Turkmenistan +Quito Ecuador Asmara Eritrea +Quito Ecuador Astana Kazakhstan +Rabat Morocco Riga Latvia +Rabat Morocco Rome Italy +Rabat Morocco Roseau Dominica +Rabat Morocco Santiago Chile +Rabat Morocco Skopje Macedonia +Rabat Morocco Sofia Bulgaria +Rabat Morocco Stockholm Sweden +Rabat Morocco Suva Fiji +Rabat Morocco Taipei Taiwan +Rabat Morocco Tallinn Estonia +Rabat Morocco Tashkent Uzbekistan +Rabat Morocco Tbilisi Georgia +Rabat Morocco Tegucigalpa Honduras +Rabat Morocco Tehran Iran +Rabat Morocco Thimphu Bhutan +Rabat Morocco Tirana Albania +Rabat Morocco Tokyo Japan +Rabat Morocco Tripoli Libya +Rabat Morocco Tunis Tunisia +Rabat Morocco Vaduz Liechtenstein +Rabat Morocco Valletta Malta +Rabat Morocco Vienna Austria +Rabat Morocco Vientiane Laos +Rabat Morocco Vilnius Lithuania +Rabat Morocco Warsaw Poland +Rabat Morocco Windhoek Namibia +Rabat Morocco Yerevan Armenia +Rabat Morocco Zagreb Croatia +Rabat Morocco Abuja Nigeria +Rabat Morocco Accra Ghana +Rabat Morocco Algiers Algeria +Rabat Morocco Amman Jordan +Rabat Morocco Ankara Turkey +Rabat Morocco Antananarivo Madagascar +Rabat Morocco Apia Samoa +Rabat Morocco Ashgabat Turkmenistan +Rabat Morocco Asmara Eritrea +Rabat Morocco Astana Kazakhstan +Rabat Morocco Athens Greece +Riga Latvia Rome Italy +Riga Latvia Roseau Dominica +Riga Latvia Santiago Chile +Riga Latvia Skopje Macedonia +Riga Latvia Sofia Bulgaria +Riga Latvia Stockholm Sweden +Riga Latvia Suva Fiji +Riga Latvia Taipei Taiwan +Riga Latvia Tallinn Estonia +Riga Latvia Tashkent Uzbekistan +Riga Latvia Tbilisi Georgia +Riga Latvia Tegucigalpa Honduras +Riga Latvia Tehran Iran +Riga Latvia Thimphu Bhutan +Riga Latvia Tirana Albania +Riga Latvia Tokyo Japan +Riga Latvia Tripoli Libya +Riga Latvia Tunis Tunisia +Riga Latvia Vaduz Liechtenstein +Riga Latvia Valletta Malta +Riga Latvia Vienna Austria +Riga Latvia Vientiane Laos +Riga Latvia Vilnius Lithuania +Riga Latvia Warsaw Poland +Riga Latvia Windhoek Namibia +Riga Latvia Yerevan Armenia +Riga Latvia Zagreb Croatia +Riga Latvia Abuja Nigeria +Riga Latvia Accra Ghana +Riga Latvia Algiers Algeria +Riga Latvia Amman Jordan +Riga Latvia Ankara Turkey +Riga Latvia Antananarivo Madagascar +Riga Latvia Apia Samoa +Riga Latvia Ashgabat Turkmenistan +Riga Latvia Asmara Eritrea +Riga Latvia Astana Kazakhstan +Riga Latvia Athens Greece +Riga Latvia Baghdad Iraq +Rome Italy Roseau Dominica +Rome Italy Santiago Chile +Rome Italy Skopje Macedonia +Rome Italy Sofia Bulgaria +Rome Italy Stockholm Sweden +Rome Italy Suva Fiji +Rome Italy Taipei Taiwan +Rome Italy Tallinn Estonia +Rome Italy Tashkent Uzbekistan +Rome Italy Tbilisi Georgia +Rome Italy Tegucigalpa Honduras +Rome Italy Tehran Iran +Rome Italy Thimphu Bhutan +Rome Italy Tirana Albania +Rome Italy Tokyo Japan +Rome Italy Tripoli Libya +Rome Italy Tunis Tunisia +Rome Italy Vaduz Liechtenstein +Rome Italy Valletta Malta +Rome Italy Vienna Austria +Rome Italy Vientiane Laos +Rome Italy Vilnius Lithuania +Rome Italy Warsaw Poland +Rome Italy Windhoek Namibia +Rome Italy Yerevan Armenia +Rome Italy Zagreb Croatia +Rome Italy Abuja Nigeria +Rome Italy Accra Ghana +Rome Italy Algiers Algeria +Rome Italy Amman Jordan +Rome Italy Ankara Turkey +Rome Italy Antananarivo Madagascar +Rome Italy Apia Samoa +Rome Italy Ashgabat Turkmenistan +Rome Italy Asmara Eritrea +Rome Italy Astana Kazakhstan +Rome Italy Athens Greece +Rome Italy Baghdad Iraq +Rome Italy Baku Azerbaijan +Roseau Dominica Santiago Chile +Roseau Dominica Skopje Macedonia +Roseau Dominica Sofia Bulgaria +Roseau Dominica Stockholm Sweden +Roseau Dominica Suva Fiji +Roseau Dominica Taipei Taiwan +Roseau Dominica Tallinn Estonia +Roseau Dominica Tashkent Uzbekistan +Roseau Dominica Tbilisi Georgia +Roseau Dominica Tegucigalpa Honduras +Roseau Dominica Tehran Iran +Roseau Dominica Thimphu Bhutan +Roseau Dominica Tirana Albania +Roseau Dominica Tokyo Japan +Roseau Dominica Tripoli Libya +Roseau Dominica Tunis Tunisia +Roseau Dominica Vaduz Liechtenstein +Roseau Dominica Valletta Malta +Roseau Dominica Vienna Austria +Roseau Dominica Vientiane Laos +Roseau Dominica Vilnius Lithuania +Roseau Dominica Warsaw Poland +Roseau Dominica Windhoek Namibia +Roseau Dominica Yerevan Armenia +Roseau Dominica Zagreb Croatia +Roseau Dominica Abuja Nigeria +Roseau Dominica Accra Ghana +Roseau Dominica Algiers Algeria +Roseau Dominica Amman Jordan +Roseau Dominica Ankara Turkey +Roseau Dominica Antananarivo Madagascar +Roseau Dominica Apia Samoa +Roseau Dominica Ashgabat Turkmenistan +Roseau Dominica Asmara Eritrea +Roseau Dominica Astana Kazakhstan +Roseau Dominica Athens Greece +Roseau Dominica Baghdad Iraq +Roseau Dominica Baku Azerbaijan +Roseau Dominica Bamako Mali +Santiago Chile Skopje Macedonia +Santiago Chile Sofia Bulgaria +Santiago Chile Stockholm Sweden +Santiago Chile Suva Fiji +Santiago Chile Taipei Taiwan +Santiago Chile Tallinn Estonia +Santiago Chile Tashkent Uzbekistan +Santiago Chile Tbilisi Georgia +Santiago Chile Tegucigalpa Honduras +Santiago Chile Tehran Iran +Santiago Chile Thimphu Bhutan +Santiago Chile Tirana Albania +Santiago Chile Tokyo Japan +Santiago Chile Tripoli Libya +Santiago Chile Tunis Tunisia +Santiago Chile Vaduz Liechtenstein +Santiago Chile Valletta Malta +Santiago Chile Vienna Austria +Santiago Chile Vientiane Laos +Santiago Chile Vilnius Lithuania +Santiago Chile Warsaw Poland +Santiago Chile Windhoek Namibia +Santiago Chile Yerevan Armenia +Santiago Chile Zagreb Croatia +Santiago Chile Abuja Nigeria +Santiago Chile Accra Ghana +Santiago Chile Algiers Algeria +Santiago Chile Amman Jordan +Santiago Chile Ankara Turkey +Santiago Chile Antananarivo Madagascar +Santiago Chile Apia Samoa +Santiago Chile Ashgabat Turkmenistan +Santiago Chile Asmara Eritrea +Santiago Chile Astana Kazakhstan +Santiago Chile Athens Greece +Santiago Chile Baghdad Iraq +Santiago Chile Baku Azerbaijan +Santiago Chile Bamako Mali +Santiago Chile Bangkok Thailand +Skopje Macedonia Sofia Bulgaria +Skopje Macedonia Stockholm Sweden +Skopje Macedonia Suva Fiji +Skopje Macedonia Taipei Taiwan +Skopje Macedonia Tallinn Estonia +Skopje Macedonia Tashkent Uzbekistan +Skopje Macedonia Tbilisi Georgia +Skopje Macedonia Tegucigalpa Honduras +Skopje Macedonia Tehran Iran +Skopje Macedonia Thimphu Bhutan +Skopje Macedonia Tirana Albania +Skopje Macedonia Tokyo Japan +Skopje Macedonia Tripoli Libya +Skopje Macedonia Tunis Tunisia +Skopje Macedonia Vaduz Liechtenstein +Skopje Macedonia Valletta Malta +Skopje Macedonia Vienna Austria +Skopje Macedonia Vientiane Laos +Skopje Macedonia Vilnius Lithuania +Skopje Macedonia Warsaw Poland +Skopje Macedonia Windhoek Namibia +Skopje Macedonia Yerevan Armenia +Skopje Macedonia Zagreb Croatia +Skopje Macedonia Abuja Nigeria +Skopje Macedonia Accra Ghana +Skopje Macedonia Algiers Algeria +Skopje Macedonia Amman Jordan +Skopje Macedonia Ankara Turkey +Skopje Macedonia Antananarivo Madagascar +Skopje Macedonia Apia Samoa +Skopje Macedonia Ashgabat Turkmenistan +Skopje Macedonia Asmara Eritrea +Skopje Macedonia Astana Kazakhstan +Skopje Macedonia Athens Greece +Skopje Macedonia Baghdad Iraq +Skopje Macedonia Baku Azerbaijan +Skopje Macedonia Bamako Mali +Skopje Macedonia Bangkok Thailand +Skopje Macedonia Banjul Gambia +Sofia Bulgaria Stockholm Sweden +Sofia Bulgaria Suva Fiji +Sofia Bulgaria Taipei Taiwan +Sofia Bulgaria Tallinn Estonia +Sofia Bulgaria Tashkent Uzbekistan +Sofia Bulgaria Tbilisi Georgia +Sofia Bulgaria Tegucigalpa Honduras +Sofia Bulgaria Tehran Iran +Sofia Bulgaria Thimphu Bhutan +Sofia Bulgaria Tirana Albania +Sofia Bulgaria Tokyo Japan +Sofia Bulgaria Tripoli Libya +Sofia Bulgaria Tunis Tunisia +Sofia Bulgaria Vaduz Liechtenstein +Sofia Bulgaria Valletta Malta +Sofia Bulgaria Vienna Austria +Sofia Bulgaria Vientiane Laos +Sofia Bulgaria Vilnius Lithuania +Sofia Bulgaria Warsaw Poland +Sofia Bulgaria Windhoek Namibia +Sofia Bulgaria Yerevan Armenia +Sofia Bulgaria Zagreb Croatia +Sofia Bulgaria Abuja Nigeria +Sofia Bulgaria Accra Ghana +Sofia Bulgaria Algiers Algeria +Sofia Bulgaria Amman Jordan +Sofia Bulgaria Ankara Turkey +Sofia Bulgaria Antananarivo Madagascar +Sofia Bulgaria Apia Samoa +Sofia Bulgaria Ashgabat Turkmenistan +Sofia Bulgaria Asmara Eritrea +Sofia Bulgaria Astana Kazakhstan +Sofia Bulgaria Athens Greece +Sofia Bulgaria Baghdad Iraq +Sofia Bulgaria Baku Azerbaijan +Sofia Bulgaria Bamako Mali +Sofia Bulgaria Bangkok Thailand +Sofia Bulgaria Banjul Gambia +Sofia Bulgaria Beijing China +Stockholm Sweden Suva Fiji +Stockholm Sweden Taipei Taiwan +Stockholm Sweden Tallinn Estonia +Stockholm Sweden Tashkent Uzbekistan +Stockholm Sweden Tbilisi Georgia +Stockholm Sweden Tegucigalpa Honduras +Stockholm Sweden Tehran Iran +Stockholm Sweden Thimphu Bhutan +Stockholm Sweden Tirana Albania +Stockholm Sweden Tokyo Japan +Stockholm Sweden Tripoli Libya +Stockholm Sweden Tunis Tunisia +Stockholm Sweden Vaduz Liechtenstein +Stockholm Sweden Valletta Malta +Stockholm Sweden Vienna Austria +Stockholm Sweden Vientiane Laos +Stockholm Sweden Vilnius Lithuania +Stockholm Sweden Warsaw Poland +Stockholm Sweden Windhoek Namibia +Stockholm Sweden Yerevan Armenia +Stockholm Sweden Zagreb Croatia +Stockholm Sweden Abuja Nigeria +Stockholm Sweden Accra Ghana +Stockholm Sweden Algiers Algeria +Stockholm Sweden Amman Jordan +Stockholm Sweden Ankara Turkey +Stockholm Sweden Antananarivo Madagascar +Stockholm Sweden Apia Samoa +Stockholm Sweden Ashgabat Turkmenistan +Stockholm Sweden Asmara Eritrea +Stockholm Sweden Astana Kazakhstan +Stockholm Sweden Athens Greece +Stockholm Sweden Baghdad Iraq +Stockholm Sweden Baku Azerbaijan +Stockholm Sweden Bamako Mali +Stockholm Sweden Bangkok Thailand +Stockholm Sweden Banjul Gambia +Stockholm Sweden Beijing China +Stockholm Sweden Beirut Lebanon +Suva Fiji Taipei Taiwan +Suva Fiji Tallinn Estonia +Suva Fiji Tashkent Uzbekistan +Suva Fiji Tbilisi Georgia +Suva Fiji Tegucigalpa Honduras +Suva Fiji Tehran Iran +Suva Fiji Thimphu Bhutan +Suva Fiji Tirana Albania +Suva Fiji Tokyo Japan +Suva Fiji Tripoli Libya +Suva Fiji Tunis Tunisia +Suva Fiji Vaduz Liechtenstein +Suva Fiji Valletta Malta +Suva Fiji Vienna Austria +Suva Fiji Vientiane Laos +Suva Fiji Vilnius Lithuania +Suva Fiji Warsaw Poland +Suva Fiji Windhoek Namibia +Suva Fiji Yerevan Armenia +Suva Fiji Zagreb Croatia +Suva Fiji Abuja Nigeria +Suva Fiji Accra Ghana +Suva Fiji Algiers Algeria +Suva Fiji Amman Jordan +Suva Fiji Ankara Turkey +Suva Fiji Antananarivo Madagascar +Suva Fiji Apia Samoa +Suva Fiji Ashgabat Turkmenistan +Suva Fiji Asmara Eritrea +Suva Fiji Astana Kazakhstan +Suva Fiji Athens Greece +Suva Fiji Baghdad Iraq +Suva Fiji Baku Azerbaijan +Suva Fiji Bamako Mali +Suva Fiji Bangkok Thailand +Suva Fiji Banjul Gambia +Suva Fiji Beijing China +Suva Fiji Beirut Lebanon +Suva Fiji Belgrade Serbia +Taipei Taiwan Tallinn Estonia +Taipei Taiwan Tashkent Uzbekistan +Taipei Taiwan Tbilisi Georgia +Taipei Taiwan Tegucigalpa Honduras +Taipei Taiwan Tehran Iran +Taipei Taiwan Thimphu Bhutan +Taipei Taiwan Tirana Albania +Taipei Taiwan Tokyo Japan +Taipei Taiwan Tripoli Libya +Taipei Taiwan Tunis Tunisia +Taipei Taiwan Vaduz Liechtenstein +Taipei Taiwan Valletta Malta +Taipei Taiwan Vienna Austria +Taipei Taiwan Vientiane Laos +Taipei Taiwan Vilnius Lithuania +Taipei Taiwan Warsaw Poland +Taipei Taiwan Windhoek Namibia +Taipei Taiwan Yerevan Armenia +Taipei Taiwan Zagreb Croatia +Taipei Taiwan Abuja Nigeria +Taipei Taiwan Accra Ghana +Taipei Taiwan Algiers Algeria +Taipei Taiwan Amman Jordan +Taipei Taiwan Ankara Turkey +Taipei Taiwan Antananarivo Madagascar +Taipei Taiwan Apia Samoa +Taipei Taiwan Ashgabat Turkmenistan +Taipei Taiwan Asmara Eritrea +Taipei Taiwan Astana Kazakhstan +Taipei Taiwan Athens Greece +Taipei Taiwan Baghdad Iraq +Taipei Taiwan Baku Azerbaijan +Taipei Taiwan Bamako Mali +Taipei Taiwan Bangkok Thailand +Taipei Taiwan Banjul Gambia +Taipei Taiwan Beijing China +Taipei Taiwan Beirut Lebanon +Taipei Taiwan Belgrade Serbia +Taipei Taiwan Belmopan Belize +Tallinn Estonia Tashkent Uzbekistan +Tallinn Estonia Tbilisi Georgia +Tallinn Estonia Tegucigalpa Honduras +Tallinn Estonia Tehran Iran +Tallinn Estonia Thimphu Bhutan +Tallinn Estonia Tirana Albania +Tallinn Estonia Tokyo Japan +Tallinn Estonia Tripoli Libya +Tallinn Estonia Tunis Tunisia +Tallinn Estonia Vaduz Liechtenstein +Tallinn Estonia Valletta Malta +Tallinn Estonia Vienna Austria +Tallinn Estonia Vientiane Laos +Tallinn Estonia Vilnius Lithuania +Tallinn Estonia Warsaw Poland +Tallinn Estonia Windhoek Namibia +Tallinn Estonia Yerevan Armenia +Tallinn Estonia Zagreb Croatia +Tallinn Estonia Abuja Nigeria +Tallinn Estonia Accra Ghana +Tallinn Estonia Algiers Algeria +Tallinn Estonia Amman Jordan +Tallinn Estonia Ankara Turkey +Tallinn Estonia Antananarivo Madagascar +Tallinn Estonia Apia Samoa +Tallinn Estonia Ashgabat Turkmenistan +Tallinn Estonia Asmara Eritrea +Tallinn Estonia Astana Kazakhstan +Tallinn Estonia Athens Greece +Tallinn Estonia Baghdad Iraq +Tallinn Estonia Baku Azerbaijan +Tallinn Estonia Bamako Mali +Tallinn Estonia Bangkok Thailand +Tallinn Estonia Banjul Gambia +Tallinn Estonia Beijing China +Tallinn Estonia Beirut Lebanon +Tallinn Estonia Belgrade Serbia +Tallinn Estonia Belmopan Belize +Tallinn Estonia Berlin Germany +Tashkent Uzbekistan Tbilisi Georgia +Tashkent Uzbekistan Tegucigalpa Honduras +Tashkent Uzbekistan Tehran Iran +Tashkent Uzbekistan Thimphu Bhutan +Tashkent Uzbekistan Tirana Albania +Tashkent Uzbekistan Tokyo Japan +Tashkent Uzbekistan Tripoli Libya +Tashkent Uzbekistan Tunis Tunisia +Tashkent Uzbekistan Vaduz Liechtenstein +Tashkent Uzbekistan Valletta Malta +Tashkent Uzbekistan Vienna Austria +Tashkent Uzbekistan Vientiane Laos +Tashkent Uzbekistan Vilnius Lithuania +Tashkent Uzbekistan Warsaw Poland +Tashkent Uzbekistan Windhoek Namibia +Tashkent Uzbekistan Yerevan Armenia +Tashkent Uzbekistan Zagreb Croatia +Tashkent Uzbekistan Abuja Nigeria +Tashkent Uzbekistan Accra Ghana +Tashkent Uzbekistan Algiers Algeria +Tashkent Uzbekistan Amman Jordan +Tashkent Uzbekistan Ankara Turkey +Tashkent Uzbekistan Antananarivo Madagascar +Tashkent Uzbekistan Apia Samoa +Tashkent Uzbekistan Ashgabat Turkmenistan +Tashkent Uzbekistan Asmara Eritrea +Tashkent Uzbekistan Astana Kazakhstan +Tashkent Uzbekistan Athens Greece +Tashkent Uzbekistan Baghdad Iraq +Tashkent Uzbekistan Baku Azerbaijan +Tashkent Uzbekistan Bamako Mali +Tashkent Uzbekistan Bangkok Thailand +Tashkent Uzbekistan Banjul Gambia +Tashkent Uzbekistan Beijing China +Tashkent Uzbekistan Beirut Lebanon +Tashkent Uzbekistan Belgrade Serbia +Tashkent Uzbekistan Belmopan Belize +Tashkent Uzbekistan Berlin Germany +Tashkent Uzbekistan Bern Switzerland +Tbilisi Georgia Tegucigalpa Honduras +Tbilisi Georgia Tehran Iran +Tbilisi Georgia Thimphu Bhutan +Tbilisi Georgia Tirana Albania +Tbilisi Georgia Tokyo Japan +Tbilisi Georgia Tripoli Libya +Tbilisi Georgia Tunis Tunisia +Tbilisi Georgia Vaduz Liechtenstein +Tbilisi Georgia Valletta Malta +Tbilisi Georgia Vienna Austria +Tbilisi Georgia Vientiane Laos +Tbilisi Georgia Vilnius Lithuania +Tbilisi Georgia Warsaw Poland +Tbilisi Georgia Windhoek Namibia +Tbilisi Georgia Yerevan Armenia +Tbilisi Georgia Zagreb Croatia +Tbilisi Georgia Abuja Nigeria +Tbilisi Georgia Accra Ghana +Tbilisi Georgia Algiers Algeria +Tbilisi Georgia Amman Jordan +Tbilisi Georgia Ankara Turkey +Tbilisi Georgia Antananarivo Madagascar +Tbilisi Georgia Apia Samoa +Tbilisi Georgia Ashgabat Turkmenistan +Tbilisi Georgia Asmara Eritrea +Tbilisi Georgia Astana Kazakhstan +Tbilisi Georgia Athens Greece +Tbilisi Georgia Baghdad Iraq +Tbilisi Georgia Baku Azerbaijan +Tbilisi Georgia Bamako Mali +Tbilisi Georgia Bangkok Thailand +Tbilisi Georgia Banjul Gambia +Tbilisi Georgia Beijing China +Tbilisi Georgia Beirut Lebanon +Tbilisi Georgia Belgrade Serbia +Tbilisi Georgia Belmopan Belize +Tbilisi Georgia Berlin Germany +Tbilisi Georgia Bern Switzerland +Tbilisi Georgia Bishkek Kyrgyzstan +Tegucigalpa Honduras Tehran Iran +Tegucigalpa Honduras Thimphu Bhutan +Tegucigalpa Honduras Tirana Albania +Tegucigalpa Honduras Tokyo Japan +Tegucigalpa Honduras Tripoli Libya +Tegucigalpa Honduras Tunis Tunisia +Tegucigalpa Honduras Vaduz Liechtenstein +Tegucigalpa Honduras Valletta Malta +Tegucigalpa Honduras Vienna Austria +Tegucigalpa Honduras Vientiane Laos +Tegucigalpa Honduras Vilnius Lithuania +Tegucigalpa Honduras Warsaw Poland +Tegucigalpa Honduras Windhoek Namibia +Tegucigalpa Honduras Yerevan Armenia +Tegucigalpa Honduras Zagreb Croatia +Tegucigalpa Honduras Abuja Nigeria +Tegucigalpa Honduras Accra Ghana +Tegucigalpa Honduras Algiers Algeria +Tegucigalpa Honduras Amman Jordan +Tegucigalpa Honduras Ankara Turkey +Tegucigalpa Honduras Antananarivo Madagascar +Tegucigalpa Honduras Apia Samoa +Tegucigalpa Honduras Ashgabat Turkmenistan +Tegucigalpa Honduras Asmara Eritrea +Tegucigalpa Honduras Astana Kazakhstan +Tegucigalpa Honduras Athens Greece +Tegucigalpa Honduras Baghdad Iraq +Tegucigalpa Honduras Baku Azerbaijan +Tegucigalpa Honduras Bamako Mali +Tegucigalpa Honduras Bangkok Thailand +Tegucigalpa Honduras Banjul Gambia +Tegucigalpa Honduras Beijing China +Tegucigalpa Honduras Beirut Lebanon +Tegucigalpa Honduras Belgrade Serbia +Tegucigalpa Honduras Belmopan Belize +Tegucigalpa Honduras Berlin Germany +Tegucigalpa Honduras Bern Switzerland +Tegucigalpa Honduras Bishkek Kyrgyzstan +Tegucigalpa Honduras Bratislava Slovakia +Tehran Iran Thimphu Bhutan +Tehran Iran Tirana Albania +Tehran Iran Tokyo Japan +Tehran Iran Tripoli Libya +Tehran Iran Tunis Tunisia +Tehran Iran Vaduz Liechtenstein +Tehran Iran Valletta Malta +Tehran Iran Vienna Austria +Tehran Iran Vientiane Laos +Tehran Iran Vilnius Lithuania +Tehran Iran Warsaw Poland +Tehran Iran Windhoek Namibia +Tehran Iran Yerevan Armenia +Tehran Iran Zagreb Croatia +Tehran Iran Abuja Nigeria +Tehran Iran Accra Ghana +Tehran Iran Algiers Algeria +Tehran Iran Amman Jordan +Tehran Iran Ankara Turkey +Tehran Iran Antananarivo Madagascar +Tehran Iran Apia Samoa +Tehran Iran Ashgabat Turkmenistan +Tehran Iran Asmara Eritrea +Tehran Iran Astana Kazakhstan +Tehran Iran Athens Greece +Tehran Iran Baghdad Iraq +Tehran Iran Baku Azerbaijan +Tehran Iran Bamako Mali +Tehran Iran Bangkok Thailand +Tehran Iran Banjul Gambia +Tehran Iran Beijing China +Tehran Iran Beirut Lebanon +Tehran Iran Belgrade Serbia +Tehran Iran Belmopan Belize +Tehran Iran Berlin Germany +Tehran Iran Bern Switzerland +Tehran Iran Bishkek Kyrgyzstan +Tehran Iran Bratislava Slovakia +Tehran Iran Brussels Belgium +Thimphu Bhutan Tirana Albania +Thimphu Bhutan Tokyo Japan +Thimphu Bhutan Tripoli Libya +Thimphu Bhutan Tunis Tunisia +Thimphu Bhutan Vaduz Liechtenstein +Thimphu Bhutan Valletta Malta +Thimphu Bhutan Vienna Austria +Thimphu Bhutan Vientiane Laos +Thimphu Bhutan Vilnius Lithuania +Thimphu Bhutan Warsaw Poland +Thimphu Bhutan Windhoek Namibia +Thimphu Bhutan Yerevan Armenia +Thimphu Bhutan Zagreb Croatia +Thimphu Bhutan Abuja Nigeria +Thimphu Bhutan Accra Ghana +Thimphu Bhutan Algiers Algeria +Thimphu Bhutan Amman Jordan +Thimphu Bhutan Ankara Turkey +Thimphu Bhutan Antananarivo Madagascar +Thimphu Bhutan Apia Samoa +Thimphu Bhutan Ashgabat Turkmenistan +Thimphu Bhutan Asmara Eritrea +Thimphu Bhutan Astana Kazakhstan +Thimphu Bhutan Athens Greece +Thimphu Bhutan Baghdad Iraq +Thimphu Bhutan Baku Azerbaijan +Thimphu Bhutan Bamako Mali +Thimphu Bhutan Bangkok Thailand +Thimphu Bhutan Banjul Gambia +Thimphu Bhutan Beijing China +Thimphu Bhutan Beirut Lebanon +Thimphu Bhutan Belgrade Serbia +Thimphu Bhutan Belmopan Belize +Thimphu Bhutan Berlin Germany +Thimphu Bhutan Bern Switzerland +Thimphu Bhutan Bishkek Kyrgyzstan +Thimphu Bhutan Bratislava Slovakia +Thimphu Bhutan Brussels Belgium +Thimphu Bhutan Bucharest Romania +Tirana Albania Tokyo Japan +Tirana Albania Tripoli Libya +Tirana Albania Tunis Tunisia +Tirana Albania Vaduz Liechtenstein +Tirana Albania Valletta Malta +Tirana Albania Vienna Austria +Tirana Albania Vientiane Laos +Tirana Albania Vilnius Lithuania +Tirana Albania Warsaw Poland +Tirana Albania Windhoek Namibia +Tirana Albania Yerevan Armenia +Tirana Albania Zagreb Croatia +Tirana Albania Abuja Nigeria +Tirana Albania Accra Ghana +Tirana Albania Algiers Algeria +Tirana Albania Amman Jordan +Tirana Albania Ankara Turkey +Tirana Albania Antananarivo Madagascar +Tirana Albania Apia Samoa +Tirana Albania Ashgabat Turkmenistan +Tirana Albania Asmara Eritrea +Tirana Albania Astana Kazakhstan +Tirana Albania Athens Greece +Tirana Albania Baghdad Iraq +Tirana Albania Baku Azerbaijan +Tirana Albania Bamako Mali +Tirana Albania Bangkok Thailand +Tirana Albania Banjul Gambia +Tirana Albania Beijing China +Tirana Albania Beirut Lebanon +Tirana Albania Belgrade Serbia +Tirana Albania Belmopan Belize +Tirana Albania Berlin Germany +Tirana Albania Bern Switzerland +Tirana Albania Bishkek Kyrgyzstan +Tirana Albania Bratislava Slovakia +Tirana Albania Brussels Belgium +Tirana Albania Bucharest Romania +Tirana Albania Budapest Hungary +Tokyo Japan Tripoli Libya +Tokyo Japan Tunis Tunisia +Tokyo Japan Vaduz Liechtenstein +Tokyo Japan Valletta Malta +Tokyo Japan Vienna Austria +Tokyo Japan Vientiane Laos +Tokyo Japan Vilnius Lithuania +Tokyo Japan Warsaw Poland +Tokyo Japan Windhoek Namibia +Tokyo Japan Yerevan Armenia +Tokyo Japan Zagreb Croatia +Tokyo Japan Abuja Nigeria +Tokyo Japan Accra Ghana +Tokyo Japan Algiers Algeria +Tokyo Japan Amman Jordan +Tokyo Japan Ankara Turkey +Tokyo Japan Antananarivo Madagascar +Tokyo Japan Apia Samoa +Tokyo Japan Ashgabat Turkmenistan +Tokyo Japan Asmara Eritrea +Tokyo Japan Astana Kazakhstan +Tokyo Japan Athens Greece +Tokyo Japan Baghdad Iraq +Tokyo Japan Baku Azerbaijan +Tokyo Japan Bamako Mali +Tokyo Japan Bangkok Thailand +Tokyo Japan Banjul Gambia +Tokyo Japan Beijing China +Tokyo Japan Beirut Lebanon +Tokyo Japan Belgrade Serbia +Tokyo Japan Belmopan Belize +Tokyo Japan Berlin Germany +Tokyo Japan Bern Switzerland +Tokyo Japan Bishkek Kyrgyzstan +Tokyo Japan Bratislava Slovakia +Tokyo Japan Brussels Belgium +Tokyo Japan Bucharest Romania +Tokyo Japan Budapest Hungary +Tokyo Japan Bujumbura Burundi +Tripoli Libya Tunis Tunisia +Tripoli Libya Vaduz Liechtenstein +Tripoli Libya Valletta Malta +Tripoli Libya Vienna Austria +Tripoli Libya Vientiane Laos +Tripoli Libya Vilnius Lithuania +Tripoli Libya Warsaw Poland +Tripoli Libya Windhoek Namibia +Tripoli Libya Yerevan Armenia +Tripoli Libya Zagreb Croatia +Tripoli Libya Abuja Nigeria +Tripoli Libya Accra Ghana +Tripoli Libya Algiers Algeria +Tripoli Libya Amman Jordan +Tripoli Libya Ankara Turkey +Tripoli Libya Antananarivo Madagascar +Tripoli Libya Apia Samoa +Tripoli Libya Ashgabat Turkmenistan +Tripoli Libya Asmara Eritrea +Tripoli Libya Astana Kazakhstan +Tripoli Libya Athens Greece +Tripoli Libya Baghdad Iraq +Tripoli Libya Baku Azerbaijan +Tripoli Libya Bamako Mali +Tripoli Libya Bangkok Thailand +Tripoli Libya Banjul Gambia +Tripoli Libya Beijing China +Tripoli Libya Beirut Lebanon +Tripoli Libya Belgrade Serbia +Tripoli Libya Belmopan Belize +Tripoli Libya Berlin Germany +Tripoli Libya Bern Switzerland +Tripoli Libya Bishkek Kyrgyzstan +Tripoli Libya Bratislava Slovakia +Tripoli Libya Brussels Belgium +Tripoli Libya Bucharest Romania +Tripoli Libya Budapest Hungary +Tripoli Libya Bujumbura Burundi +Tripoli Libya Cairo Egypt +Tunis Tunisia Vaduz Liechtenstein +Tunis Tunisia Valletta Malta +Tunis Tunisia Vienna Austria +Tunis Tunisia Vientiane Laos +Tunis Tunisia Vilnius Lithuania +Tunis Tunisia Warsaw Poland +Tunis Tunisia Windhoek Namibia +Tunis Tunisia Yerevan Armenia +Tunis Tunisia Zagreb Croatia +Tunis Tunisia Abuja Nigeria +Tunis Tunisia Accra Ghana +Tunis Tunisia Algiers Algeria +Tunis Tunisia Amman Jordan +Tunis Tunisia Ankara Turkey +Tunis Tunisia Antananarivo Madagascar +Tunis Tunisia Apia Samoa +Tunis Tunisia Ashgabat Turkmenistan +Tunis Tunisia Asmara Eritrea +Tunis Tunisia Astana Kazakhstan +Tunis Tunisia Athens Greece +Tunis Tunisia Baghdad Iraq +Tunis Tunisia Baku Azerbaijan +Tunis Tunisia Bamako Mali +Tunis Tunisia Bangkok Thailand +Tunis Tunisia Banjul Gambia +Tunis Tunisia Beijing China +Tunis Tunisia Beirut Lebanon +Tunis Tunisia Belgrade Serbia +Tunis Tunisia Belmopan Belize +Tunis Tunisia Berlin Germany +Tunis Tunisia Bern Switzerland +Tunis Tunisia Bishkek Kyrgyzstan +Tunis Tunisia Bratislava Slovakia +Tunis Tunisia Brussels Belgium +Tunis Tunisia Bucharest Romania +Tunis Tunisia Budapest Hungary +Tunis Tunisia Bujumbura Burundi +Tunis Tunisia Cairo Egypt +Tunis Tunisia Canberra Australia +Vaduz Liechtenstein Valletta Malta +Vaduz Liechtenstein Vienna Austria +Vaduz Liechtenstein Vientiane Laos +Vaduz Liechtenstein Vilnius Lithuania +Vaduz Liechtenstein Warsaw Poland +Vaduz Liechtenstein Windhoek Namibia +Vaduz Liechtenstein Yerevan Armenia +Vaduz Liechtenstein Zagreb Croatia +Vaduz Liechtenstein Abuja Nigeria +Vaduz Liechtenstein Accra Ghana +Vaduz Liechtenstein Algiers Algeria +Vaduz Liechtenstein Amman Jordan +Vaduz Liechtenstein Ankara Turkey +Vaduz Liechtenstein Antananarivo Madagascar +Vaduz Liechtenstein Apia Samoa +Vaduz Liechtenstein Ashgabat Turkmenistan +Vaduz Liechtenstein Asmara Eritrea +Vaduz Liechtenstein Astana Kazakhstan +Vaduz Liechtenstein Athens Greece +Vaduz Liechtenstein Baghdad Iraq +Vaduz Liechtenstein Baku Azerbaijan +Vaduz Liechtenstein Bamako Mali +Vaduz Liechtenstein Bangkok Thailand +Vaduz Liechtenstein Banjul Gambia +Vaduz Liechtenstein Beijing China +Vaduz Liechtenstein Beirut Lebanon +Vaduz Liechtenstein Belgrade Serbia +Vaduz Liechtenstein Belmopan Belize +Vaduz Liechtenstein Berlin Germany +Vaduz Liechtenstein Bern Switzerland +Vaduz Liechtenstein Bishkek Kyrgyzstan +Vaduz Liechtenstein Bratislava Slovakia +Vaduz Liechtenstein Brussels Belgium +Vaduz Liechtenstein Bucharest Romania +Vaduz Liechtenstein Budapest Hungary +Vaduz Liechtenstein Bujumbura Burundi +Vaduz Liechtenstein Cairo Egypt +Vaduz Liechtenstein Canberra Australia +Vaduz Liechtenstein Caracas Venezuela +Valletta Malta Vienna Austria +Valletta Malta Vientiane Laos +Valletta Malta Vilnius Lithuania +Valletta Malta Warsaw Poland +Valletta Malta Windhoek Namibia +Valletta Malta Yerevan Armenia +Valletta Malta Zagreb Croatia +Valletta Malta Abuja Nigeria +Valletta Malta Accra Ghana +Valletta Malta Algiers Algeria +Valletta Malta Amman Jordan +Valletta Malta Ankara Turkey +Valletta Malta Antananarivo Madagascar +Valletta Malta Apia Samoa +Valletta Malta Ashgabat Turkmenistan +Valletta Malta Asmara Eritrea +Valletta Malta Astana Kazakhstan +Valletta Malta Athens Greece +Valletta Malta Baghdad Iraq +Valletta Malta Baku Azerbaijan +Valletta Malta Bamako Mali +Valletta Malta Bangkok Thailand +Valletta Malta Banjul Gambia +Valletta Malta Beijing China +Valletta Malta Beirut Lebanon +Valletta Malta Belgrade Serbia +Valletta Malta Belmopan Belize +Valletta Malta Berlin Germany +Valletta Malta Bern Switzerland +Valletta Malta Bishkek Kyrgyzstan +Valletta Malta Bratislava Slovakia +Valletta Malta Brussels Belgium +Valletta Malta Bucharest Romania +Valletta Malta Budapest Hungary +Valletta Malta Bujumbura Burundi +Valletta Malta Cairo Egypt +Valletta Malta Canberra Australia +Valletta Malta Caracas Venezuela +Valletta Malta Chisinau Moldova +Vienna Austria Vientiane Laos +Vienna Austria Vilnius Lithuania +Vienna Austria Warsaw Poland +Vienna Austria Windhoek Namibia +Vienna Austria Yerevan Armenia +Vienna Austria Zagreb Croatia +Vienna Austria Abuja Nigeria +Vienna Austria Accra Ghana +Vienna Austria Algiers Algeria +Vienna Austria Amman Jordan +Vienna Austria Ankara Turkey +Vienna Austria Antananarivo Madagascar +Vienna Austria Apia Samoa +Vienna Austria Ashgabat Turkmenistan +Vienna Austria Asmara Eritrea +Vienna Austria Astana Kazakhstan +Vienna Austria Athens Greece +Vienna Austria Baghdad Iraq +Vienna Austria Baku Azerbaijan +Vienna Austria Bamako Mali +Vienna Austria Bangkok Thailand +Vienna Austria Banjul Gambia +Vienna Austria Beijing China +Vienna Austria Beirut Lebanon +Vienna Austria Belgrade Serbia +Vienna Austria Belmopan Belize +Vienna Austria Berlin Germany +Vienna Austria Bern Switzerland +Vienna Austria Bishkek Kyrgyzstan +Vienna Austria Bratislava Slovakia +Vienna Austria Brussels Belgium +Vienna Austria Bucharest Romania +Vienna Austria Budapest Hungary +Vienna Austria Bujumbura Burundi +Vienna Austria Cairo Egypt +Vienna Austria Canberra Australia +Vienna Austria Caracas Venezuela +Vienna Austria Chisinau Moldova +Vienna Austria Conakry Guinea +Vientiane Laos Vilnius Lithuania +Vientiane Laos Warsaw Poland +Vientiane Laos Windhoek Namibia +Vientiane Laos Yerevan Armenia +Vientiane Laos Zagreb Croatia +Vientiane Laos Abuja Nigeria +Vientiane Laos Accra Ghana +Vientiane Laos Algiers Algeria +Vientiane Laos Amman Jordan +Vientiane Laos Ankara Turkey +Vientiane Laos Antananarivo Madagascar +Vientiane Laos Apia Samoa +Vientiane Laos Ashgabat Turkmenistan +Vientiane Laos Asmara Eritrea +Vientiane Laos Astana Kazakhstan +Vientiane Laos Athens Greece +Vientiane Laos Baghdad Iraq +Vientiane Laos Baku Azerbaijan +Vientiane Laos Bamako Mali +Vientiane Laos Bangkok Thailand +Vientiane Laos Banjul Gambia +Vientiane Laos Beijing China +Vientiane Laos Beirut Lebanon +Vientiane Laos Belgrade Serbia +Vientiane Laos Belmopan Belize +Vientiane Laos Berlin Germany +Vientiane Laos Bern Switzerland +Vientiane Laos Bishkek Kyrgyzstan +Vientiane Laos Bratislava Slovakia +Vientiane Laos Brussels Belgium +Vientiane Laos Bucharest Romania +Vientiane Laos Budapest Hungary +Vientiane Laos Bujumbura Burundi +Vientiane Laos Cairo Egypt +Vientiane Laos Canberra Australia +Vientiane Laos Caracas Venezuela +Vientiane Laos Chisinau Moldova +Vientiane Laos Conakry Guinea +Vientiane Laos Copenhagen Denmark +Vilnius Lithuania Warsaw Poland +Vilnius Lithuania Windhoek Namibia +Vilnius Lithuania Yerevan Armenia +Vilnius Lithuania Zagreb Croatia +Vilnius Lithuania Abuja Nigeria +Vilnius Lithuania Accra Ghana +Vilnius Lithuania Algiers Algeria +Vilnius Lithuania Amman Jordan +Vilnius Lithuania Ankara Turkey +Vilnius Lithuania Antananarivo Madagascar +Vilnius Lithuania Apia Samoa +Vilnius Lithuania Ashgabat Turkmenistan +Vilnius Lithuania Asmara Eritrea +Vilnius Lithuania Astana Kazakhstan +Vilnius Lithuania Athens Greece +Vilnius Lithuania Baghdad Iraq +Vilnius Lithuania Baku Azerbaijan +Vilnius Lithuania Bamako Mali +Vilnius Lithuania Bangkok Thailand +Vilnius Lithuania Banjul Gambia +Vilnius Lithuania Beijing China +Vilnius Lithuania Beirut Lebanon +Vilnius Lithuania Belgrade Serbia +Vilnius Lithuania Belmopan Belize +Vilnius Lithuania Berlin Germany +Vilnius Lithuania Bern Switzerland +Vilnius Lithuania Bishkek Kyrgyzstan +Vilnius Lithuania Bratislava Slovakia +Vilnius Lithuania Brussels Belgium +Vilnius Lithuania Bucharest Romania +Vilnius Lithuania Budapest Hungary +Vilnius Lithuania Bujumbura Burundi +Vilnius Lithuania Cairo Egypt +Vilnius Lithuania Canberra Australia +Vilnius Lithuania Caracas Venezuela +Vilnius Lithuania Chisinau Moldova +Vilnius Lithuania Conakry Guinea +Vilnius Lithuania Copenhagen Denmark +Vilnius Lithuania Dakar Senegal +Warsaw Poland Windhoek Namibia +Warsaw Poland Yerevan Armenia +Warsaw Poland Zagreb Croatia +Warsaw Poland Abuja Nigeria +Warsaw Poland Accra Ghana +Warsaw Poland Algiers Algeria +Warsaw Poland Amman Jordan +Warsaw Poland Ankara Turkey +Warsaw Poland Antananarivo Madagascar +Warsaw Poland Apia Samoa +Warsaw Poland Ashgabat Turkmenistan +Warsaw Poland Asmara Eritrea +Warsaw Poland Astana Kazakhstan +Warsaw Poland Athens Greece +Warsaw Poland Baghdad Iraq +Warsaw Poland Baku Azerbaijan +Warsaw Poland Bamako Mali +Warsaw Poland Bangkok Thailand +Warsaw Poland Banjul Gambia +Warsaw Poland Beijing China +Warsaw Poland Beirut Lebanon +Warsaw Poland Belgrade Serbia +Warsaw Poland Belmopan Belize +Warsaw Poland Berlin Germany +Warsaw Poland Bern Switzerland +Warsaw Poland Bishkek Kyrgyzstan +Warsaw Poland Bratislava Slovakia +Warsaw Poland Brussels Belgium +Warsaw Poland Bucharest Romania +Warsaw Poland Budapest Hungary +Warsaw Poland Bujumbura Burundi +Warsaw Poland Cairo Egypt +Warsaw Poland Canberra Australia +Warsaw Poland Caracas Venezuela +Warsaw Poland Chisinau Moldova +Warsaw Poland Conakry Guinea +Warsaw Poland Copenhagen Denmark +Warsaw Poland Dakar Senegal +Warsaw Poland Damascus Syria +Windhoek Namibia Yerevan Armenia +Windhoek Namibia Zagreb Croatia +Windhoek Namibia Abuja Nigeria +Windhoek Namibia Accra Ghana +Windhoek Namibia Algiers Algeria +Windhoek Namibia Amman Jordan +Windhoek Namibia Ankara Turkey +Windhoek Namibia Antananarivo Madagascar +Windhoek Namibia Apia Samoa +Windhoek Namibia Ashgabat Turkmenistan +Windhoek Namibia Asmara Eritrea +Windhoek Namibia Astana Kazakhstan +Windhoek Namibia Athens Greece +Windhoek Namibia Baghdad Iraq +Windhoek Namibia Baku Azerbaijan +Windhoek Namibia Bamako Mali +Windhoek Namibia Bangkok Thailand +Windhoek Namibia Banjul Gambia +Windhoek Namibia Beijing China +Windhoek Namibia Beirut Lebanon +Windhoek Namibia Belgrade Serbia +Windhoek Namibia Belmopan Belize +Windhoek Namibia Berlin Germany +Windhoek Namibia Bern Switzerland +Windhoek Namibia Bishkek Kyrgyzstan +Windhoek Namibia Bratislava Slovakia +Windhoek Namibia Brussels Belgium +Windhoek Namibia Bucharest Romania +Windhoek Namibia Budapest Hungary +Windhoek Namibia Bujumbura Burundi +Windhoek Namibia Cairo Egypt +Windhoek Namibia Canberra Australia +Windhoek Namibia Caracas Venezuela +Windhoek Namibia Chisinau Moldova +Windhoek Namibia Conakry Guinea +Windhoek Namibia Copenhagen Denmark +Windhoek Namibia Dakar Senegal +Windhoek Namibia Damascus Syria +Windhoek Namibia Dhaka Bangladesh +Yerevan Armenia Zagreb Croatia +Yerevan Armenia Abuja Nigeria +Yerevan Armenia Accra Ghana +Yerevan Armenia Algiers Algeria +Yerevan Armenia Amman Jordan +Yerevan Armenia Ankara Turkey +Yerevan Armenia Antananarivo Madagascar +Yerevan Armenia Apia Samoa +Yerevan Armenia Ashgabat Turkmenistan +Yerevan Armenia Asmara Eritrea +Yerevan Armenia Astana Kazakhstan +Yerevan Armenia Athens Greece +Yerevan Armenia Baghdad Iraq +Yerevan Armenia Baku Azerbaijan +Yerevan Armenia Bamako Mali +Yerevan Armenia Bangkok Thailand +Yerevan Armenia Banjul Gambia +Yerevan Armenia Beijing China +Yerevan Armenia Beirut Lebanon +Yerevan Armenia Belgrade Serbia +Yerevan Armenia Belmopan Belize +Yerevan Armenia Berlin Germany +Yerevan Armenia Bern Switzerland +Yerevan Armenia Bishkek Kyrgyzstan +Yerevan Armenia Bratislava Slovakia +Yerevan Armenia Brussels Belgium +Yerevan Armenia Bucharest Romania +Yerevan Armenia Budapest Hungary +Yerevan Armenia Bujumbura Burundi +Yerevan Armenia Cairo Egypt +Yerevan Armenia Canberra Australia +Yerevan Armenia Caracas Venezuela +Yerevan Armenia Chisinau Moldova +Yerevan Armenia Conakry Guinea +Yerevan Armenia Copenhagen Denmark +Yerevan Armenia Dakar Senegal +Yerevan Armenia Damascus Syria +Yerevan Armenia Dhaka Bangladesh +Yerevan Armenia Doha Qatar +Zagreb Croatia Abuja Nigeria +Zagreb Croatia Accra Ghana +Zagreb Croatia Algiers Algeria +Zagreb Croatia Amman Jordan +Zagreb Croatia Ankara Turkey +Zagreb Croatia Antananarivo Madagascar +Zagreb Croatia Apia Samoa +Zagreb Croatia Ashgabat Turkmenistan +Zagreb Croatia Asmara Eritrea +Zagreb Croatia Astana Kazakhstan +Zagreb Croatia Athens Greece +Zagreb Croatia Baghdad Iraq +Zagreb Croatia Baku Azerbaijan +Zagreb Croatia Bamako Mali +Zagreb Croatia Bangkok Thailand +Zagreb Croatia Banjul Gambia +Zagreb Croatia Beijing China +Zagreb Croatia Beirut Lebanon +Zagreb Croatia Belgrade Serbia +Zagreb Croatia Belmopan Belize +Zagreb Croatia Berlin Germany +Zagreb Croatia Bern Switzerland +Zagreb Croatia Bishkek Kyrgyzstan +Zagreb Croatia Bratislava Slovakia +Zagreb Croatia Brussels Belgium +Zagreb Croatia Bucharest Romania +Zagreb Croatia Budapest Hungary +Zagreb Croatia Bujumbura Burundi +Zagreb Croatia Cairo Egypt +Zagreb Croatia Canberra Australia +Zagreb Croatia Caracas Venezuela +Zagreb Croatia Chisinau Moldova +Zagreb Croatia Conakry Guinea +Zagreb Croatia Copenhagen Denmark +Zagreb Croatia Dakar Senegal +Zagreb Croatia Damascus Syria +Zagreb Croatia Dhaka Bangladesh +Zagreb Croatia Doha Qatar +Zagreb Croatia Dublin Ireland +: currency +Algeria dinar Angola kwanza +Algeria dinar Argentina peso +Algeria dinar Armenia dram +Algeria dinar Brazil real +Algeria dinar Bulgaria lev +Algeria dinar Cambodia riel +Algeria dinar Canada dollar +Algeria dinar Croatia kuna +Algeria dinar Denmark krone +Algeria dinar Europe euro +Algeria dinar Hungary forint +Algeria dinar India rupee +Algeria dinar Iran rial +Algeria dinar Japan yen +Algeria dinar Korea won +Algeria dinar Latvia lats +Algeria dinar Lithuania litas +Algeria dinar Macedonia denar +Algeria dinar Malaysia ringgit +Algeria dinar Mexico peso +Algeria dinar Nigeria naira +Algeria dinar Poland zloty +Algeria dinar Romania leu +Algeria dinar Russia ruble +Algeria dinar Sweden krona +Algeria dinar Thailand baht +Algeria dinar Ukraine hryvnia +Algeria dinar USA dollar +Algeria dinar Vietnam dong +Angola kwanza Argentina peso +Angola kwanza Armenia dram +Angola kwanza Brazil real +Angola kwanza Bulgaria lev +Angola kwanza Cambodia riel +Angola kwanza Canada dollar +Angola kwanza Croatia kuna +Angola kwanza Denmark krone +Angola kwanza Europe euro +Angola kwanza Hungary forint +Angola kwanza India rupee +Angola kwanza Iran rial +Angola kwanza Japan yen +Angola kwanza Korea won +Angola kwanza Latvia lats +Angola kwanza Lithuania litas +Angola kwanza Macedonia denar +Angola kwanza Malaysia ringgit +Angola kwanza Mexico peso +Angola kwanza Nigeria naira +Angola kwanza Poland zloty +Angola kwanza Romania leu +Angola kwanza Russia ruble +Angola kwanza Sweden krona +Angola kwanza Thailand baht +Angola kwanza Ukraine hryvnia +Angola kwanza USA dollar +Angola kwanza Vietnam dong +Angola kwanza Algeria dinar +Argentina peso Armenia dram +Argentina peso Brazil real +Argentina peso Bulgaria lev +Argentina peso Cambodia riel +Argentina peso Canada dollar +Argentina peso Croatia kuna +Argentina peso Denmark krone +Argentina peso Europe euro +Argentina peso Hungary forint +Argentina peso India rupee +Argentina peso Iran rial +Argentina peso Japan yen +Argentina peso Korea won +Argentina peso Latvia lats +Argentina peso Lithuania litas +Argentina peso Macedonia denar +Argentina peso Malaysia ringgit +Argentina peso Nigeria naira +Argentina peso Poland zloty +Argentina peso Romania leu +Argentina peso Russia ruble +Argentina peso Sweden krona +Argentina peso Thailand baht +Argentina peso Ukraine hryvnia +Argentina peso USA dollar +Argentina peso Vietnam dong +Argentina peso Algeria dinar +Argentina peso Angola kwanza +Armenia dram Brazil real +Armenia dram Bulgaria lev +Armenia dram Cambodia riel +Armenia dram Canada dollar +Armenia dram Croatia kuna +Armenia dram Denmark krone +Armenia dram Europe euro +Armenia dram Hungary forint +Armenia dram India rupee +Armenia dram Iran rial +Armenia dram Japan yen +Armenia dram Korea won +Armenia dram Latvia lats +Armenia dram Lithuania litas +Armenia dram Macedonia denar +Armenia dram Malaysia ringgit +Armenia dram Mexico peso +Armenia dram Nigeria naira +Armenia dram Poland zloty +Armenia dram Romania leu +Armenia dram Russia ruble +Armenia dram Sweden krona +Armenia dram Thailand baht +Armenia dram Ukraine hryvnia +Armenia dram USA dollar +Armenia dram Vietnam dong +Armenia dram Algeria dinar +Armenia dram Angola kwanza +Armenia dram Argentina peso +Brazil real Bulgaria lev +Brazil real Cambodia riel +Brazil real Canada dollar +Brazil real Croatia kuna +Brazil real Denmark krone +Brazil real Europe euro +Brazil real Hungary forint +Brazil real India rupee +Brazil real Iran rial +Brazil real Japan yen +Brazil real Korea won +Brazil real Latvia lats +Brazil real Lithuania litas +Brazil real Macedonia denar +Brazil real Malaysia ringgit +Brazil real Mexico peso +Brazil real Nigeria naira +Brazil real Poland zloty +Brazil real Romania leu +Brazil real Russia ruble +Brazil real Sweden krona +Brazil real Thailand baht +Brazil real Ukraine hryvnia +Brazil real USA dollar +Brazil real Vietnam dong +Brazil real Algeria dinar +Brazil real Angola kwanza +Brazil real Argentina peso +Brazil real Armenia dram +Bulgaria lev Cambodia riel +Bulgaria lev Canada dollar +Bulgaria lev Croatia kuna +Bulgaria lev Denmark krone +Bulgaria lev Europe euro +Bulgaria lev Hungary forint +Bulgaria lev India rupee +Bulgaria lev Iran rial +Bulgaria lev Japan yen +Bulgaria lev Korea won +Bulgaria lev Latvia lats +Bulgaria lev Lithuania litas +Bulgaria lev Macedonia denar +Bulgaria lev Malaysia ringgit +Bulgaria lev Mexico peso +Bulgaria lev Nigeria naira +Bulgaria lev Poland zloty +Bulgaria lev Romania leu +Bulgaria lev Russia ruble +Bulgaria lev Sweden krona +Bulgaria lev Thailand baht +Bulgaria lev Ukraine hryvnia +Bulgaria lev USA dollar +Bulgaria lev Vietnam dong +Bulgaria lev Algeria dinar +Bulgaria lev Angola kwanza +Bulgaria lev Argentina peso +Bulgaria lev Armenia dram +Bulgaria lev Brazil real +Cambodia riel Canada dollar +Cambodia riel Croatia kuna +Cambodia riel Denmark krone +Cambodia riel Europe euro +Cambodia riel Hungary forint +Cambodia riel India rupee +Cambodia riel Iran rial +Cambodia riel Japan yen +Cambodia riel Korea won +Cambodia riel Latvia lats +Cambodia riel Lithuania litas +Cambodia riel Macedonia denar +Cambodia riel Malaysia ringgit +Cambodia riel Mexico peso +Cambodia riel Nigeria naira +Cambodia riel Poland zloty +Cambodia riel Romania leu +Cambodia riel Russia ruble +Cambodia riel Sweden krona +Cambodia riel Thailand baht +Cambodia riel Ukraine hryvnia +Cambodia riel USA dollar +Cambodia riel Vietnam dong +Cambodia riel Algeria dinar +Cambodia riel Angola kwanza +Cambodia riel Argentina peso +Cambodia riel Armenia dram +Cambodia riel Brazil real +Cambodia riel Bulgaria lev +Canada dollar Croatia kuna +Canada dollar Denmark krone +Canada dollar Europe euro +Canada dollar Hungary forint +Canada dollar India rupee +Canada dollar Iran rial +Canada dollar Japan yen +Canada dollar Korea won +Canada dollar Latvia lats +Canada dollar Lithuania litas +Canada dollar Macedonia denar +Canada dollar Malaysia ringgit +Canada dollar Mexico peso +Canada dollar Nigeria naira +Canada dollar Poland zloty +Canada dollar Romania leu +Canada dollar Russia ruble +Canada dollar Sweden krona +Canada dollar Thailand baht +Canada dollar Ukraine hryvnia +Canada dollar Vietnam dong +Canada dollar Algeria dinar +Canada dollar Angola kwanza +Canada dollar Argentina peso +Canada dollar Armenia dram +Canada dollar Brazil real +Canada dollar Bulgaria lev +Canada dollar Cambodia riel +Croatia kuna Denmark krone +Croatia kuna Europe euro +Croatia kuna Hungary forint +Croatia kuna India rupee +Croatia kuna Iran rial +Croatia kuna Japan yen +Croatia kuna Korea won +Croatia kuna Latvia lats +Croatia kuna Lithuania litas +Croatia kuna Macedonia denar +Croatia kuna Malaysia ringgit +Croatia kuna Mexico peso +Croatia kuna Nigeria naira +Croatia kuna Poland zloty +Croatia kuna Romania leu +Croatia kuna Russia ruble +Croatia kuna Sweden krona +Croatia kuna Thailand baht +Croatia kuna Ukraine hryvnia +Croatia kuna USA dollar +Croatia kuna Vietnam dong +Croatia kuna Algeria dinar +Croatia kuna Angola kwanza +Croatia kuna Argentina peso +Croatia kuna Armenia dram +Croatia kuna Brazil real +Croatia kuna Bulgaria lev +Croatia kuna Cambodia riel +Croatia kuna Canada dollar +Denmark krone Europe euro +Denmark krone Hungary forint +Denmark krone India rupee +Denmark krone Iran rial +Denmark krone Japan yen +Denmark krone Korea won +Denmark krone Latvia lats +Denmark krone Lithuania litas +Denmark krone Macedonia denar +Denmark krone Malaysia ringgit +Denmark krone Mexico peso +Denmark krone Nigeria naira +Denmark krone Poland zloty +Denmark krone Romania leu +Denmark krone Russia ruble +Denmark krone Sweden krona +Denmark krone Thailand baht +Denmark krone Ukraine hryvnia +Denmark krone USA dollar +Denmark krone Vietnam dong +Denmark krone Algeria dinar +Denmark krone Angola kwanza +Denmark krone Argentina peso +Denmark krone Armenia dram +Denmark krone Brazil real +Denmark krone Bulgaria lev +Denmark krone Cambodia riel +Denmark krone Canada dollar +Denmark krone Croatia kuna +Europe euro Hungary forint +Europe euro India rupee +Europe euro Iran rial +Europe euro Japan yen +Europe euro Korea won +Europe euro Latvia lats +Europe euro Lithuania litas +Europe euro Macedonia denar +Europe euro Malaysia ringgit +Europe euro Mexico peso +Europe euro Nigeria naira +Europe euro Poland zloty +Europe euro Romania leu +Europe euro Russia ruble +Europe euro Sweden krona +Europe euro Thailand baht +Europe euro Ukraine hryvnia +Europe euro USA dollar +Europe euro Vietnam dong +Europe euro Algeria dinar +Europe euro Angola kwanza +Europe euro Argentina peso +Europe euro Armenia dram +Europe euro Brazil real +Europe euro Bulgaria lev +Europe euro Cambodia riel +Europe euro Canada dollar +Europe euro Croatia kuna +Europe euro Denmark krone +Hungary forint India rupee +Hungary forint Iran rial +Hungary forint Japan yen +Hungary forint Korea won +Hungary forint Latvia lats +Hungary forint Lithuania litas +Hungary forint Macedonia denar +Hungary forint Malaysia ringgit +Hungary forint Mexico peso +Hungary forint Nigeria naira +Hungary forint Poland zloty +Hungary forint Romania leu +Hungary forint Russia ruble +Hungary forint Sweden krona +Hungary forint Thailand baht +Hungary forint Ukraine hryvnia +Hungary forint USA dollar +Hungary forint Vietnam dong +Hungary forint Algeria dinar +Hungary forint Angola kwanza +Hungary forint Argentina peso +Hungary forint Armenia dram +Hungary forint Brazil real +Hungary forint Bulgaria lev +Hungary forint Cambodia riel +Hungary forint Canada dollar +Hungary forint Croatia kuna +Hungary forint Denmark krone +Hungary forint Europe euro +India rupee Iran rial +India rupee Japan yen +India rupee Korea won +India rupee Latvia lats +India rupee Lithuania litas +India rupee Macedonia denar +India rupee Malaysia ringgit +India rupee Mexico peso +India rupee Nigeria naira +India rupee Poland zloty +India rupee Romania leu +India rupee Russia ruble +India rupee Sweden krona +India rupee Thailand baht +India rupee Ukraine hryvnia +India rupee USA dollar +India rupee Vietnam dong +India rupee Algeria dinar +India rupee Angola kwanza +India rupee Argentina peso +India rupee Armenia dram +India rupee Brazil real +India rupee Bulgaria lev +India rupee Cambodia riel +India rupee Canada dollar +India rupee Croatia kuna +India rupee Denmark krone +India rupee Europe euro +India rupee Hungary forint +Iran rial Japan yen +Iran rial Korea won +Iran rial Latvia lats +Iran rial Lithuania litas +Iran rial Macedonia denar +Iran rial Malaysia ringgit +Iran rial Mexico peso +Iran rial Nigeria naira +Iran rial Poland zloty +Iran rial Romania leu +Iran rial Russia ruble +Iran rial Sweden krona +Iran rial Thailand baht +Iran rial Ukraine hryvnia +Iran rial USA dollar +Iran rial Vietnam dong +Iran rial Algeria dinar +Iran rial Angola kwanza +Iran rial Argentina peso +Iran rial Armenia dram +Iran rial Brazil real +Iran rial Bulgaria lev +Iran rial Cambodia riel +Iran rial Canada dollar +Iran rial Croatia kuna +Iran rial Denmark krone +Iran rial Europe euro +Iran rial Hungary forint +Iran rial India rupee +Japan yen Korea won +Japan yen Latvia lats +Japan yen Lithuania litas +Japan yen Macedonia denar +Japan yen Malaysia ringgit +Japan yen Mexico peso +Japan yen Nigeria naira +Japan yen Poland zloty +Japan yen Romania leu +Japan yen Russia ruble +Japan yen Sweden krona +Japan yen Thailand baht +Japan yen Ukraine hryvnia +Japan yen USA dollar +Japan yen Vietnam dong +Japan yen Algeria dinar +Japan yen Angola kwanza +Japan yen Argentina peso +Japan yen Armenia dram +Japan yen Brazil real +Japan yen Bulgaria lev +Japan yen Cambodia riel +Japan yen Canada dollar +Japan yen Croatia kuna +Japan yen Denmark krone +Japan yen Europe euro +Japan yen Hungary forint +Japan yen India rupee +Japan yen Iran rial +Korea won Latvia lats +Korea won Lithuania litas +Korea won Macedonia denar +Korea won Malaysia ringgit +Korea won Mexico peso +Korea won Nigeria naira +Korea won Poland zloty +Korea won Romania leu +Korea won Russia ruble +Korea won Sweden krona +Korea won Thailand baht +Korea won Ukraine hryvnia +Korea won USA dollar +Korea won Vietnam dong +Korea won Algeria dinar +Korea won Angola kwanza +Korea won Argentina peso +Korea won Armenia dram +Korea won Brazil real +Korea won Bulgaria lev +Korea won Cambodia riel +Korea won Canada dollar +Korea won Croatia kuna +Korea won Denmark krone +Korea won Europe euro +Korea won Hungary forint +Korea won India rupee +Korea won Iran rial +Korea won Japan yen +Latvia lats Lithuania litas +Latvia lats Macedonia denar +Latvia lats Malaysia ringgit +Latvia lats Mexico peso +Latvia lats Nigeria naira +Latvia lats Poland zloty +Latvia lats Romania leu +Latvia lats Russia ruble +Latvia lats Sweden krona +Latvia lats Thailand baht +Latvia lats Ukraine hryvnia +Latvia lats USA dollar +Latvia lats Vietnam dong +Latvia lats Algeria dinar +Latvia lats Angola kwanza +Latvia lats Argentina peso +Latvia lats Armenia dram +Latvia lats Brazil real +Latvia lats Bulgaria lev +Latvia lats Cambodia riel +Latvia lats Canada dollar +Latvia lats Croatia kuna +Latvia lats Denmark krone +Latvia lats Europe euro +Latvia lats Hungary forint +Latvia lats India rupee +Latvia lats Iran rial +Latvia lats Japan yen +Latvia lats Korea won +Lithuania litas Macedonia denar +Lithuania litas Malaysia ringgit +Lithuania litas Mexico peso +Lithuania litas Nigeria naira +Lithuania litas Poland zloty +Lithuania litas Romania leu +Lithuania litas Russia ruble +Lithuania litas Sweden krona +Lithuania litas Thailand baht +Lithuania litas Ukraine hryvnia +Lithuania litas USA dollar +Lithuania litas Vietnam dong +Lithuania litas Algeria dinar +Lithuania litas Angola kwanza +Lithuania litas Argentina peso +Lithuania litas Armenia dram +Lithuania litas Brazil real +Lithuania litas Bulgaria lev +Lithuania litas Cambodia riel +Lithuania litas Canada dollar +Lithuania litas Croatia kuna +Lithuania litas Denmark krone +Lithuania litas Europe euro +Lithuania litas Hungary forint +Lithuania litas India rupee +Lithuania litas Iran rial +Lithuania litas Japan yen +Lithuania litas Korea won +Lithuania litas Latvia lats +Macedonia denar Malaysia ringgit +Macedonia denar Mexico peso +Macedonia denar Nigeria naira +Macedonia denar Poland zloty +Macedonia denar Romania leu +Macedonia denar Russia ruble +Macedonia denar Sweden krona +Macedonia denar Thailand baht +Macedonia denar Ukraine hryvnia +Macedonia denar USA dollar +Macedonia denar Vietnam dong +Macedonia denar Algeria dinar +Macedonia denar Angola kwanza +Macedonia denar Argentina peso +Macedonia denar Armenia dram +Macedonia denar Brazil real +Macedonia denar Bulgaria lev +Macedonia denar Cambodia riel +Macedonia denar Canada dollar +Macedonia denar Croatia kuna +Macedonia denar Denmark krone +Macedonia denar Europe euro +Macedonia denar Hungary forint +Macedonia denar India rupee +Macedonia denar Iran rial +Macedonia denar Japan yen +Macedonia denar Korea won +Macedonia denar Latvia lats +Macedonia denar Lithuania litas +Malaysia ringgit Mexico peso +Malaysia ringgit Nigeria naira +Malaysia ringgit Poland zloty +Malaysia ringgit Romania leu +Malaysia ringgit Russia ruble +Malaysia ringgit Sweden krona +Malaysia ringgit Thailand baht +Malaysia ringgit Ukraine hryvnia +Malaysia ringgit USA dollar +Malaysia ringgit Vietnam dong +Malaysia ringgit Algeria dinar +Malaysia ringgit Angola kwanza +Malaysia ringgit Argentina peso +Malaysia ringgit Armenia dram +Malaysia ringgit Brazil real +Malaysia ringgit Bulgaria lev +Malaysia ringgit Cambodia riel +Malaysia ringgit Canada dollar +Malaysia ringgit Croatia kuna +Malaysia ringgit Denmark krone +Malaysia ringgit Europe euro +Malaysia ringgit Hungary forint +Malaysia ringgit India rupee +Malaysia ringgit Iran rial +Malaysia ringgit Japan yen +Malaysia ringgit Korea won +Malaysia ringgit Latvia lats +Malaysia ringgit Lithuania litas +Malaysia ringgit Macedonia denar +Mexico peso Nigeria naira +Mexico peso Poland zloty +Mexico peso Romania leu +Mexico peso Russia ruble +Mexico peso Sweden krona +Mexico peso Thailand baht +Mexico peso Ukraine hryvnia +Mexico peso USA dollar +Mexico peso Vietnam dong +Mexico peso Algeria dinar +Mexico peso Angola kwanza +Mexico peso Armenia dram +Mexico peso Brazil real +Mexico peso Bulgaria lev +Mexico peso Cambodia riel +Mexico peso Canada dollar +Mexico peso Croatia kuna +Mexico peso Denmark krone +Mexico peso Europe euro +Mexico peso Hungary forint +Mexico peso India rupee +Mexico peso Iran rial +Mexico peso Japan yen +Mexico peso Korea won +Mexico peso Latvia lats +Mexico peso Lithuania litas +Mexico peso Macedonia denar +Mexico peso Malaysia ringgit +Nigeria naira Poland zloty +Nigeria naira Romania leu +Nigeria naira Russia ruble +Nigeria naira Sweden krona +Nigeria naira Thailand baht +Nigeria naira Ukraine hryvnia +Nigeria naira USA dollar +Nigeria naira Vietnam dong +Nigeria naira Algeria dinar +Nigeria naira Angola kwanza +Nigeria naira Argentina peso +Nigeria naira Armenia dram +Nigeria naira Brazil real +Nigeria naira Bulgaria lev +Nigeria naira Cambodia riel +Nigeria naira Canada dollar +Nigeria naira Croatia kuna +Nigeria naira Denmark krone +Nigeria naira Europe euro +Nigeria naira Hungary forint +Nigeria naira India rupee +Nigeria naira Iran rial +Nigeria naira Japan yen +Nigeria naira Korea won +Nigeria naira Latvia lats +Nigeria naira Lithuania litas +Nigeria naira Macedonia denar +Nigeria naira Malaysia ringgit +Nigeria naira Mexico peso +Poland zloty Romania leu +Poland zloty Russia ruble +Poland zloty Sweden krona +Poland zloty Thailand baht +Poland zloty Ukraine hryvnia +Poland zloty USA dollar +Poland zloty Vietnam dong +Poland zloty Algeria dinar +Poland zloty Angola kwanza +Poland zloty Argentina peso +Poland zloty Armenia dram +Poland zloty Brazil real +Poland zloty Bulgaria lev +Poland zloty Cambodia riel +Poland zloty Canada dollar +Poland zloty Croatia kuna +Poland zloty Denmark krone +Poland zloty Europe euro +Poland zloty Hungary forint +Poland zloty India rupee +Poland zloty Iran rial +Poland zloty Japan yen +Poland zloty Korea won +Poland zloty Latvia lats +Poland zloty Lithuania litas +Poland zloty Macedonia denar +Poland zloty Malaysia ringgit +Poland zloty Mexico peso +Poland zloty Nigeria naira +Romania leu Russia ruble +Romania leu Sweden krona +Romania leu Thailand baht +Romania leu Ukraine hryvnia +Romania leu USA dollar +Romania leu Vietnam dong +Romania leu Algeria dinar +Romania leu Angola kwanza +Romania leu Argentina peso +Romania leu Armenia dram +Romania leu Brazil real +Romania leu Bulgaria lev +Romania leu Cambodia riel +Romania leu Canada dollar +Romania leu Croatia kuna +Romania leu Denmark krone +Romania leu Europe euro +Romania leu Hungary forint +Romania leu India rupee +Romania leu Iran rial +Romania leu Japan yen +Romania leu Korea won +Romania leu Latvia lats +Romania leu Lithuania litas +Romania leu Macedonia denar +Romania leu Malaysia ringgit +Romania leu Mexico peso +Romania leu Nigeria naira +Romania leu Poland zloty +Russia ruble Sweden krona +Russia ruble Thailand baht +Russia ruble Ukraine hryvnia +Russia ruble USA dollar +Russia ruble Vietnam dong +Russia ruble Algeria dinar +Russia ruble Angola kwanza +Russia ruble Argentina peso +Russia ruble Armenia dram +Russia ruble Brazil real +Russia ruble Bulgaria lev +Russia ruble Cambodia riel +Russia ruble Canada dollar +Russia ruble Croatia kuna +Russia ruble Denmark krone +Russia ruble Europe euro +Russia ruble Hungary forint +Russia ruble India rupee +Russia ruble Iran rial +Russia ruble Japan yen +Russia ruble Korea won +Russia ruble Latvia lats +Russia ruble Lithuania litas +Russia ruble Macedonia denar +Russia ruble Malaysia ringgit +Russia ruble Mexico peso +Russia ruble Nigeria naira +Russia ruble Poland zloty +Russia ruble Romania leu +Sweden krona Thailand baht +Sweden krona Ukraine hryvnia +Sweden krona USA dollar +Sweden krona Vietnam dong +Sweden krona Algeria dinar +Sweden krona Angola kwanza +Sweden krona Argentina peso +Sweden krona Armenia dram +Sweden krona Brazil real +Sweden krona Bulgaria lev +Sweden krona Cambodia riel +Sweden krona Canada dollar +Sweden krona Croatia kuna +Sweden krona Denmark krone +Sweden krona Europe euro +Sweden krona Hungary forint +Sweden krona India rupee +Sweden krona Iran rial +Sweden krona Japan yen +Sweden krona Korea won +Sweden krona Latvia lats +Sweden krona Lithuania litas +Sweden krona Macedonia denar +Sweden krona Malaysia ringgit +Sweden krona Mexico peso +Sweden krona Nigeria naira +Sweden krona Poland zloty +Sweden krona Romania leu +Sweden krona Russia ruble +Thailand baht Ukraine hryvnia +Thailand baht USA dollar +Thailand baht Vietnam dong +Thailand baht Algeria dinar +Thailand baht Angola kwanza +Thailand baht Argentina peso +Thailand baht Armenia dram +Thailand baht Brazil real +Thailand baht Bulgaria lev +Thailand baht Cambodia riel +Thailand baht Canada dollar +Thailand baht Croatia kuna +Thailand baht Denmark krone +Thailand baht Europe euro +Thailand baht Hungary forint +Thailand baht India rupee +Thailand baht Iran rial +Thailand baht Japan yen +Thailand baht Korea won +Thailand baht Latvia lats +Thailand baht Lithuania litas +Thailand baht Macedonia denar +Thailand baht Malaysia ringgit +Thailand baht Mexico peso +Thailand baht Nigeria naira +Thailand baht Poland zloty +Thailand baht Romania leu +Thailand baht Russia ruble +Thailand baht Sweden krona +Ukraine hryvnia USA dollar +Ukraine hryvnia Vietnam dong +Ukraine hryvnia Algeria dinar +Ukraine hryvnia Angola kwanza +Ukraine hryvnia Argentina peso +Ukraine hryvnia Armenia dram +Ukraine hryvnia Brazil real +Ukraine hryvnia Bulgaria lev +Ukraine hryvnia Cambodia riel +Ukraine hryvnia Canada dollar +Ukraine hryvnia Croatia kuna +Ukraine hryvnia Denmark krone +Ukraine hryvnia Europe euro +Ukraine hryvnia Hungary forint +Ukraine hryvnia India rupee +Ukraine hryvnia Iran rial +Ukraine hryvnia Japan yen +Ukraine hryvnia Korea won +Ukraine hryvnia Latvia lats +Ukraine hryvnia Lithuania litas +Ukraine hryvnia Macedonia denar +Ukraine hryvnia Malaysia ringgit +Ukraine hryvnia Mexico peso +Ukraine hryvnia Nigeria naira +Ukraine hryvnia Poland zloty +Ukraine hryvnia Romania leu +Ukraine hryvnia Russia ruble +Ukraine hryvnia Sweden krona +Ukraine hryvnia Thailand baht +USA dollar Vietnam dong +USA dollar Algeria dinar +USA dollar Angola kwanza +USA dollar Argentina peso +USA dollar Armenia dram +USA dollar Brazil real +USA dollar Bulgaria lev +USA dollar Cambodia riel +USA dollar Croatia kuna +USA dollar Denmark krone +USA dollar Europe euro +USA dollar Hungary forint +USA dollar India rupee +USA dollar Iran rial +USA dollar Japan yen +USA dollar Korea won +USA dollar Latvia lats +USA dollar Lithuania litas +USA dollar Macedonia denar +USA dollar Malaysia ringgit +USA dollar Mexico peso +USA dollar Nigeria naira +USA dollar Poland zloty +USA dollar Romania leu +USA dollar Russia ruble +USA dollar Sweden krona +USA dollar Thailand baht +USA dollar Ukraine hryvnia +Vietnam dong Algeria dinar +Vietnam dong Angola kwanza +Vietnam dong Argentina peso +Vietnam dong Armenia dram +Vietnam dong Brazil real +Vietnam dong Bulgaria lev +Vietnam dong Cambodia riel +Vietnam dong Canada dollar +Vietnam dong Croatia kuna +Vietnam dong Denmark krone +Vietnam dong Europe euro +Vietnam dong Hungary forint +Vietnam dong India rupee +Vietnam dong Iran rial +Vietnam dong Japan yen +Vietnam dong Korea won +Vietnam dong Latvia lats +Vietnam dong Lithuania litas +Vietnam dong Macedonia denar +Vietnam dong Malaysia ringgit +Vietnam dong Mexico peso +Vietnam dong Nigeria naira +Vietnam dong Poland zloty +Vietnam dong Romania leu +Vietnam dong Russia ruble +Vietnam dong Sweden krona +Vietnam dong Thailand baht +Vietnam dong Ukraine hryvnia +Vietnam dong USA dollar +: city-in-state +Chicago Illinois Houston Texas +Chicago Illinois Philadelphia Pennsylvania +Chicago Illinois Phoenix Arizona +Chicago Illinois Dallas Texas +Chicago Illinois Jacksonville Florida +Chicago Illinois Indianapolis Indiana +Chicago Illinois Austin Texas +Chicago Illinois Detroit Michigan +Chicago Illinois Memphis Tennessee +Chicago Illinois Boston Massachusetts +Chicago Illinois Seattle Washington +Chicago Illinois Denver Colorado +Chicago Illinois Baltimore Maryland +Chicago Illinois Nashville Tennessee +Chicago Illinois Louisville Kentucky +Chicago Illinois Milwaukee Wisconsin +Chicago Illinois Portland Oregon +Chicago Illinois Tucson Arizona +Chicago Illinois Fresno California +Chicago Illinois Sacramento California +Chicago Illinois Mesa Arizona +Chicago Illinois Atlanta Georgia +Chicago Illinois Omaha Nebraska +Chicago Illinois Miami Florida +Chicago Illinois Tulsa Oklahoma +Chicago Illinois Oakland California +Chicago Illinois Cleveland Ohio +Chicago Illinois Minneapolis Minnesota +Chicago Illinois Wichita Kansas +Chicago Illinois Arlington Texas +Chicago Illinois Bakersfield California +Chicago Illinois Tampa Florida +Chicago Illinois Anaheim California +Chicago Illinois Honolulu Hawaii +Chicago Illinois Pittsburgh Pennsylvania +Chicago Illinois Lexington Kentucky +Chicago Illinois Stockton California +Chicago Illinois Cincinnati Ohio +Chicago Illinois Anchorage Alaska +Houston Texas Philadelphia Pennsylvania +Houston Texas Phoenix Arizona +Houston Texas Jacksonville Florida +Houston Texas Indianapolis Indiana +Houston Texas Detroit Michigan +Houston Texas Memphis Tennessee +Houston Texas Boston Massachusetts +Houston Texas Seattle Washington +Houston Texas Denver Colorado +Houston Texas Baltimore Maryland +Houston Texas Nashville Tennessee +Houston Texas Louisville Kentucky +Houston Texas Milwaukee Wisconsin +Houston Texas Portland Oregon +Houston Texas Tucson Arizona +Houston Texas Fresno California +Houston Texas Sacramento California +Houston Texas Mesa Arizona +Houston Texas Atlanta Georgia +Houston Texas Omaha Nebraska +Houston Texas Miami Florida +Houston Texas Tulsa Oklahoma +Houston Texas Oakland California +Houston Texas Cleveland Ohio +Houston Texas Minneapolis Minnesota +Houston Texas Wichita Kansas +Houston Texas Bakersfield California +Houston Texas Tampa Florida +Houston Texas Anaheim California +Houston Texas Honolulu Hawaii +Houston Texas Pittsburgh Pennsylvania +Houston Texas Lexington Kentucky +Houston Texas Stockton California +Houston Texas Cincinnati Ohio +Houston Texas Anchorage Alaska +Houston Texas Toledo Ohio +Philadelphia Pennsylvania Phoenix Arizona +Philadelphia Pennsylvania Dallas Texas +Philadelphia Pennsylvania Jacksonville Florida +Philadelphia Pennsylvania Indianapolis Indiana +Philadelphia Pennsylvania Austin Texas +Philadelphia Pennsylvania Detroit Michigan +Philadelphia Pennsylvania Memphis Tennessee +Philadelphia Pennsylvania Boston Massachusetts +Philadelphia Pennsylvania Seattle Washington +Philadelphia Pennsylvania Denver Colorado +Philadelphia Pennsylvania Baltimore Maryland +Philadelphia Pennsylvania Nashville Tennessee +Philadelphia Pennsylvania Louisville Kentucky +Philadelphia Pennsylvania Milwaukee Wisconsin +Philadelphia Pennsylvania Portland Oregon +Philadelphia Pennsylvania Tucson Arizona +Philadelphia Pennsylvania Fresno California +Philadelphia Pennsylvania Sacramento California +Philadelphia Pennsylvania Mesa Arizona +Philadelphia Pennsylvania Atlanta Georgia +Philadelphia Pennsylvania Omaha Nebraska +Philadelphia Pennsylvania Miami Florida +Philadelphia Pennsylvania Tulsa Oklahoma +Philadelphia Pennsylvania Oakland California +Philadelphia Pennsylvania Cleveland Ohio +Philadelphia Pennsylvania Minneapolis Minnesota +Philadelphia Pennsylvania Wichita Kansas +Philadelphia Pennsylvania Arlington Texas +Philadelphia Pennsylvania Bakersfield California +Philadelphia Pennsylvania Tampa Florida +Philadelphia Pennsylvania Anaheim California +Philadelphia Pennsylvania Honolulu Hawaii +Philadelphia Pennsylvania Lexington Kentucky +Philadelphia Pennsylvania Stockton California +Philadelphia Pennsylvania Cincinnati Ohio +Philadelphia Pennsylvania Anchorage Alaska +Philadelphia Pennsylvania Toledo Ohio +Philadelphia Pennsylvania Plano Texas +Phoenix Arizona Dallas Texas +Phoenix Arizona Jacksonville Florida +Phoenix Arizona Indianapolis Indiana +Phoenix Arizona Austin Texas +Phoenix Arizona Detroit Michigan +Phoenix Arizona Memphis Tennessee +Phoenix Arizona Boston Massachusetts +Phoenix Arizona Seattle Washington +Phoenix Arizona Denver Colorado +Phoenix Arizona Baltimore Maryland +Phoenix Arizona Nashville Tennessee +Phoenix Arizona Louisville Kentucky +Phoenix Arizona Milwaukee Wisconsin +Phoenix Arizona Portland Oregon +Phoenix Arizona Fresno California +Phoenix Arizona Sacramento California +Phoenix Arizona Atlanta Georgia +Phoenix Arizona Omaha Nebraska +Phoenix Arizona Miami Florida +Phoenix Arizona Tulsa Oklahoma +Phoenix Arizona Oakland California +Phoenix Arizona Cleveland Ohio +Phoenix Arizona Minneapolis Minnesota +Phoenix Arizona Wichita Kansas +Phoenix Arizona Arlington Texas +Phoenix Arizona Bakersfield California +Phoenix Arizona Tampa Florida +Phoenix Arizona Anaheim California +Phoenix Arizona Honolulu Hawaii +Phoenix Arizona Pittsburgh Pennsylvania +Phoenix Arizona Lexington Kentucky +Phoenix Arizona Stockton California +Phoenix Arizona Cincinnati Ohio +Phoenix Arizona Anchorage Alaska +Phoenix Arizona Toledo Ohio +Phoenix Arizona Plano Texas +Phoenix Arizona Henderson Nevada +Dallas Texas Jacksonville Florida +Dallas Texas Indianapolis Indiana +Dallas Texas Detroit Michigan +Dallas Texas Memphis Tennessee +Dallas Texas Boston Massachusetts +Dallas Texas Seattle Washington +Dallas Texas Denver Colorado +Dallas Texas Baltimore Maryland +Dallas Texas Nashville Tennessee +Dallas Texas Louisville Kentucky +Dallas Texas Milwaukee Wisconsin +Dallas Texas Portland Oregon +Dallas Texas Tucson Arizona +Dallas Texas Fresno California +Dallas Texas Sacramento California +Dallas Texas Mesa Arizona +Dallas Texas Atlanta Georgia +Dallas Texas Omaha Nebraska +Dallas Texas Miami Florida +Dallas Texas Tulsa Oklahoma +Dallas Texas Oakland California +Dallas Texas Cleveland Ohio +Dallas Texas Minneapolis Minnesota +Dallas Texas Wichita Kansas +Dallas Texas Bakersfield California +Dallas Texas Tampa Florida +Dallas Texas Anaheim California +Dallas Texas Honolulu Hawaii +Dallas Texas Pittsburgh Pennsylvania +Dallas Texas Lexington Kentucky +Dallas Texas Stockton California +Dallas Texas Cincinnati Ohio +Dallas Texas Anchorage Alaska +Dallas Texas Toledo Ohio +Dallas Texas Henderson Nevada +Dallas Texas Orlando Florida +Jacksonville Florida Indianapolis Indiana +Jacksonville Florida Austin Texas +Jacksonville Florida Detroit Michigan +Jacksonville Florida Memphis Tennessee +Jacksonville Florida Boston Massachusetts +Jacksonville Florida Seattle Washington +Jacksonville Florida Denver Colorado +Jacksonville Florida Baltimore Maryland +Jacksonville Florida Nashville Tennessee +Jacksonville Florida Louisville Kentucky +Jacksonville Florida Milwaukee Wisconsin +Jacksonville Florida Portland Oregon +Jacksonville Florida Tucson Arizona +Jacksonville Florida Fresno California +Jacksonville Florida Sacramento California +Jacksonville Florida Mesa Arizona +Jacksonville Florida Atlanta Georgia +Jacksonville Florida Omaha Nebraska +Jacksonville Florida Tulsa Oklahoma +Jacksonville Florida Oakland California +Jacksonville Florida Cleveland Ohio +Jacksonville Florida Minneapolis Minnesota +Jacksonville Florida Wichita Kansas +Jacksonville Florida Arlington Texas +Jacksonville Florida Bakersfield California +Jacksonville Florida Anaheim California +Jacksonville Florida Honolulu Hawaii +Jacksonville Florida Pittsburgh Pennsylvania +Jacksonville Florida Lexington Kentucky +Jacksonville Florida Stockton California +Jacksonville Florida Cincinnati Ohio +Jacksonville Florida Anchorage Alaska +Jacksonville Florida Toledo Ohio +Jacksonville Florida Plano Texas +Jacksonville Florida Henderson Nevada +Jacksonville Florida Laredo Texas +Indianapolis Indiana Austin Texas +Indianapolis Indiana Detroit Michigan +Indianapolis Indiana Memphis Tennessee +Indianapolis Indiana Boston Massachusetts +Indianapolis Indiana Seattle Washington +Indianapolis Indiana Denver Colorado +Indianapolis Indiana Baltimore Maryland +Indianapolis Indiana Nashville Tennessee +Indianapolis Indiana Louisville Kentucky +Indianapolis Indiana Milwaukee Wisconsin +Indianapolis Indiana Portland Oregon +Indianapolis Indiana Tucson Arizona +Indianapolis Indiana Fresno California +Indianapolis Indiana Sacramento California +Indianapolis Indiana Mesa Arizona +Indianapolis Indiana Atlanta Georgia +Indianapolis Indiana Omaha Nebraska +Indianapolis Indiana Miami Florida +Indianapolis Indiana Tulsa Oklahoma +Indianapolis Indiana Oakland California +Indianapolis Indiana Cleveland Ohio +Indianapolis Indiana Minneapolis Minnesota +Indianapolis Indiana Wichita Kansas +Indianapolis Indiana Arlington Texas +Indianapolis Indiana Bakersfield California +Indianapolis Indiana Tampa Florida +Indianapolis Indiana Anaheim California +Indianapolis Indiana Honolulu Hawaii +Indianapolis Indiana Pittsburgh Pennsylvania +Indianapolis Indiana Lexington Kentucky +Indianapolis Indiana Stockton California +Indianapolis Indiana Cincinnati Ohio +Indianapolis Indiana Anchorage Alaska +Indianapolis Indiana Toledo Ohio +Indianapolis Indiana Plano Texas +Indianapolis Indiana Henderson Nevada +Indianapolis Indiana Orlando Florida +Indianapolis Indiana Laredo Texas +Indianapolis Indiana Chandler Arizona +Austin Texas Detroit Michigan +Austin Texas Memphis Tennessee +Austin Texas Boston Massachusetts +Austin Texas Seattle Washington +Austin Texas Denver Colorado +Austin Texas Baltimore Maryland +Austin Texas Nashville Tennessee +Austin Texas Louisville Kentucky +Austin Texas Milwaukee Wisconsin +Austin Texas Portland Oregon +Austin Texas Tucson Arizona +Austin Texas Fresno California +Austin Texas Sacramento California +Austin Texas Mesa Arizona +Austin Texas Atlanta Georgia +Austin Texas Omaha Nebraska +Austin Texas Miami Florida +Austin Texas Tulsa Oklahoma +Austin Texas Oakland California +Austin Texas Cleveland Ohio +Austin Texas Minneapolis Minnesota +Austin Texas Wichita Kansas +Austin Texas Bakersfield California +Austin Texas Tampa Florida +Austin Texas Anaheim California +Austin Texas Honolulu Hawaii +Austin Texas Pittsburgh Pennsylvania +Austin Texas Lexington Kentucky +Austin Texas Stockton California +Austin Texas Cincinnati Ohio +Austin Texas Anchorage Alaska +Austin Texas Toledo Ohio +Austin Texas Henderson Nevada +Austin Texas Orlando Florida +Austin Texas Chandler Arizona +Austin Texas Madison Wisconsin +Detroit Michigan Memphis Tennessee +Detroit Michigan Boston Massachusetts +Detroit Michigan Seattle Washington +Detroit Michigan Denver Colorado +Detroit Michigan Baltimore Maryland +Detroit Michigan Nashville Tennessee +Detroit Michigan Louisville Kentucky +Detroit Michigan Milwaukee Wisconsin +Detroit Michigan Portland Oregon +Detroit Michigan Tucson Arizona +Detroit Michigan Fresno California +Detroit Michigan Sacramento California +Detroit Michigan Mesa Arizona +Detroit Michigan Atlanta Georgia +Detroit Michigan Omaha Nebraska +Detroit Michigan Miami Florida +Detroit Michigan Tulsa Oklahoma +Detroit Michigan Oakland California +Detroit Michigan Cleveland Ohio +Detroit Michigan Minneapolis Minnesota +Detroit Michigan Wichita Kansas +Detroit Michigan Arlington Texas +Detroit Michigan Bakersfield California +Detroit Michigan Tampa Florida +Detroit Michigan Anaheim California +Detroit Michigan Honolulu Hawaii +Detroit Michigan Pittsburgh Pennsylvania +Detroit Michigan Lexington Kentucky +Detroit Michigan Stockton California +Detroit Michigan Cincinnati Ohio +Detroit Michigan Anchorage Alaska +Detroit Michigan Toledo Ohio +Detroit Michigan Plano Texas +Detroit Michigan Henderson Nevada +Detroit Michigan Orlando Florida +Detroit Michigan Laredo Texas +Detroit Michigan Chandler Arizona +Detroit Michigan Madison Wisconsin +Detroit Michigan Lubbock Texas +Memphis Tennessee Boston Massachusetts +Memphis Tennessee Seattle Washington +Memphis Tennessee Denver Colorado +Memphis Tennessee Baltimore Maryland +Memphis Tennessee Louisville Kentucky +Memphis Tennessee Milwaukee Wisconsin +Memphis Tennessee Portland Oregon +Memphis Tennessee Tucson Arizona +Memphis Tennessee Fresno California +Memphis Tennessee Sacramento California +Memphis Tennessee Mesa Arizona +Memphis Tennessee Atlanta Georgia +Memphis Tennessee Omaha Nebraska +Memphis Tennessee Miami Florida +Memphis Tennessee Tulsa Oklahoma +Memphis Tennessee Oakland California +Memphis Tennessee Cleveland Ohio +Memphis Tennessee Minneapolis Minnesota +Memphis Tennessee Wichita Kansas +Memphis Tennessee Arlington Texas +Memphis Tennessee Bakersfield California +Memphis Tennessee Tampa Florida +Memphis Tennessee Anaheim California +Memphis Tennessee Honolulu Hawaii +Memphis Tennessee Pittsburgh Pennsylvania +Memphis Tennessee Lexington Kentucky +Memphis Tennessee Stockton California +Memphis Tennessee Cincinnati Ohio +Memphis Tennessee Anchorage Alaska +Memphis Tennessee Toledo Ohio +Memphis Tennessee Plano Texas +Memphis Tennessee Henderson Nevada +Memphis Tennessee Orlando Florida +Memphis Tennessee Laredo Texas +Memphis Tennessee Chandler Arizona +Memphis Tennessee Madison Wisconsin +Memphis Tennessee Lubbock Texas +Memphis Tennessee Garland Texas +Boston Massachusetts Seattle Washington +Boston Massachusetts Denver Colorado +Boston Massachusetts Baltimore Maryland +Boston Massachusetts Nashville Tennessee +Boston Massachusetts Louisville Kentucky +Boston Massachusetts Milwaukee Wisconsin +Boston Massachusetts Portland Oregon +Boston Massachusetts Tucson Arizona +Boston Massachusetts Fresno California +Boston Massachusetts Sacramento California +Boston Massachusetts Mesa Arizona +Boston Massachusetts Atlanta Georgia +Boston Massachusetts Omaha Nebraska +Boston Massachusetts Miami Florida +Boston Massachusetts Tulsa Oklahoma +Boston Massachusetts Oakland California +Boston Massachusetts Cleveland Ohio +Boston Massachusetts Minneapolis Minnesota +Boston Massachusetts Wichita Kansas +Boston Massachusetts Arlington Texas +Boston Massachusetts Bakersfield California +Boston Massachusetts Tampa Florida +Boston Massachusetts Anaheim California +Boston Massachusetts Honolulu Hawaii +Boston Massachusetts Pittsburgh Pennsylvania +Boston Massachusetts Lexington Kentucky +Boston Massachusetts Stockton California +Boston Massachusetts Cincinnati Ohio +Boston Massachusetts Anchorage Alaska +Boston Massachusetts Toledo Ohio +Boston Massachusetts Plano Texas +Boston Massachusetts Henderson Nevada +Boston Massachusetts Orlando Florida +Boston Massachusetts Laredo Texas +Boston Massachusetts Chandler Arizona +Boston Massachusetts Madison Wisconsin +Boston Massachusetts Lubbock Texas +Boston Massachusetts Garland Texas +Boston Massachusetts Glendale Arizona +Seattle Washington Denver Colorado +Seattle Washington Baltimore Maryland +Seattle Washington Nashville Tennessee +Seattle Washington Louisville Kentucky +Seattle Washington Milwaukee Wisconsin +Seattle Washington Portland Oregon +Seattle Washington Tucson Arizona +Seattle Washington Fresno California +Seattle Washington Sacramento California +Seattle Washington Mesa Arizona +Seattle Washington Atlanta Georgia +Seattle Washington Omaha Nebraska +Seattle Washington Miami Florida +Seattle Washington Tulsa Oklahoma +Seattle Washington Oakland California +Seattle Washington Cleveland Ohio +Seattle Washington Minneapolis Minnesota +Seattle Washington Wichita Kansas +Seattle Washington Arlington Texas +Seattle Washington Bakersfield California +Seattle Washington Tampa Florida +Seattle Washington Anaheim California +Seattle Washington Honolulu Hawaii +Seattle Washington Pittsburgh Pennsylvania +Seattle Washington Lexington Kentucky +Seattle Washington Stockton California +Seattle Washington Cincinnati Ohio +Seattle Washington Anchorage Alaska +Seattle Washington Toledo Ohio +Seattle Washington Plano Texas +Seattle Washington Henderson Nevada +Seattle Washington Orlando Florida +Seattle Washington Laredo Texas +Seattle Washington Chandler Arizona +Seattle Washington Madison Wisconsin +Seattle Washington Lubbock Texas +Seattle Washington Garland Texas +Seattle Washington Glendale Arizona +Seattle Washington Hialeah Florida +Denver Colorado Baltimore Maryland +Denver Colorado Nashville Tennessee +Denver Colorado Louisville Kentucky +Denver Colorado Milwaukee Wisconsin +Denver Colorado Portland Oregon +Denver Colorado Tucson Arizona +Denver Colorado Fresno California +Denver Colorado Sacramento California +Denver Colorado Mesa Arizona +Denver Colorado Atlanta Georgia +Denver Colorado Omaha Nebraska +Denver Colorado Miami Florida +Denver Colorado Tulsa Oklahoma +Denver Colorado Oakland California +Denver Colorado Cleveland Ohio +Denver Colorado Minneapolis Minnesota +Denver Colorado Wichita Kansas +Denver Colorado Arlington Texas +Denver Colorado Bakersfield California +Denver Colorado Tampa Florida +Denver Colorado Anaheim California +Denver Colorado Honolulu Hawaii +Denver Colorado Pittsburgh Pennsylvania +Denver Colorado Lexington Kentucky +Denver Colorado Stockton California +Denver Colorado Cincinnati Ohio +Denver Colorado Anchorage Alaska +Denver Colorado Toledo Ohio +Denver Colorado Plano Texas +Denver Colorado Henderson Nevada +Denver Colorado Orlando Florida +Denver Colorado Laredo Texas +Denver Colorado Chandler Arizona +Denver Colorado Madison Wisconsin +Denver Colorado Lubbock Texas +Denver Colorado Garland Texas +Denver Colorado Glendale Arizona +Denver Colorado Hialeah Florida +Denver Colorado Reno Nevada +Baltimore Maryland Nashville Tennessee +Baltimore Maryland Louisville Kentucky +Baltimore Maryland Milwaukee Wisconsin +Baltimore Maryland Portland Oregon +Baltimore Maryland Tucson Arizona +Baltimore Maryland Fresno California +Baltimore Maryland Sacramento California +Baltimore Maryland Mesa Arizona +Baltimore Maryland Atlanta Georgia +Baltimore Maryland Omaha Nebraska +Baltimore Maryland Miami Florida +Baltimore Maryland Tulsa Oklahoma +Baltimore Maryland Oakland California +Baltimore Maryland Cleveland Ohio +Baltimore Maryland Minneapolis Minnesota +Baltimore Maryland Wichita Kansas +Baltimore Maryland Arlington Texas +Baltimore Maryland Bakersfield California +Baltimore Maryland Tampa Florida +Baltimore Maryland Anaheim California +Baltimore Maryland Honolulu Hawaii +Baltimore Maryland Pittsburgh Pennsylvania +Baltimore Maryland Lexington Kentucky +Baltimore Maryland Stockton California +Baltimore Maryland Cincinnati Ohio +Baltimore Maryland Anchorage Alaska +Baltimore Maryland Toledo Ohio +Baltimore Maryland Plano Texas +Baltimore Maryland Henderson Nevada +Baltimore Maryland Orlando Florida +Baltimore Maryland Laredo Texas +Baltimore Maryland Chandler Arizona +Baltimore Maryland Madison Wisconsin +Baltimore Maryland Lubbock Texas +Baltimore Maryland Garland Texas +Baltimore Maryland Glendale Arizona +Baltimore Maryland Hialeah Florida +Baltimore Maryland Reno Nevada +Baltimore Maryland Scottsdale Arizona +Nashville Tennessee Louisville Kentucky +Nashville Tennessee Milwaukee Wisconsin +Nashville Tennessee Portland Oregon +Nashville Tennessee Tucson Arizona +Nashville Tennessee Fresno California +Nashville Tennessee Sacramento California +Nashville Tennessee Mesa Arizona +Nashville Tennessee Atlanta Georgia +Nashville Tennessee Omaha Nebraska +Nashville Tennessee Miami Florida +Nashville Tennessee Tulsa Oklahoma +Nashville Tennessee Oakland California +Nashville Tennessee Cleveland Ohio +Nashville Tennessee Minneapolis Minnesota +Nashville Tennessee Wichita Kansas +Nashville Tennessee Arlington Texas +Nashville Tennessee Bakersfield California +Nashville Tennessee Tampa Florida +Nashville Tennessee Anaheim California +Nashville Tennessee Honolulu Hawaii +Nashville Tennessee Pittsburgh Pennsylvania +Nashville Tennessee Lexington Kentucky +Nashville Tennessee Stockton California +Nashville Tennessee Cincinnati Ohio +Nashville Tennessee Anchorage Alaska +Nashville Tennessee Toledo Ohio +Nashville Tennessee Plano Texas +Nashville Tennessee Henderson Nevada +Nashville Tennessee Orlando Florida +Nashville Tennessee Laredo Texas +Nashville Tennessee Chandler Arizona +Nashville Tennessee Madison Wisconsin +Nashville Tennessee Lubbock Texas +Nashville Tennessee Garland Texas +Nashville Tennessee Glendale Arizona +Nashville Tennessee Hialeah Florida +Nashville Tennessee Reno Nevada +Nashville Tennessee Scottsdale Arizona +Nashville Tennessee Irving Texas +Louisville Kentucky Milwaukee Wisconsin +Louisville Kentucky Portland Oregon +Louisville Kentucky Tucson Arizona +Louisville Kentucky Fresno California +Louisville Kentucky Sacramento California +Louisville Kentucky Mesa Arizona +Louisville Kentucky Atlanta Georgia +Louisville Kentucky Omaha Nebraska +Louisville Kentucky Miami Florida +Louisville Kentucky Tulsa Oklahoma +Louisville Kentucky Oakland California +Louisville Kentucky Cleveland Ohio +Louisville Kentucky Minneapolis Minnesota +Louisville Kentucky Wichita Kansas +Louisville Kentucky Arlington Texas +Louisville Kentucky Bakersfield California +Louisville Kentucky Tampa Florida +Louisville Kentucky Anaheim California +Louisville Kentucky Honolulu Hawaii +Louisville Kentucky Pittsburgh Pennsylvania +Louisville Kentucky Stockton California +Louisville Kentucky Cincinnati Ohio +Louisville Kentucky Anchorage Alaska +Louisville Kentucky Toledo Ohio +Louisville Kentucky Plano Texas +Louisville Kentucky Henderson Nevada +Louisville Kentucky Orlando Florida +Louisville Kentucky Laredo Texas +Louisville Kentucky Chandler Arizona +Louisville Kentucky Madison Wisconsin +Louisville Kentucky Lubbock Texas +Louisville Kentucky Garland Texas +Louisville Kentucky Glendale Arizona +Louisville Kentucky Hialeah Florida +Louisville Kentucky Reno Nevada +Louisville Kentucky Scottsdale Arizona +Louisville Kentucky Irving Texas +Louisville Kentucky Fremont California +Milwaukee Wisconsin Portland Oregon +Milwaukee Wisconsin Tucson Arizona +Milwaukee Wisconsin Fresno California +Milwaukee Wisconsin Sacramento California +Milwaukee Wisconsin Mesa Arizona +Milwaukee Wisconsin Atlanta Georgia +Milwaukee Wisconsin Omaha Nebraska +Milwaukee Wisconsin Miami Florida +Milwaukee Wisconsin Tulsa Oklahoma +Milwaukee Wisconsin Oakland California +Milwaukee Wisconsin Cleveland Ohio +Milwaukee Wisconsin Minneapolis Minnesota +Milwaukee Wisconsin Wichita Kansas +Milwaukee Wisconsin Arlington Texas +Milwaukee Wisconsin Bakersfield California +Milwaukee Wisconsin Tampa Florida +Milwaukee Wisconsin Anaheim California +Milwaukee Wisconsin Honolulu Hawaii +Milwaukee Wisconsin Pittsburgh Pennsylvania +Milwaukee Wisconsin Lexington Kentucky +Milwaukee Wisconsin Stockton California +Milwaukee Wisconsin Cincinnati Ohio +Milwaukee Wisconsin Anchorage Alaska +Milwaukee Wisconsin Toledo Ohio +Milwaukee Wisconsin Plano Texas +Milwaukee Wisconsin Henderson Nevada +Milwaukee Wisconsin Orlando Florida +Milwaukee Wisconsin Laredo Texas +Milwaukee Wisconsin Chandler Arizona +Milwaukee Wisconsin Lubbock Texas +Milwaukee Wisconsin Garland Texas +Milwaukee Wisconsin Glendale Arizona +Milwaukee Wisconsin Hialeah Florida +Milwaukee Wisconsin Reno Nevada +Milwaukee Wisconsin Scottsdale Arizona +Milwaukee Wisconsin Irving Texas +Milwaukee Wisconsin Fremont California +Milwaukee Wisconsin Irvine California +Portland Oregon Tucson Arizona +Portland Oregon Fresno California +Portland Oregon Sacramento California +Portland Oregon Mesa Arizona +Portland Oregon Atlanta Georgia +Portland Oregon Omaha Nebraska +Portland Oregon Miami Florida +Portland Oregon Tulsa Oklahoma +Portland Oregon Oakland California +Portland Oregon Cleveland Ohio +Portland Oregon Minneapolis Minnesota +Portland Oregon Wichita Kansas +Portland Oregon Arlington Texas +Portland Oregon Bakersfield California +Portland Oregon Tampa Florida +Portland Oregon Anaheim California +Portland Oregon Honolulu Hawaii +Portland Oregon Pittsburgh Pennsylvania +Portland Oregon Lexington Kentucky +Portland Oregon Stockton California +Portland Oregon Cincinnati Ohio +Portland Oregon Anchorage Alaska +Portland Oregon Toledo Ohio +Portland Oregon Plano Texas +Portland Oregon Henderson Nevada +Portland Oregon Orlando Florida +Portland Oregon Laredo Texas +Portland Oregon Chandler Arizona +Portland Oregon Madison Wisconsin +Portland Oregon Lubbock Texas +Portland Oregon Garland Texas +Portland Oregon Glendale Arizona +Portland Oregon Hialeah Florida +Portland Oregon Reno Nevada +Portland Oregon Scottsdale Arizona +Portland Oregon Irving Texas +Portland Oregon Fremont California +Portland Oregon Irvine California +Portland Oregon Spokane Washington +Tucson Arizona Fresno California +Tucson Arizona Sacramento California +Tucson Arizona Atlanta Georgia +Tucson Arizona Omaha Nebraska +Tucson Arizona Miami Florida +Tucson Arizona Tulsa Oklahoma +Tucson Arizona Oakland California +Tucson Arizona Cleveland Ohio +Tucson Arizona Minneapolis Minnesota +Tucson Arizona Wichita Kansas +Tucson Arizona Arlington Texas +Tucson Arizona Bakersfield California +Tucson Arizona Tampa Florida +Tucson Arizona Anaheim California +Tucson Arizona Honolulu Hawaii +Tucson Arizona Pittsburgh Pennsylvania +Tucson Arizona Lexington Kentucky +Tucson Arizona Stockton California +Tucson Arizona Cincinnati Ohio +Tucson Arizona Anchorage Alaska +Tucson Arizona Toledo Ohio +Tucson Arizona Plano Texas +Tucson Arizona Henderson Nevada +Tucson Arizona Orlando Florida +Tucson Arizona Laredo Texas +Tucson Arizona Madison Wisconsin +Tucson Arizona Lubbock Texas +Tucson Arizona Garland Texas +Tucson Arizona Hialeah Florida +Tucson Arizona Reno Nevada +Tucson Arizona Irving Texas +Tucson Arizona Fremont California +Tucson Arizona Irvine California +Tucson Arizona Spokane Washington +Tucson Arizona Modesto California +Fresno California Mesa Arizona +Fresno California Atlanta Georgia +Fresno California Omaha Nebraska +Fresno California Miami Florida +Fresno California Tulsa Oklahoma +Fresno California Cleveland Ohio +Fresno California Minneapolis Minnesota +Fresno California Wichita Kansas +Fresno California Arlington Texas +Fresno California Tampa Florida +Fresno California Honolulu Hawaii +Fresno California Pittsburgh Pennsylvania +Fresno California Lexington Kentucky +Fresno California Cincinnati Ohio +Fresno California Anchorage Alaska +Fresno California Toledo Ohio +Fresno California Plano Texas +Fresno California Henderson Nevada +Fresno California Orlando Florida +Fresno California Laredo Texas +Fresno California Chandler Arizona +Fresno California Madison Wisconsin +Fresno California Lubbock Texas +Fresno California Garland Texas +Fresno California Glendale Arizona +Fresno California Hialeah Florida +Fresno California Reno Nevada +Fresno California Scottsdale Arizona +Fresno California Irving Texas +Fresno California Spokane Washington +Fresno California Shreveport Louisiana +Sacramento California Mesa Arizona +Sacramento California Atlanta Georgia +Sacramento California Omaha Nebraska +Sacramento California Miami Florida +Sacramento California Tulsa Oklahoma +Sacramento California Cleveland Ohio +Sacramento California Minneapolis Minnesota +Sacramento California Wichita Kansas +Sacramento California Arlington Texas +Sacramento California Tampa Florida +Sacramento California Honolulu Hawaii +Sacramento California Pittsburgh Pennsylvania +Sacramento California Lexington Kentucky +Sacramento California Cincinnati Ohio +Sacramento California Anchorage Alaska +Sacramento California Toledo Ohio +Sacramento California Plano Texas +Sacramento California Henderson Nevada +Sacramento California Orlando Florida +Sacramento California Laredo Texas +Sacramento California Chandler Arizona +Sacramento California Madison Wisconsin +Sacramento California Lubbock Texas +Sacramento California Garland Texas +Sacramento California Glendale Arizona +Sacramento California Hialeah Florida +Sacramento California Reno Nevada +Sacramento California Scottsdale Arizona +Sacramento California Irving Texas +Sacramento California Spokane Washington +Sacramento California Shreveport Louisiana +Sacramento California Tacoma Washington +Mesa Arizona Atlanta Georgia +Mesa Arizona Omaha Nebraska +Mesa Arizona Miami Florida +Mesa Arizona Tulsa Oklahoma +Mesa Arizona Oakland California +Mesa Arizona Cleveland Ohio +Mesa Arizona Minneapolis Minnesota +Mesa Arizona Wichita Kansas +Mesa Arizona Arlington Texas +Mesa Arizona Bakersfield California +Mesa Arizona Tampa Florida +Mesa Arizona Anaheim California +Mesa Arizona Honolulu Hawaii +Mesa Arizona Pittsburgh Pennsylvania +Mesa Arizona Lexington Kentucky +Mesa Arizona Stockton California +Mesa Arizona Cincinnati Ohio +Mesa Arizona Anchorage Alaska +Mesa Arizona Toledo Ohio +Mesa Arizona Plano Texas +Mesa Arizona Henderson Nevada +Mesa Arizona Orlando Florida +Mesa Arizona Laredo Texas +Mesa Arizona Madison Wisconsin +Mesa Arizona Lubbock Texas +Mesa Arizona Garland Texas +Mesa Arizona Hialeah Florida +Mesa Arizona Reno Nevada +Mesa Arizona Irving Texas +Mesa Arizona Fremont California +Mesa Arizona Irvine California +Mesa Arizona Spokane Washington +Mesa Arizona Modesto California +Mesa Arizona Shreveport Louisiana +Mesa Arizona Tacoma Washington +Mesa Arizona Oxnard California +Atlanta Georgia Omaha Nebraska +Atlanta Georgia Miami Florida +Atlanta Georgia Tulsa Oklahoma +Atlanta Georgia Oakland California +Atlanta Georgia Cleveland Ohio +Atlanta Georgia Minneapolis Minnesota +Atlanta Georgia Wichita Kansas +Atlanta Georgia Arlington Texas +Atlanta Georgia Bakersfield California +Atlanta Georgia Tampa Florida +Atlanta Georgia Anaheim California +Atlanta Georgia Honolulu Hawaii +Atlanta Georgia Pittsburgh Pennsylvania +Atlanta Georgia Lexington Kentucky +Atlanta Georgia Stockton California +Atlanta Georgia Cincinnati Ohio +Atlanta Georgia Anchorage Alaska +Atlanta Georgia Toledo Ohio +Atlanta Georgia Plano Texas +Atlanta Georgia Henderson Nevada +Atlanta Georgia Orlando Florida +Atlanta Georgia Laredo Texas +Atlanta Georgia Chandler Arizona +Atlanta Georgia Madison Wisconsin +Atlanta Georgia Lubbock Texas +Atlanta Georgia Garland Texas +Atlanta Georgia Glendale Arizona +Atlanta Georgia Hialeah Florida +Atlanta Georgia Reno Nevada +Atlanta Georgia Scottsdale Arizona +Atlanta Georgia Irving Texas +Atlanta Georgia Fremont California +Atlanta Georgia Irvine California +Atlanta Georgia Spokane Washington +Atlanta Georgia Modesto California +Atlanta Georgia Shreveport Louisiana +Atlanta Georgia Tacoma Washington +Atlanta Georgia Oxnard California +Atlanta Georgia Fontana California +Omaha Nebraska Miami Florida +Omaha Nebraska Tulsa Oklahoma +Omaha Nebraska Oakland California +Omaha Nebraska Cleveland Ohio +Omaha Nebraska Minneapolis Minnesota +Omaha Nebraska Wichita Kansas +Omaha Nebraska Arlington Texas +Omaha Nebraska Bakersfield California +Omaha Nebraska Tampa Florida +Omaha Nebraska Anaheim California +Omaha Nebraska Honolulu Hawaii +Omaha Nebraska Pittsburgh Pennsylvania +Omaha Nebraska Lexington Kentucky +Omaha Nebraska Stockton California +Omaha Nebraska Cincinnati Ohio +Omaha Nebraska Anchorage Alaska +Omaha Nebraska Toledo Ohio +Omaha Nebraska Plano Texas +Omaha Nebraska Henderson Nevada +Omaha Nebraska Orlando Florida +Omaha Nebraska Laredo Texas +Omaha Nebraska Chandler Arizona +Omaha Nebraska Madison Wisconsin +Omaha Nebraska Lubbock Texas +Omaha Nebraska Garland Texas +Omaha Nebraska Glendale Arizona +Omaha Nebraska Hialeah Florida +Omaha Nebraska Reno Nevada +Omaha Nebraska Scottsdale Arizona +Omaha Nebraska Irving Texas +Omaha Nebraska Fremont California +Omaha Nebraska Irvine California +Omaha Nebraska Spokane Washington +Omaha Nebraska Modesto California +Omaha Nebraska Shreveport Louisiana +Omaha Nebraska Tacoma Washington +Omaha Nebraska Oxnard California +Omaha Nebraska Fontana California +Omaha Nebraska Akron Ohio +Miami Florida Tulsa Oklahoma +Miami Florida Oakland California +Miami Florida Cleveland Ohio +Miami Florida Minneapolis Minnesota +Miami Florida Wichita Kansas +Miami Florida Arlington Texas +Miami Florida Bakersfield California +Miami Florida Anaheim California +Miami Florida Honolulu Hawaii +Miami Florida Pittsburgh Pennsylvania +Miami Florida Lexington Kentucky +Miami Florida Stockton California +Miami Florida Cincinnati Ohio +Miami Florida Anchorage Alaska +Miami Florida Toledo Ohio +Miami Florida Plano Texas +Miami Florida Henderson Nevada +Miami Florida Laredo Texas +Miami Florida Chandler Arizona +Miami Florida Madison Wisconsin +Miami Florida Lubbock Texas +Miami Florida Garland Texas +Miami Florida Glendale Arizona +Miami Florida Reno Nevada +Miami Florida Scottsdale Arizona +Miami Florida Irving Texas +Miami Florida Fremont California +Miami Florida Irvine California +Miami Florida Spokane Washington +Miami Florida Modesto California +Miami Florida Shreveport Louisiana +Miami Florida Tacoma Washington +Miami Florida Oxnard California +Miami Florida Fontana California +Miami Florida Akron Ohio +Miami Florida Amarillo Texas +Tulsa Oklahoma Oakland California +Tulsa Oklahoma Cleveland Ohio +Tulsa Oklahoma Minneapolis Minnesota +Tulsa Oklahoma Wichita Kansas +Tulsa Oklahoma Arlington Texas +Tulsa Oklahoma Bakersfield California +Tulsa Oklahoma Tampa Florida +Tulsa Oklahoma Anaheim California +Tulsa Oklahoma Honolulu Hawaii +Tulsa Oklahoma Pittsburgh Pennsylvania +Tulsa Oklahoma Lexington Kentucky +Tulsa Oklahoma Stockton California +Tulsa Oklahoma Cincinnati Ohio +Tulsa Oklahoma Anchorage Alaska +Tulsa Oklahoma Toledo Ohio +Tulsa Oklahoma Plano Texas +Tulsa Oklahoma Henderson Nevada +Tulsa Oklahoma Orlando Florida +Tulsa Oklahoma Laredo Texas +Tulsa Oklahoma Chandler Arizona +Tulsa Oklahoma Madison Wisconsin +Tulsa Oklahoma Lubbock Texas +Tulsa Oklahoma Garland Texas +Tulsa Oklahoma Glendale Arizona +Tulsa Oklahoma Hialeah Florida +Tulsa Oklahoma Reno Nevada +Tulsa Oklahoma Scottsdale Arizona +Tulsa Oklahoma Irving Texas +Tulsa Oklahoma Fremont California +Tulsa Oklahoma Irvine California +Tulsa Oklahoma Spokane Washington +Tulsa Oklahoma Modesto California +Tulsa Oklahoma Shreveport Louisiana +Tulsa Oklahoma Tacoma Washington +Tulsa Oklahoma Oxnard California +Tulsa Oklahoma Fontana California +Tulsa Oklahoma Akron Ohio +Tulsa Oklahoma Amarillo Texas +Tulsa Oklahoma Glendale California +Oakland California Cleveland Ohio +Oakland California Minneapolis Minnesota +Oakland California Wichita Kansas +Oakland California Arlington Texas +Oakland California Tampa Florida +Oakland California Honolulu Hawaii +Oakland California Pittsburgh Pennsylvania +Oakland California Lexington Kentucky +Oakland California Cincinnati Ohio +Oakland California Anchorage Alaska +Oakland California Toledo Ohio +Oakland California Plano Texas +Oakland California Henderson Nevada +Oakland California Orlando Florida +Oakland California Laredo Texas +Oakland California Chandler Arizona +Oakland California Madison Wisconsin +Oakland California Lubbock Texas +Oakland California Garland Texas +Oakland California Glendale Arizona +Oakland California Hialeah Florida +Oakland California Reno Nevada +Oakland California Scottsdale Arizona +Oakland California Irving Texas +Oakland California Spokane Washington +Oakland California Shreveport Louisiana +Oakland California Tacoma Washington +Oakland California Akron Ohio +Oakland California Amarillo Texas +Oakland California Tallahassee Florida +Cleveland Ohio Minneapolis Minnesota +Cleveland Ohio Wichita Kansas +Cleveland Ohio Arlington Texas +Cleveland Ohio Bakersfield California +Cleveland Ohio Tampa Florida +Cleveland Ohio Anaheim California +Cleveland Ohio Honolulu Hawaii +Cleveland Ohio Pittsburgh Pennsylvania +Cleveland Ohio Lexington Kentucky +Cleveland Ohio Stockton California +Cleveland Ohio Anchorage Alaska +Cleveland Ohio Plano Texas +Cleveland Ohio Henderson Nevada +Cleveland Ohio Orlando Florida +Cleveland Ohio Laredo Texas +Cleveland Ohio Chandler Arizona +Cleveland Ohio Madison Wisconsin +Cleveland Ohio Lubbock Texas +Cleveland Ohio Garland Texas +Cleveland Ohio Glendale Arizona +Cleveland Ohio Hialeah Florida +Cleveland Ohio Reno Nevada +Cleveland Ohio Scottsdale Arizona +Cleveland Ohio Irving Texas +Cleveland Ohio Fremont California +Cleveland Ohio Irvine California +Cleveland Ohio Spokane Washington +Cleveland Ohio Modesto California +Cleveland Ohio Shreveport Louisiana +Cleveland Ohio Tacoma Washington +Cleveland Ohio Oxnard California +Cleveland Ohio Fontana California +Cleveland Ohio Amarillo Texas +Cleveland Ohio Glendale California +Cleveland Ohio Tallahassee Florida +Cleveland Ohio Huntsville Alabama +Minneapolis Minnesota Wichita Kansas +Minneapolis Minnesota Arlington Texas +Minneapolis Minnesota Bakersfield California +Minneapolis Minnesota Tampa Florida +Minneapolis Minnesota Anaheim California +Minneapolis Minnesota Honolulu Hawaii +Minneapolis Minnesota Pittsburgh Pennsylvania +Minneapolis Minnesota Lexington Kentucky +Minneapolis Minnesota Stockton California +Minneapolis Minnesota Cincinnati Ohio +Minneapolis Minnesota Anchorage Alaska +Minneapolis Minnesota Toledo Ohio +Minneapolis Minnesota Plano Texas +Minneapolis Minnesota Henderson Nevada +Minneapolis Minnesota Orlando Florida +Minneapolis Minnesota Laredo Texas +Minneapolis Minnesota Chandler Arizona +Minneapolis Minnesota Madison Wisconsin +Minneapolis Minnesota Lubbock Texas +Minneapolis Minnesota Garland Texas +Minneapolis Minnesota Glendale Arizona +Minneapolis Minnesota Hialeah Florida +Minneapolis Minnesota Reno Nevada +Minneapolis Minnesota Scottsdale Arizona +Minneapolis Minnesota Irving Texas +Minneapolis Minnesota Fremont California +Minneapolis Minnesota Irvine California +Minneapolis Minnesota Spokane Washington +Minneapolis Minnesota Modesto California +Minneapolis Minnesota Shreveport Louisiana +Minneapolis Minnesota Tacoma Washington +Minneapolis Minnesota Oxnard California +Minneapolis Minnesota Fontana California +Minneapolis Minnesota Akron Ohio +Minneapolis Minnesota Amarillo Texas +Minneapolis Minnesota Glendale California +Minneapolis Minnesota Tallahassee Florida +Minneapolis Minnesota Huntsville Alabama +Minneapolis Minnesota Worcester Massachusetts +Wichita Kansas Arlington Texas +Wichita Kansas Bakersfield California +Wichita Kansas Tampa Florida +Wichita Kansas Anaheim California +Wichita Kansas Honolulu Hawaii +Wichita Kansas Pittsburgh Pennsylvania +Wichita Kansas Lexington Kentucky +Wichita Kansas Stockton California +Wichita Kansas Cincinnati Ohio +Wichita Kansas Anchorage Alaska +Wichita Kansas Toledo Ohio +Wichita Kansas Plano Texas +Wichita Kansas Henderson Nevada +Wichita Kansas Orlando Florida +Wichita Kansas Laredo Texas +Wichita Kansas Chandler Arizona +Wichita Kansas Madison Wisconsin +Wichita Kansas Lubbock Texas +Wichita Kansas Garland Texas +Wichita Kansas Glendale Arizona +Wichita Kansas Hialeah Florida +Wichita Kansas Reno Nevada +Wichita Kansas Scottsdale Arizona +Wichita Kansas Irving Texas +Wichita Kansas Fremont California +Wichita Kansas Irvine California +Wichita Kansas Spokane Washington +Wichita Kansas Modesto California +Wichita Kansas Shreveport Louisiana +Wichita Kansas Tacoma Washington +Wichita Kansas Oxnard California +Wichita Kansas Fontana California +Wichita Kansas Akron Ohio +Wichita Kansas Amarillo Texas +Wichita Kansas Glendale California +Wichita Kansas Tallahassee Florida +Wichita Kansas Huntsville Alabama +Wichita Kansas Worcester Massachusetts +Wichita Kansas Chicago Illinois +Arlington Texas Bakersfield California +Arlington Texas Tampa Florida +Arlington Texas Anaheim California +Arlington Texas Honolulu Hawaii +Arlington Texas Pittsburgh Pennsylvania +Arlington Texas Lexington Kentucky +Arlington Texas Stockton California +Arlington Texas Cincinnati Ohio +Arlington Texas Anchorage Alaska +Arlington Texas Toledo Ohio +Arlington Texas Henderson Nevada +Arlington Texas Orlando Florida +Arlington Texas Chandler Arizona +Arlington Texas Madison Wisconsin +Arlington Texas Glendale Arizona +Arlington Texas Hialeah Florida +Arlington Texas Reno Nevada +Arlington Texas Scottsdale Arizona +Arlington Texas Fremont California +Arlington Texas Irvine California +Arlington Texas Spokane Washington +Arlington Texas Modesto California +Arlington Texas Shreveport Louisiana +Arlington Texas Tacoma Washington +Arlington Texas Oxnard California +Arlington Texas Fontana California +Arlington Texas Akron Ohio +Arlington Texas Glendale California +Arlington Texas Tallahassee Florida +Arlington Texas Huntsville Alabama +Arlington Texas Worcester Massachusetts +Arlington Texas Chicago Illinois +Bakersfield California Tampa Florida +Bakersfield California Honolulu Hawaii +Bakersfield California Pittsburgh Pennsylvania +Bakersfield California Lexington Kentucky +Bakersfield California Cincinnati Ohio +Bakersfield California Anchorage Alaska +Bakersfield California Toledo Ohio +Bakersfield California Plano Texas +Bakersfield California Henderson Nevada +Bakersfield California Orlando Florida +Bakersfield California Laredo Texas +Bakersfield California Chandler Arizona +Bakersfield California Madison Wisconsin +Bakersfield California Lubbock Texas +Bakersfield California Garland Texas +Bakersfield California Glendale Arizona +Bakersfield California Hialeah Florida +Bakersfield California Reno Nevada +Bakersfield California Scottsdale Arizona +Bakersfield California Irving Texas +Bakersfield California Spokane Washington +Bakersfield California Shreveport Louisiana +Bakersfield California Tacoma Washington +Bakersfield California Akron Ohio +Bakersfield California Amarillo Texas +Bakersfield California Tallahassee Florida +Bakersfield California Huntsville Alabama +Bakersfield California Worcester Massachusetts +Bakersfield California Chicago Illinois +Bakersfield California Houston Texas +Bakersfield California Philadelphia Pennsylvania +Tampa Florida Anaheim California +Tampa Florida Honolulu Hawaii +Tampa Florida Pittsburgh Pennsylvania +Tampa Florida Lexington Kentucky +Tampa Florida Stockton California +Tampa Florida Cincinnati Ohio +Tampa Florida Anchorage Alaska +Tampa Florida Toledo Ohio +Tampa Florida Plano Texas +Tampa Florida Henderson Nevada +Tampa Florida Laredo Texas +Tampa Florida Chandler Arizona +Tampa Florida Madison Wisconsin +Tampa Florida Lubbock Texas +Tampa Florida Garland Texas +Tampa Florida Glendale Arizona +Tampa Florida Reno Nevada +Tampa Florida Scottsdale Arizona +Tampa Florida Irving Texas +Tampa Florida Fremont California +Tampa Florida Irvine California +Tampa Florida Spokane Washington +Tampa Florida Modesto California +Tampa Florida Shreveport Louisiana +Tampa Florida Tacoma Washington +Tampa Florida Oxnard California +Tampa Florida Fontana California +Tampa Florida Akron Ohio +Tampa Florida Amarillo Texas +Tampa Florida Glendale California +Tampa Florida Huntsville Alabama +Tampa Florida Worcester Massachusetts +Tampa Florida Chicago Illinois +Tampa Florida Houston Texas +Tampa Florida Philadelphia Pennsylvania +Tampa Florida Phoenix Arizona +Anaheim California Honolulu Hawaii +Anaheim California Pittsburgh Pennsylvania +Anaheim California Lexington Kentucky +Anaheim California Cincinnati Ohio +Anaheim California Anchorage Alaska +Anaheim California Toledo Ohio +Anaheim California Plano Texas +Anaheim California Henderson Nevada +Anaheim California Orlando Florida +Anaheim California Laredo Texas +Anaheim California Chandler Arizona +Anaheim California Madison Wisconsin +Anaheim California Lubbock Texas +Anaheim California Garland Texas +Anaheim California Glendale Arizona +Anaheim California Hialeah Florida +Anaheim California Reno Nevada +Anaheim California Scottsdale Arizona +Anaheim California Irving Texas +Anaheim California Spokane Washington +Anaheim California Shreveport Louisiana +Anaheim California Tacoma Washington +Anaheim California Akron Ohio +Anaheim California Amarillo Texas +Anaheim California Tallahassee Florida +Anaheim California Huntsville Alabama +Anaheim California Worcester Massachusetts +Anaheim California Chicago Illinois +Anaheim California Houston Texas +Anaheim California Philadelphia Pennsylvania +Anaheim California Phoenix Arizona +Anaheim California Dallas Texas +Honolulu Hawaii Pittsburgh Pennsylvania +Honolulu Hawaii Lexington Kentucky +Honolulu Hawaii Stockton California +Honolulu Hawaii Cincinnati Ohio +Honolulu Hawaii Anchorage Alaska +Honolulu Hawaii Toledo Ohio +Honolulu Hawaii Plano Texas +Honolulu Hawaii Henderson Nevada +Honolulu Hawaii Orlando Florida +Honolulu Hawaii Laredo Texas +Honolulu Hawaii Chandler Arizona +Honolulu Hawaii Madison Wisconsin +Honolulu Hawaii Lubbock Texas +Honolulu Hawaii Garland Texas +Honolulu Hawaii Glendale Arizona +Honolulu Hawaii Hialeah Florida +Honolulu Hawaii Reno Nevada +Honolulu Hawaii Scottsdale Arizona +Honolulu Hawaii Irving Texas +Honolulu Hawaii Fremont California +Honolulu Hawaii Irvine California +Honolulu Hawaii Spokane Washington +Honolulu Hawaii Modesto California +Honolulu Hawaii Shreveport Louisiana +Honolulu Hawaii Tacoma Washington +Honolulu Hawaii Oxnard California +Honolulu Hawaii Fontana California +Honolulu Hawaii Akron Ohio +Honolulu Hawaii Amarillo Texas +Honolulu Hawaii Glendale California +Honolulu Hawaii Tallahassee Florida +Honolulu Hawaii Huntsville Alabama +Honolulu Hawaii Worcester Massachusetts +Honolulu Hawaii Chicago Illinois +Honolulu Hawaii Houston Texas +Honolulu Hawaii Philadelphia Pennsylvania +Honolulu Hawaii Phoenix Arizona +Honolulu Hawaii Dallas Texas +Honolulu Hawaii Jacksonville Florida +Pittsburgh Pennsylvania Lexington Kentucky +Pittsburgh Pennsylvania Stockton California +Pittsburgh Pennsylvania Cincinnati Ohio +Pittsburgh Pennsylvania Anchorage Alaska +Pittsburgh Pennsylvania Toledo Ohio +Pittsburgh Pennsylvania Plano Texas +Pittsburgh Pennsylvania Henderson Nevada +Pittsburgh Pennsylvania Orlando Florida +Pittsburgh Pennsylvania Laredo Texas +Pittsburgh Pennsylvania Chandler Arizona +Pittsburgh Pennsylvania Madison Wisconsin +Pittsburgh Pennsylvania Lubbock Texas +Pittsburgh Pennsylvania Garland Texas +Pittsburgh Pennsylvania Glendale Arizona +Pittsburgh Pennsylvania Hialeah Florida +Pittsburgh Pennsylvania Reno Nevada +Pittsburgh Pennsylvania Scottsdale Arizona +Pittsburgh Pennsylvania Irving Texas +Pittsburgh Pennsylvania Fremont California +Pittsburgh Pennsylvania Irvine California +Pittsburgh Pennsylvania Spokane Washington +Pittsburgh Pennsylvania Modesto California +Pittsburgh Pennsylvania Shreveport Louisiana +Pittsburgh Pennsylvania Tacoma Washington +Pittsburgh Pennsylvania Oxnard California +Pittsburgh Pennsylvania Fontana California +Pittsburgh Pennsylvania Akron Ohio +Pittsburgh Pennsylvania Amarillo Texas +Pittsburgh Pennsylvania Glendale California +Pittsburgh Pennsylvania Tallahassee Florida +Pittsburgh Pennsylvania Huntsville Alabama +Pittsburgh Pennsylvania Worcester Massachusetts +Pittsburgh Pennsylvania Chicago Illinois +Pittsburgh Pennsylvania Houston Texas +Pittsburgh Pennsylvania Phoenix Arizona +Pittsburgh Pennsylvania Dallas Texas +Pittsburgh Pennsylvania Jacksonville Florida +Pittsburgh Pennsylvania Indianapolis Indiana +Lexington Kentucky Stockton California +Lexington Kentucky Cincinnati Ohio +Lexington Kentucky Anchorage Alaska +Lexington Kentucky Toledo Ohio +Lexington Kentucky Plano Texas +Lexington Kentucky Henderson Nevada +Lexington Kentucky Orlando Florida +Lexington Kentucky Laredo Texas +Lexington Kentucky Chandler Arizona +Lexington Kentucky Madison Wisconsin +Lexington Kentucky Lubbock Texas +Lexington Kentucky Garland Texas +Lexington Kentucky Glendale Arizona +Lexington Kentucky Hialeah Florida +Lexington Kentucky Reno Nevada +Lexington Kentucky Scottsdale Arizona +Lexington Kentucky Irving Texas +Lexington Kentucky Fremont California +Lexington Kentucky Irvine California +Lexington Kentucky Spokane Washington +Lexington Kentucky Modesto California +Lexington Kentucky Shreveport Louisiana +Lexington Kentucky Tacoma Washington +Lexington Kentucky Oxnard California +Lexington Kentucky Fontana California +Lexington Kentucky Akron Ohio +Lexington Kentucky Amarillo Texas +Lexington Kentucky Glendale California +Lexington Kentucky Tallahassee Florida +Lexington Kentucky Huntsville Alabama +Lexington Kentucky Worcester Massachusetts +Lexington Kentucky Chicago Illinois +Lexington Kentucky Houston Texas +Lexington Kentucky Philadelphia Pennsylvania +Lexington Kentucky Phoenix Arizona +Lexington Kentucky Dallas Texas +Lexington Kentucky Jacksonville Florida +Lexington Kentucky Indianapolis Indiana +Lexington Kentucky Austin Texas +Stockton California Cincinnati Ohio +Stockton California Anchorage Alaska +Stockton California Toledo Ohio +Stockton California Plano Texas +Stockton California Henderson Nevada +Stockton California Orlando Florida +Stockton California Laredo Texas +Stockton California Chandler Arizona +Stockton California Madison Wisconsin +Stockton California Lubbock Texas +Stockton California Garland Texas +Stockton California Glendale Arizona +Stockton California Hialeah Florida +Stockton California Reno Nevada +Stockton California Scottsdale Arizona +Stockton California Irving Texas +Stockton California Spokane Washington +Stockton California Shreveport Louisiana +Stockton California Tacoma Washington +Stockton California Akron Ohio +Stockton California Amarillo Texas +Stockton California Tallahassee Florida +Stockton California Huntsville Alabama +Stockton California Worcester Massachusetts +Stockton California Chicago Illinois +Stockton California Houston Texas +Stockton California Philadelphia Pennsylvania +Stockton California Phoenix Arizona +Stockton California Dallas Texas +Stockton California Jacksonville Florida +Stockton California Indianapolis Indiana +Stockton California Austin Texas +Stockton California Detroit Michigan +Cincinnati Ohio Anchorage Alaska +Cincinnati Ohio Plano Texas +Cincinnati Ohio Henderson Nevada +Cincinnati Ohio Orlando Florida +Cincinnati Ohio Laredo Texas +Cincinnati Ohio Chandler Arizona +Cincinnati Ohio Madison Wisconsin +Cincinnati Ohio Lubbock Texas +Cincinnati Ohio Garland Texas +Cincinnati Ohio Glendale Arizona +Cincinnati Ohio Hialeah Florida +Cincinnati Ohio Reno Nevada +Cincinnati Ohio Scottsdale Arizona +Cincinnati Ohio Irving Texas +Cincinnati Ohio Fremont California +Cincinnati Ohio Irvine California +Cincinnati Ohio Spokane Washington +Cincinnati Ohio Modesto California +Cincinnati Ohio Shreveport Louisiana +Cincinnati Ohio Tacoma Washington +Cincinnati Ohio Oxnard California +Cincinnati Ohio Fontana California +Cincinnati Ohio Amarillo Texas +Cincinnati Ohio Glendale California +Cincinnati Ohio Tallahassee Florida +Cincinnati Ohio Huntsville Alabama +Cincinnati Ohio Worcester Massachusetts +Cincinnati Ohio Chicago Illinois +Cincinnati Ohio Houston Texas +Cincinnati Ohio Philadelphia Pennsylvania +Cincinnati Ohio Phoenix Arizona +Cincinnati Ohio Dallas Texas +Cincinnati Ohio Jacksonville Florida +Cincinnati Ohio Indianapolis Indiana +Cincinnati Ohio Austin Texas +Cincinnati Ohio Detroit Michigan +Cincinnati Ohio Memphis Tennessee +Anchorage Alaska Toledo Ohio +Anchorage Alaska Plano Texas +Anchorage Alaska Henderson Nevada +Anchorage Alaska Orlando Florida +Anchorage Alaska Laredo Texas +Anchorage Alaska Chandler Arizona +Anchorage Alaska Madison Wisconsin +Anchorage Alaska Lubbock Texas +Anchorage Alaska Garland Texas +Anchorage Alaska Glendale Arizona +Anchorage Alaska Hialeah Florida +Anchorage Alaska Reno Nevada +Anchorage Alaska Scottsdale Arizona +Anchorage Alaska Irving Texas +Anchorage Alaska Fremont California +Anchorage Alaska Irvine California +Anchorage Alaska Spokane Washington +Anchorage Alaska Modesto California +Anchorage Alaska Shreveport Louisiana +Anchorage Alaska Tacoma Washington +Anchorage Alaska Oxnard California +Anchorage Alaska Fontana California +Anchorage Alaska Akron Ohio +Anchorage Alaska Amarillo Texas +Anchorage Alaska Glendale California +Anchorage Alaska Tallahassee Florida +Anchorage Alaska Huntsville Alabama +Anchorage Alaska Worcester Massachusetts +Anchorage Alaska Chicago Illinois +Anchorage Alaska Houston Texas +Anchorage Alaska Philadelphia Pennsylvania +Anchorage Alaska Phoenix Arizona +Anchorage Alaska Dallas Texas +Anchorage Alaska Jacksonville Florida +Anchorage Alaska Indianapolis Indiana +Anchorage Alaska Austin Texas +Anchorage Alaska Detroit Michigan +Anchorage Alaska Memphis Tennessee +Anchorage Alaska Boston Massachusetts +Toledo Ohio Plano Texas +Toledo Ohio Henderson Nevada +Toledo Ohio Orlando Florida +Toledo Ohio Laredo Texas +Toledo Ohio Chandler Arizona +Toledo Ohio Madison Wisconsin +Toledo Ohio Lubbock Texas +Toledo Ohio Garland Texas +Toledo Ohio Glendale Arizona +Toledo Ohio Hialeah Florida +Toledo Ohio Reno Nevada +Toledo Ohio Scottsdale Arizona +Toledo Ohio Irving Texas +Toledo Ohio Fremont California +Toledo Ohio Irvine California +Toledo Ohio Spokane Washington +Toledo Ohio Modesto California +Toledo Ohio Shreveport Louisiana +Toledo Ohio Tacoma Washington +Toledo Ohio Oxnard California +Toledo Ohio Fontana California +Toledo Ohio Amarillo Texas +Toledo Ohio Glendale California +Toledo Ohio Tallahassee Florida +Toledo Ohio Huntsville Alabama +Toledo Ohio Worcester Massachusetts +Toledo Ohio Chicago Illinois +Toledo Ohio Houston Texas +Toledo Ohio Philadelphia Pennsylvania +Toledo Ohio Phoenix Arizona +Toledo Ohio Dallas Texas +Toledo Ohio Jacksonville Florida +Toledo Ohio Indianapolis Indiana +Toledo Ohio Austin Texas +Toledo Ohio Detroit Michigan +Toledo Ohio Memphis Tennessee +Toledo Ohio Boston Massachusetts +Toledo Ohio Seattle Washington +Plano Texas Henderson Nevada +Plano Texas Orlando Florida +Plano Texas Chandler Arizona +Plano Texas Madison Wisconsin +Plano Texas Glendale Arizona +Plano Texas Hialeah Florida +Plano Texas Reno Nevada +Plano Texas Scottsdale Arizona +Plano Texas Fremont California +Plano Texas Irvine California +Plano Texas Spokane Washington +Plano Texas Modesto California +Plano Texas Shreveport Louisiana +Plano Texas Tacoma Washington +Plano Texas Oxnard California +Plano Texas Fontana California +Plano Texas Akron Ohio +Plano Texas Glendale California +Plano Texas Tallahassee Florida +Plano Texas Huntsville Alabama +Plano Texas Worcester Massachusetts +Plano Texas Chicago Illinois +Plano Texas Philadelphia Pennsylvania +Plano Texas Phoenix Arizona +Plano Texas Jacksonville Florida +Plano Texas Indianapolis Indiana +Plano Texas Detroit Michigan +Plano Texas Memphis Tennessee +Plano Texas Boston Massachusetts +Plano Texas Seattle Washington +Plano Texas Denver Colorado +Henderson Nevada Orlando Florida +Henderson Nevada Laredo Texas +Henderson Nevada Chandler Arizona +Henderson Nevada Madison Wisconsin +Henderson Nevada Lubbock Texas +Henderson Nevada Garland Texas +Henderson Nevada Glendale Arizona +Henderson Nevada Hialeah Florida +Henderson Nevada Scottsdale Arizona +Henderson Nevada Irving Texas +Henderson Nevada Fremont California +Henderson Nevada Irvine California +Henderson Nevada Spokane Washington +Henderson Nevada Modesto California +Henderson Nevada Shreveport Louisiana +Henderson Nevada Tacoma Washington +Henderson Nevada Oxnard California +Henderson Nevada Fontana California +Henderson Nevada Akron Ohio +Henderson Nevada Amarillo Texas +Henderson Nevada Glendale California +Henderson Nevada Tallahassee Florida +Henderson Nevada Huntsville Alabama +Henderson Nevada Worcester Massachusetts +Henderson Nevada Chicago Illinois +Henderson Nevada Houston Texas +Henderson Nevada Philadelphia Pennsylvania +Henderson Nevada Phoenix Arizona +Henderson Nevada Dallas Texas +Henderson Nevada Jacksonville Florida +Henderson Nevada Indianapolis Indiana +Henderson Nevada Austin Texas +Henderson Nevada Detroit Michigan +Henderson Nevada Memphis Tennessee +Henderson Nevada Boston Massachusetts +Henderson Nevada Seattle Washington +Henderson Nevada Denver Colorado +Henderson Nevada Baltimore Maryland +Orlando Florida Laredo Texas +Orlando Florida Chandler Arizona +Orlando Florida Madison Wisconsin +Orlando Florida Lubbock Texas +Orlando Florida Garland Texas +Orlando Florida Glendale Arizona +Orlando Florida Reno Nevada +Orlando Florida Scottsdale Arizona +Orlando Florida Irving Texas +Orlando Florida Fremont California +Orlando Florida Irvine California +Orlando Florida Spokane Washington +Orlando Florida Modesto California +Orlando Florida Shreveport Louisiana +Orlando Florida Tacoma Washington +Orlando Florida Oxnard California +Orlando Florida Fontana California +Orlando Florida Akron Ohio +Orlando Florida Amarillo Texas +Orlando Florida Glendale California +Orlando Florida Huntsville Alabama +Orlando Florida Worcester Massachusetts +Orlando Florida Chicago Illinois +Orlando Florida Houston Texas +Orlando Florida Philadelphia Pennsylvania +Orlando Florida Phoenix Arizona +Orlando Florida Dallas Texas +Orlando Florida Indianapolis Indiana +Orlando Florida Austin Texas +Orlando Florida Detroit Michigan +Orlando Florida Memphis Tennessee +Orlando Florida Boston Massachusetts +Orlando Florida Seattle Washington +Orlando Florida Denver Colorado +Orlando Florida Baltimore Maryland +Orlando Florida Nashville Tennessee +Laredo Texas Chandler Arizona +Laredo Texas Madison Wisconsin +Laredo Texas Glendale Arizona +Laredo Texas Hialeah Florida +Laredo Texas Reno Nevada +Laredo Texas Scottsdale Arizona +Laredo Texas Fremont California +Laredo Texas Irvine California +Laredo Texas Spokane Washington +Laredo Texas Modesto California +Laredo Texas Shreveport Louisiana +Laredo Texas Tacoma Washington +Laredo Texas Oxnard California +Laredo Texas Fontana California +Laredo Texas Akron Ohio +Laredo Texas Glendale California +Laredo Texas Tallahassee Florida +Laredo Texas Huntsville Alabama +Laredo Texas Worcester Massachusetts +Laredo Texas Chicago Illinois +Laredo Texas Philadelphia Pennsylvania +Laredo Texas Phoenix Arizona +Laredo Texas Jacksonville Florida +Laredo Texas Indianapolis Indiana +Laredo Texas Detroit Michigan +Laredo Texas Memphis Tennessee +Laredo Texas Boston Massachusetts +Laredo Texas Seattle Washington +Laredo Texas Denver Colorado +Laredo Texas Baltimore Maryland +Laredo Texas Nashville Tennessee +Laredo Texas Louisville Kentucky +Chandler Arizona Madison Wisconsin +Chandler Arizona Lubbock Texas +Chandler Arizona Garland Texas +Chandler Arizona Hialeah Florida +Chandler Arizona Reno Nevada +Chandler Arizona Irving Texas +Chandler Arizona Fremont California +Chandler Arizona Irvine California +Chandler Arizona Spokane Washington +Chandler Arizona Modesto California +Chandler Arizona Shreveport Louisiana +Chandler Arizona Tacoma Washington +Chandler Arizona Oxnard California +Chandler Arizona Fontana California +Chandler Arizona Akron Ohio +Chandler Arizona Amarillo Texas +Chandler Arizona Glendale California +Chandler Arizona Tallahassee Florida +Chandler Arizona Huntsville Alabama +Chandler Arizona Worcester Massachusetts +Chandler Arizona Chicago Illinois +Chandler Arizona Houston Texas +Chandler Arizona Philadelphia Pennsylvania +Chandler Arizona Dallas Texas +Chandler Arizona Jacksonville Florida +Chandler Arizona Indianapolis Indiana +Chandler Arizona Austin Texas +Chandler Arizona Detroit Michigan +Chandler Arizona Memphis Tennessee +Chandler Arizona Boston Massachusetts +Chandler Arizona Seattle Washington +Chandler Arizona Denver Colorado +Chandler Arizona Baltimore Maryland +Chandler Arizona Nashville Tennessee +Chandler Arizona Louisville Kentucky +Chandler Arizona Milwaukee Wisconsin +Madison Wisconsin Lubbock Texas +Madison Wisconsin Garland Texas +Madison Wisconsin Glendale Arizona +Madison Wisconsin Hialeah Florida +Madison Wisconsin Reno Nevada +Madison Wisconsin Scottsdale Arizona +Madison Wisconsin Irving Texas +Madison Wisconsin Fremont California +Madison Wisconsin Irvine California +Madison Wisconsin Spokane Washington +Madison Wisconsin Modesto California +Madison Wisconsin Shreveport Louisiana +Madison Wisconsin Tacoma Washington +Madison Wisconsin Oxnard California +Madison Wisconsin Fontana California +Madison Wisconsin Akron Ohio +Madison Wisconsin Amarillo Texas +Madison Wisconsin Glendale California +Madison Wisconsin Tallahassee Florida +Madison Wisconsin Huntsville Alabama +Madison Wisconsin Worcester Massachusetts +Madison Wisconsin Chicago Illinois +Madison Wisconsin Houston Texas +Madison Wisconsin Philadelphia Pennsylvania +Madison Wisconsin Phoenix Arizona +Madison Wisconsin Dallas Texas +Madison Wisconsin Jacksonville Florida +Madison Wisconsin Indianapolis Indiana +Madison Wisconsin Austin Texas +Madison Wisconsin Detroit Michigan +Madison Wisconsin Memphis Tennessee +Madison Wisconsin Boston Massachusetts +Madison Wisconsin Seattle Washington +Madison Wisconsin Denver Colorado +Madison Wisconsin Baltimore Maryland +Madison Wisconsin Nashville Tennessee +Madison Wisconsin Louisville Kentucky +Madison Wisconsin Portland Oregon +Lubbock Texas Glendale Arizona +Lubbock Texas Hialeah Florida +Lubbock Texas Reno Nevada +Lubbock Texas Scottsdale Arizona +Lubbock Texas Fremont California +Lubbock Texas Irvine California +Lubbock Texas Spokane Washington +Lubbock Texas Modesto California +Lubbock Texas Shreveport Louisiana +Lubbock Texas Tacoma Washington +Lubbock Texas Oxnard California +Lubbock Texas Fontana California +Lubbock Texas Akron Ohio +Lubbock Texas Glendale California +Lubbock Texas Tallahassee Florida +Lubbock Texas Huntsville Alabama +Lubbock Texas Worcester Massachusetts +Lubbock Texas Chicago Illinois +Lubbock Texas Philadelphia Pennsylvania +Lubbock Texas Phoenix Arizona +Lubbock Texas Jacksonville Florida +Lubbock Texas Indianapolis Indiana +Lubbock Texas Detroit Michigan +Lubbock Texas Memphis Tennessee +Lubbock Texas Boston Massachusetts +Lubbock Texas Seattle Washington +Lubbock Texas Denver Colorado +Lubbock Texas Baltimore Maryland +Lubbock Texas Nashville Tennessee +Lubbock Texas Louisville Kentucky +Lubbock Texas Milwaukee Wisconsin +Lubbock Texas Portland Oregon +Lubbock Texas Tucson Arizona +Garland Texas Glendale Arizona +Garland Texas Hialeah Florida +Garland Texas Reno Nevada +Garland Texas Scottsdale Arizona +Garland Texas Fremont California +Garland Texas Irvine California +Garland Texas Spokane Washington +Garland Texas Modesto California +Garland Texas Shreveport Louisiana +Garland Texas Tacoma Washington +Garland Texas Oxnard California +Garland Texas Fontana California +Garland Texas Akron Ohio +Garland Texas Glendale California +Garland Texas Tallahassee Florida +Garland Texas Huntsville Alabama +Garland Texas Worcester Massachusetts +Garland Texas Chicago Illinois +Garland Texas Philadelphia Pennsylvania +Garland Texas Phoenix Arizona +Garland Texas Jacksonville Florida +Garland Texas Indianapolis Indiana +Garland Texas Detroit Michigan +Garland Texas Memphis Tennessee +Garland Texas Boston Massachusetts +Garland Texas Seattle Washington +Garland Texas Denver Colorado +Garland Texas Baltimore Maryland +Garland Texas Nashville Tennessee +Garland Texas Louisville Kentucky +Garland Texas Milwaukee Wisconsin +Garland Texas Portland Oregon +Garland Texas Tucson Arizona +Garland Texas Fresno California +Glendale Arizona Hialeah Florida +Glendale Arizona Reno Nevada +Glendale Arizona Irving Texas +Glendale Arizona Fremont California +Glendale Arizona Irvine California +Glendale Arizona Spokane Washington +Glendale Arizona Modesto California +Glendale Arizona Shreveport Louisiana +Glendale Arizona Tacoma Washington +Glendale Arizona Oxnard California +Glendale Arizona Fontana California +Glendale Arizona Akron Ohio +Glendale Arizona Amarillo Texas +Glendale Arizona Tallahassee Florida +Glendale Arizona Huntsville Alabama +Glendale Arizona Worcester Massachusetts +Glendale Arizona Chicago Illinois +Glendale Arizona Houston Texas +Glendale Arizona Philadelphia Pennsylvania +Glendale Arizona Dallas Texas +Glendale Arizona Jacksonville Florida +Glendale Arizona Indianapolis Indiana +Glendale Arizona Austin Texas +Glendale Arizona Detroit Michigan +Glendale Arizona Memphis Tennessee +Glendale Arizona Boston Massachusetts +Glendale Arizona Seattle Washington +Glendale Arizona Denver Colorado +Glendale Arizona Baltimore Maryland +Glendale Arizona Nashville Tennessee +Glendale Arizona Louisville Kentucky +Glendale Arizona Milwaukee Wisconsin +Glendale Arizona Portland Oregon +Glendale Arizona Fresno California +Glendale Arizona Sacramento California +Hialeah Florida Reno Nevada +Hialeah Florida Scottsdale Arizona +Hialeah Florida Irving Texas +Hialeah Florida Fremont California +Hialeah Florida Irvine California +Hialeah Florida Spokane Washington +Hialeah Florida Modesto California +Hialeah Florida Shreveport Louisiana +Hialeah Florida Tacoma Washington +Hialeah Florida Oxnard California +Hialeah Florida Fontana California +Hialeah Florida Akron Ohio +Hialeah Florida Amarillo Texas +Hialeah Florida Glendale California +Hialeah Florida Huntsville Alabama +Hialeah Florida Worcester Massachusetts +Hialeah Florida Chicago Illinois +Hialeah Florida Houston Texas +Hialeah Florida Philadelphia Pennsylvania +Hialeah Florida Phoenix Arizona +Hialeah Florida Dallas Texas +Hialeah Florida Indianapolis Indiana +Hialeah Florida Austin Texas +Hialeah Florida Detroit Michigan +Hialeah Florida Memphis Tennessee +Hialeah Florida Boston Massachusetts +Hialeah Florida Seattle Washington +Hialeah Florida Denver Colorado +Hialeah Florida Baltimore Maryland +Hialeah Florida Nashville Tennessee +Hialeah Florida Louisville Kentucky +Hialeah Florida Milwaukee Wisconsin +Hialeah Florida Portland Oregon +Hialeah Florida Tucson Arizona +Hialeah Florida Fresno California +Hialeah Florida Sacramento California +Hialeah Florida Mesa Arizona +Reno Nevada Scottsdale Arizona +Reno Nevada Irving Texas +Reno Nevada Fremont California +Reno Nevada Irvine California +Reno Nevada Spokane Washington +Reno Nevada Modesto California +Reno Nevada Shreveport Louisiana +Reno Nevada Tacoma Washington +Reno Nevada Oxnard California +Reno Nevada Fontana California +Reno Nevada Akron Ohio +Reno Nevada Amarillo Texas +Reno Nevada Glendale California +Reno Nevada Tallahassee Florida +Reno Nevada Huntsville Alabama +Reno Nevada Worcester Massachusetts +Reno Nevada Chicago Illinois +Reno Nevada Houston Texas +Reno Nevada Philadelphia Pennsylvania +Reno Nevada Phoenix Arizona +Reno Nevada Dallas Texas +Reno Nevada Jacksonville Florida +Reno Nevada Indianapolis Indiana +Reno Nevada Austin Texas +Reno Nevada Detroit Michigan +Reno Nevada Memphis Tennessee +Reno Nevada Boston Massachusetts +Reno Nevada Seattle Washington +Reno Nevada Denver Colorado +Reno Nevada Baltimore Maryland +Reno Nevada Nashville Tennessee +Reno Nevada Louisville Kentucky +Reno Nevada Milwaukee Wisconsin +Reno Nevada Portland Oregon +Reno Nevada Tucson Arizona +Reno Nevada Fresno California +Reno Nevada Sacramento California +Reno Nevada Mesa Arizona +Reno Nevada Atlanta Georgia +Scottsdale Arizona Irving Texas +Scottsdale Arizona Fremont California +Scottsdale Arizona Irvine California +Scottsdale Arizona Spokane Washington +Scottsdale Arizona Modesto California +Scottsdale Arizona Shreveport Louisiana +Scottsdale Arizona Tacoma Washington +Scottsdale Arizona Oxnard California +Scottsdale Arizona Fontana California +Scottsdale Arizona Akron Ohio +Scottsdale Arizona Amarillo Texas +Scottsdale Arizona Glendale California +Scottsdale Arizona Tallahassee Florida +Scottsdale Arizona Huntsville Alabama +Scottsdale Arizona Worcester Massachusetts +Scottsdale Arizona Chicago Illinois +Scottsdale Arizona Houston Texas +Scottsdale Arizona Philadelphia Pennsylvania +Scottsdale Arizona Dallas Texas +Scottsdale Arizona Jacksonville Florida +Scottsdale Arizona Indianapolis Indiana +Scottsdale Arizona Austin Texas +Scottsdale Arizona Detroit Michigan +Scottsdale Arizona Memphis Tennessee +Scottsdale Arizona Boston Massachusetts +Scottsdale Arizona Seattle Washington +Scottsdale Arizona Denver Colorado +Scottsdale Arizona Baltimore Maryland +Scottsdale Arizona Nashville Tennessee +Scottsdale Arizona Louisville Kentucky +Scottsdale Arizona Milwaukee Wisconsin +Scottsdale Arizona Portland Oregon +Scottsdale Arizona Fresno California +Scottsdale Arizona Sacramento California +Scottsdale Arizona Atlanta Georgia +Scottsdale Arizona Omaha Nebraska +Irving Texas Fremont California +Irving Texas Irvine California +Irving Texas Spokane Washington +Irving Texas Modesto California +Irving Texas Shreveport Louisiana +Irving Texas Tacoma Washington +Irving Texas Oxnard California +Irving Texas Fontana California +Irving Texas Akron Ohio +Irving Texas Glendale California +Irving Texas Tallahassee Florida +Irving Texas Huntsville Alabama +Irving Texas Worcester Massachusetts +Irving Texas Chicago Illinois +Irving Texas Philadelphia Pennsylvania +Irving Texas Phoenix Arizona +Irving Texas Jacksonville Florida +Irving Texas Indianapolis Indiana +Irving Texas Detroit Michigan +Irving Texas Memphis Tennessee +Irving Texas Boston Massachusetts +Irving Texas Seattle Washington +Irving Texas Denver Colorado +Irving Texas Baltimore Maryland +Irving Texas Nashville Tennessee +Irving Texas Louisville Kentucky +Irving Texas Milwaukee Wisconsin +Irving Texas Portland Oregon +Irving Texas Tucson Arizona +Irving Texas Fresno California +Irving Texas Sacramento California +Irving Texas Mesa Arizona +Irving Texas Atlanta Georgia +Irving Texas Omaha Nebraska +Irving Texas Miami Florida +Fremont California Spokane Washington +Fremont California Shreveport Louisiana +Fremont California Tacoma Washington +Fremont California Akron Ohio +Fremont California Amarillo Texas +Fremont California Tallahassee Florida +Fremont California Huntsville Alabama +Fremont California Worcester Massachusetts +Fremont California Chicago Illinois +Fremont California Houston Texas +Fremont California Philadelphia Pennsylvania +Fremont California Phoenix Arizona +Fremont California Dallas Texas +Fremont California Jacksonville Florida +Fremont California Indianapolis Indiana +Fremont California Austin Texas +Fremont California Detroit Michigan +Fremont California Memphis Tennessee +Fremont California Boston Massachusetts +Fremont California Seattle Washington +Fremont California Denver Colorado +Fremont California Baltimore Maryland +Fremont California Nashville Tennessee +Fremont California Louisville Kentucky +Fremont California Milwaukee Wisconsin +Fremont California Portland Oregon +Fremont California Tucson Arizona +Fremont California Mesa Arizona +Fremont California Atlanta Georgia +Fremont California Omaha Nebraska +Fremont California Miami Florida +Fremont California Tulsa Oklahoma +Irvine California Spokane Washington +Irvine California Shreveport Louisiana +Irvine California Tacoma Washington +Irvine California Akron Ohio +Irvine California Amarillo Texas +Irvine California Tallahassee Florida +Irvine California Huntsville Alabama +Irvine California Worcester Massachusetts +Irvine California Chicago Illinois +Irvine California Houston Texas +Irvine California Philadelphia Pennsylvania +Irvine California Phoenix Arizona +Irvine California Dallas Texas +Irvine California Jacksonville Florida +Irvine California Indianapolis Indiana +Irvine California Austin Texas +Irvine California Detroit Michigan +Irvine California Memphis Tennessee +Irvine California Boston Massachusetts +Irvine California Seattle Washington +Irvine California Denver Colorado +Irvine California Baltimore Maryland +Irvine California Nashville Tennessee +Irvine California Louisville Kentucky +Irvine California Milwaukee Wisconsin +Irvine California Portland Oregon +Irvine California Tucson Arizona +Irvine California Mesa Arizona +Irvine California Atlanta Georgia +Irvine California Omaha Nebraska +Irvine California Miami Florida +Irvine California Tulsa Oklahoma +Spokane Washington Modesto California +Spokane Washington Shreveport Louisiana +Spokane Washington Oxnard California +Spokane Washington Fontana California +Spokane Washington Akron Ohio +Spokane Washington Amarillo Texas +Spokane Washington Glendale California +Spokane Washington Tallahassee Florida +Spokane Washington Huntsville Alabama +Spokane Washington Worcester Massachusetts +Spokane Washington Chicago Illinois +Spokane Washington Houston Texas +Spokane Washington Philadelphia Pennsylvania +Spokane Washington Phoenix Arizona +Spokane Washington Dallas Texas +Spokane Washington Jacksonville Florida +Spokane Washington Indianapolis Indiana +Spokane Washington Austin Texas +Spokane Washington Detroit Michigan +Spokane Washington Memphis Tennessee +Spokane Washington Boston Massachusetts +Spokane Washington Denver Colorado +Spokane Washington Baltimore Maryland +Spokane Washington Nashville Tennessee +Spokane Washington Louisville Kentucky +Spokane Washington Milwaukee Wisconsin +Spokane Washington Portland Oregon +Spokane Washington Tucson Arizona +Spokane Washington Fresno California +Spokane Washington Sacramento California +Spokane Washington Mesa Arizona +Spokane Washington Atlanta Georgia +Spokane Washington Omaha Nebraska +Spokane Washington Miami Florida +Spokane Washington Tulsa Oklahoma +Spokane Washington Oakland California +Spokane Washington Cleveland Ohio +Modesto California Shreveport Louisiana +Modesto California Tacoma Washington +Modesto California Akron Ohio +Modesto California Amarillo Texas +Modesto California Tallahassee Florida +Modesto California Huntsville Alabama +Modesto California Worcester Massachusetts +Modesto California Chicago Illinois +Modesto California Houston Texas +Modesto California Philadelphia Pennsylvania +Modesto California Phoenix Arizona +Modesto California Dallas Texas +Modesto California Jacksonville Florida +Modesto California Indianapolis Indiana +Modesto California Austin Texas +Modesto California Detroit Michigan +Modesto California Memphis Tennessee +Modesto California Boston Massachusetts +Modesto California Seattle Washington +Modesto California Denver Colorado +Modesto California Baltimore Maryland +Modesto California Nashville Tennessee +Modesto California Louisville Kentucky +Modesto California Milwaukee Wisconsin +Modesto California Portland Oregon +Modesto California Tucson Arizona +Modesto California Mesa Arizona +Modesto California Atlanta Georgia +Modesto California Omaha Nebraska +Modesto California Miami Florida +Modesto California Tulsa Oklahoma +Modesto California Cleveland Ohio +Modesto California Minneapolis Minnesota +Shreveport Louisiana Tacoma Washington +Shreveport Louisiana Oxnard California +Shreveport Louisiana Fontana California +Shreveport Louisiana Akron Ohio +Shreveport Louisiana Amarillo Texas +Shreveport Louisiana Glendale California +Shreveport Louisiana Tallahassee Florida +Shreveport Louisiana Huntsville Alabama +Shreveport Louisiana Worcester Massachusetts +Shreveport Louisiana Chicago Illinois +Shreveport Louisiana Houston Texas +Shreveport Louisiana Philadelphia Pennsylvania +Shreveport Louisiana Phoenix Arizona +Shreveport Louisiana Dallas Texas +Shreveport Louisiana Jacksonville Florida +Shreveport Louisiana Indianapolis Indiana +Shreveport Louisiana Austin Texas +Shreveport Louisiana Detroit Michigan +Shreveport Louisiana Memphis Tennessee +Shreveport Louisiana Boston Massachusetts +Shreveport Louisiana Seattle Washington +Shreveport Louisiana Denver Colorado +Shreveport Louisiana Baltimore Maryland +Shreveport Louisiana Nashville Tennessee +Shreveport Louisiana Louisville Kentucky +Shreveport Louisiana Milwaukee Wisconsin +Shreveport Louisiana Portland Oregon +Shreveport Louisiana Tucson Arizona +Shreveport Louisiana Fresno California +Shreveport Louisiana Sacramento California +Shreveport Louisiana Mesa Arizona +Shreveport Louisiana Atlanta Georgia +Shreveport Louisiana Omaha Nebraska +Shreveport Louisiana Miami Florida +Shreveport Louisiana Tulsa Oklahoma +Shreveport Louisiana Oakland California +Shreveport Louisiana Cleveland Ohio +Shreveport Louisiana Minneapolis Minnesota +Shreveport Louisiana Wichita Kansas +Tacoma Washington Oxnard California +Tacoma Washington Fontana California +Tacoma Washington Akron Ohio +Tacoma Washington Amarillo Texas +Tacoma Washington Glendale California +Tacoma Washington Tallahassee Florida +Tacoma Washington Huntsville Alabama +Tacoma Washington Worcester Massachusetts +Tacoma Washington Chicago Illinois +Tacoma Washington Houston Texas +Tacoma Washington Philadelphia Pennsylvania +Tacoma Washington Phoenix Arizona +Tacoma Washington Dallas Texas +Tacoma Washington Jacksonville Florida +Tacoma Washington Indianapolis Indiana +Tacoma Washington Austin Texas +Tacoma Washington Detroit Michigan +Tacoma Washington Memphis Tennessee +Tacoma Washington Boston Massachusetts +Tacoma Washington Denver Colorado +Tacoma Washington Baltimore Maryland +Tacoma Washington Nashville Tennessee +Tacoma Washington Louisville Kentucky +Tacoma Washington Milwaukee Wisconsin +Tacoma Washington Portland Oregon +Tacoma Washington Tucson Arizona +Tacoma Washington Fresno California +Tacoma Washington Sacramento California +Tacoma Washington Mesa Arizona +Tacoma Washington Atlanta Georgia +Tacoma Washington Omaha Nebraska +Tacoma Washington Miami Florida +Tacoma Washington Tulsa Oklahoma +Tacoma Washington Oakland California +Tacoma Washington Cleveland Ohio +Tacoma Washington Minneapolis Minnesota +Tacoma Washington Wichita Kansas +Tacoma Washington Arlington Texas +Oxnard California Akron Ohio +Oxnard California Amarillo Texas +Oxnard California Tallahassee Florida +Oxnard California Huntsville Alabama +Oxnard California Worcester Massachusetts +Oxnard California Chicago Illinois +Oxnard California Houston Texas +Oxnard California Philadelphia Pennsylvania +Oxnard California Phoenix Arizona +Oxnard California Dallas Texas +Oxnard California Jacksonville Florida +Oxnard California Indianapolis Indiana +Oxnard California Austin Texas +Oxnard California Detroit Michigan +Oxnard California Memphis Tennessee +Oxnard California Boston Massachusetts +Oxnard California Seattle Washington +Oxnard California Denver Colorado +Oxnard California Baltimore Maryland +Oxnard California Nashville Tennessee +Oxnard California Louisville Kentucky +Oxnard California Milwaukee Wisconsin +Oxnard California Portland Oregon +Oxnard California Tucson Arizona +Oxnard California Mesa Arizona +Oxnard California Atlanta Georgia +Oxnard California Omaha Nebraska +Oxnard California Miami Florida +Oxnard California Tulsa Oklahoma +Oxnard California Cleveland Ohio +Oxnard California Minneapolis Minnesota +Oxnard California Wichita Kansas +Oxnard California Arlington Texas +Fontana California Akron Ohio +Fontana California Amarillo Texas +Fontana California Tallahassee Florida +Fontana California Huntsville Alabama +Fontana California Worcester Massachusetts +Fontana California Chicago Illinois +Fontana California Houston Texas +Fontana California Philadelphia Pennsylvania +Fontana California Phoenix Arizona +Fontana California Dallas Texas +Fontana California Jacksonville Florida +Fontana California Indianapolis Indiana +Fontana California Austin Texas +Fontana California Detroit Michigan +Fontana California Memphis Tennessee +Fontana California Boston Massachusetts +Fontana California Seattle Washington +Fontana California Denver Colorado +Fontana California Baltimore Maryland +Fontana California Nashville Tennessee +Fontana California Louisville Kentucky +Fontana California Milwaukee Wisconsin +Fontana California Portland Oregon +Fontana California Tucson Arizona +Fontana California Mesa Arizona +Fontana California Atlanta Georgia +Fontana California Omaha Nebraska +Fontana California Miami Florida +Fontana California Tulsa Oklahoma +Fontana California Cleveland Ohio +Fontana California Minneapolis Minnesota +Fontana California Wichita Kansas +Fontana California Arlington Texas +Fontana California Tampa Florida +Akron Ohio Amarillo Texas +Akron Ohio Glendale California +Akron Ohio Tallahassee Florida +Akron Ohio Huntsville Alabama +Akron Ohio Worcester Massachusetts +Akron Ohio Chicago Illinois +Akron Ohio Houston Texas +Akron Ohio Philadelphia Pennsylvania +Akron Ohio Phoenix Arizona +Akron Ohio Dallas Texas +Akron Ohio Jacksonville Florida +Akron Ohio Indianapolis Indiana +Akron Ohio Austin Texas +Akron Ohio Detroit Michigan +Akron Ohio Memphis Tennessee +Akron Ohio Boston Massachusetts +Akron Ohio Seattle Washington +Akron Ohio Denver Colorado +Akron Ohio Baltimore Maryland +Akron Ohio Nashville Tennessee +Akron Ohio Louisville Kentucky +Akron Ohio Milwaukee Wisconsin +Akron Ohio Portland Oregon +Akron Ohio Tucson Arizona +Akron Ohio Fresno California +Akron Ohio Sacramento California +Akron Ohio Mesa Arizona +Akron Ohio Atlanta Georgia +Akron Ohio Omaha Nebraska +Akron Ohio Miami Florida +Akron Ohio Tulsa Oklahoma +Akron Ohio Oakland California +Akron Ohio Minneapolis Minnesota +Akron Ohio Wichita Kansas +Akron Ohio Arlington Texas +Akron Ohio Bakersfield California +Akron Ohio Tampa Florida +Akron Ohio Anaheim California +Amarillo Texas Glendale California +Amarillo Texas Tallahassee Florida +Amarillo Texas Huntsville Alabama +Amarillo Texas Worcester Massachusetts +Amarillo Texas Chicago Illinois +Amarillo Texas Philadelphia Pennsylvania +Amarillo Texas Phoenix Arizona +Amarillo Texas Jacksonville Florida +Amarillo Texas Indianapolis Indiana +Amarillo Texas Detroit Michigan +Amarillo Texas Memphis Tennessee +Amarillo Texas Boston Massachusetts +Amarillo Texas Seattle Washington +Amarillo Texas Denver Colorado +Amarillo Texas Baltimore Maryland +Amarillo Texas Nashville Tennessee +Amarillo Texas Louisville Kentucky +Amarillo Texas Milwaukee Wisconsin +Amarillo Texas Portland Oregon +Amarillo Texas Tucson Arizona +Amarillo Texas Fresno California +Amarillo Texas Sacramento California +Amarillo Texas Mesa Arizona +Amarillo Texas Atlanta Georgia +Amarillo Texas Omaha Nebraska +Amarillo Texas Miami Florida +Amarillo Texas Tulsa Oklahoma +Amarillo Texas Oakland California +Amarillo Texas Cleveland Ohio +Amarillo Texas Minneapolis Minnesota +Amarillo Texas Wichita Kansas +Amarillo Texas Bakersfield California +Amarillo Texas Tampa Florida +Amarillo Texas Anaheim California +Amarillo Texas Honolulu Hawaii +Glendale California Tallahassee Florida +Glendale California Huntsville Alabama +Glendale California Worcester Massachusetts +Glendale California Chicago Illinois +Glendale California Houston Texas +Glendale California Philadelphia Pennsylvania +Glendale California Phoenix Arizona +Glendale California Dallas Texas +Glendale California Jacksonville Florida +Glendale California Indianapolis Indiana +Glendale California Austin Texas +Glendale California Detroit Michigan +Glendale California Memphis Tennessee +Glendale California Boston Massachusetts +Glendale California Seattle Washington +Glendale California Denver Colorado +Glendale California Baltimore Maryland +Glendale California Nashville Tennessee +Glendale California Louisville Kentucky +Glendale California Milwaukee Wisconsin +Glendale California Portland Oregon +Glendale California Tucson Arizona +Glendale California Mesa Arizona +Glendale California Atlanta Georgia +Glendale California Omaha Nebraska +Glendale California Miami Florida +Glendale California Tulsa Oklahoma +Glendale California Cleveland Ohio +Glendale California Minneapolis Minnesota +Glendale California Wichita Kansas +Glendale California Arlington Texas +Glendale California Tampa Florida +Glendale California Honolulu Hawaii +Glendale California Pittsburgh Pennsylvania +Tallahassee Florida Huntsville Alabama +Tallahassee Florida Worcester Massachusetts +Tallahassee Florida Chicago Illinois +Tallahassee Florida Houston Texas +Tallahassee Florida Philadelphia Pennsylvania +Tallahassee Florida Phoenix Arizona +Tallahassee Florida Dallas Texas +Tallahassee Florida Indianapolis Indiana +Tallahassee Florida Austin Texas +Tallahassee Florida Detroit Michigan +Tallahassee Florida Memphis Tennessee +Tallahassee Florida Boston Massachusetts +Tallahassee Florida Seattle Washington +Tallahassee Florida Denver Colorado +Tallahassee Florida Baltimore Maryland +Tallahassee Florida Nashville Tennessee +Tallahassee Florida Louisville Kentucky +Tallahassee Florida Milwaukee Wisconsin +Tallahassee Florida Portland Oregon +Tallahassee Florida Tucson Arizona +Tallahassee Florida Fresno California +Tallahassee Florida Sacramento California +Tallahassee Florida Mesa Arizona +Tallahassee Florida Atlanta Georgia +Tallahassee Florida Omaha Nebraska +Tallahassee Florida Tulsa Oklahoma +Tallahassee Florida Oakland California +Tallahassee Florida Cleveland Ohio +Tallahassee Florida Minneapolis Minnesota +Tallahassee Florida Wichita Kansas +Tallahassee Florida Arlington Texas +Tallahassee Florida Bakersfield California +Tallahassee Florida Anaheim California +Tallahassee Florida Honolulu Hawaii +Tallahassee Florida Pittsburgh Pennsylvania +Tallahassee Florida Lexington Kentucky +Huntsville Alabama Worcester Massachusetts +Huntsville Alabama Chicago Illinois +Huntsville Alabama Houston Texas +Huntsville Alabama Philadelphia Pennsylvania +Huntsville Alabama Phoenix Arizona +Huntsville Alabama Dallas Texas +Huntsville Alabama Jacksonville Florida +Huntsville Alabama Indianapolis Indiana +Huntsville Alabama Austin Texas +Huntsville Alabama Detroit Michigan +Huntsville Alabama Memphis Tennessee +Huntsville Alabama Boston Massachusetts +Huntsville Alabama Seattle Washington +Huntsville Alabama Denver Colorado +Huntsville Alabama Baltimore Maryland +Huntsville Alabama Nashville Tennessee +Huntsville Alabama Louisville Kentucky +Huntsville Alabama Milwaukee Wisconsin +Huntsville Alabama Portland Oregon +Huntsville Alabama Tucson Arizona +Huntsville Alabama Fresno California +Huntsville Alabama Sacramento California +Huntsville Alabama Mesa Arizona +Huntsville Alabama Atlanta Georgia +Huntsville Alabama Omaha Nebraska +Huntsville Alabama Miami Florida +Huntsville Alabama Tulsa Oklahoma +Huntsville Alabama Oakland California +Huntsville Alabama Cleveland Ohio +Huntsville Alabama Minneapolis Minnesota +Huntsville Alabama Wichita Kansas +Huntsville Alabama Arlington Texas +Huntsville Alabama Bakersfield California +Huntsville Alabama Tampa Florida +Huntsville Alabama Anaheim California +Huntsville Alabama Honolulu Hawaii +Huntsville Alabama Pittsburgh Pennsylvania +Huntsville Alabama Lexington Kentucky +Huntsville Alabama Stockton California +Worcester Massachusetts Chicago Illinois +Worcester Massachusetts Houston Texas +Worcester Massachusetts Philadelphia Pennsylvania +Worcester Massachusetts Phoenix Arizona +Worcester Massachusetts Dallas Texas +Worcester Massachusetts Jacksonville Florida +Worcester Massachusetts Indianapolis Indiana +Worcester Massachusetts Austin Texas +Worcester Massachusetts Detroit Michigan +Worcester Massachusetts Memphis Tennessee +Worcester Massachusetts Seattle Washington +Worcester Massachusetts Denver Colorado +Worcester Massachusetts Baltimore Maryland +Worcester Massachusetts Nashville Tennessee +Worcester Massachusetts Louisville Kentucky +Worcester Massachusetts Milwaukee Wisconsin +Worcester Massachusetts Portland Oregon +Worcester Massachusetts Tucson Arizona +Worcester Massachusetts Fresno California +Worcester Massachusetts Sacramento California +Worcester Massachusetts Mesa Arizona +Worcester Massachusetts Atlanta Georgia +Worcester Massachusetts Omaha Nebraska +Worcester Massachusetts Miami Florida +Worcester Massachusetts Tulsa Oklahoma +Worcester Massachusetts Oakland California +Worcester Massachusetts Cleveland Ohio +Worcester Massachusetts Minneapolis Minnesota +Worcester Massachusetts Wichita Kansas +Worcester Massachusetts Arlington Texas +Worcester Massachusetts Bakersfield California +Worcester Massachusetts Tampa Florida +Worcester Massachusetts Anaheim California +Worcester Massachusetts Honolulu Hawaii +Worcester Massachusetts Pittsburgh Pennsylvania +Worcester Massachusetts Lexington Kentucky +Worcester Massachusetts Stockton California +Worcester Massachusetts Cincinnati Ohio +: family +boy girl brother sister +boy girl brothers sisters +boy girl dad mom +boy girl father mother +boy girl grandfather grandmother +boy girl grandpa grandma +boy girl grandson granddaughter +boy girl groom bride +boy girl he she +boy girl his her +boy girl husband wife +boy girl king queen +boy girl man woman +boy girl nephew niece +boy girl policeman policewoman +boy girl prince princess +boy girl son daughter +boy girl sons daughters +boy girl stepbrother stepsister +boy girl stepfather stepmother +boy girl stepson stepdaughter +boy girl uncle aunt +brother sister brothers sisters +brother sister dad mom +brother sister father mother +brother sister grandfather grandmother +brother sister grandpa grandma +brother sister grandson granddaughter +brother sister groom bride +brother sister he she +brother sister his her +brother sister husband wife +brother sister king queen +brother sister man woman +brother sister nephew niece +brother sister policeman policewoman +brother sister prince princess +brother sister son daughter +brother sister sons daughters +brother sister stepbrother stepsister +brother sister stepfather stepmother +brother sister stepson stepdaughter +brother sister uncle aunt +brother sister boy girl +brothers sisters dad mom +brothers sisters father mother +brothers sisters grandfather grandmother +brothers sisters grandpa grandma +brothers sisters grandson granddaughter +brothers sisters groom bride +brothers sisters he she +brothers sisters his her +brothers sisters husband wife +brothers sisters king queen +brothers sisters man woman +brothers sisters nephew niece +brothers sisters policeman policewoman +brothers sisters prince princess +brothers sisters son daughter +brothers sisters sons daughters +brothers sisters stepbrother stepsister +brothers sisters stepfather stepmother +brothers sisters stepson stepdaughter +brothers sisters uncle aunt +brothers sisters boy girl +brothers sisters brother sister +dad mom father mother +dad mom grandfather grandmother +dad mom grandpa grandma +dad mom grandson granddaughter +dad mom groom bride +dad mom he she +dad mom his her +dad mom husband wife +dad mom king queen +dad mom man woman +dad mom nephew niece +dad mom policeman policewoman +dad mom prince princess +dad mom son daughter +dad mom sons daughters +dad mom stepbrother stepsister +dad mom stepfather stepmother +dad mom stepson stepdaughter +dad mom uncle aunt +dad mom boy girl +dad mom brother sister +dad mom brothers sisters +father mother grandfather grandmother +father mother grandpa grandma +father mother grandson granddaughter +father mother groom bride +father mother he she +father mother his her +father mother husband wife +father mother king queen +father mother man woman +father mother nephew niece +father mother policeman policewoman +father mother prince princess +father mother son daughter +father mother sons daughters +father mother stepbrother stepsister +father mother stepfather stepmother +father mother stepson stepdaughter +father mother uncle aunt +father mother boy girl +father mother brother sister +father mother brothers sisters +father mother dad mom +grandfather grandmother grandpa grandma +grandfather grandmother grandson granddaughter +grandfather grandmother groom bride +grandfather grandmother he she +grandfather grandmother his her +grandfather grandmother husband wife +grandfather grandmother king queen +grandfather grandmother man woman +grandfather grandmother nephew niece +grandfather grandmother policeman policewoman +grandfather grandmother prince princess +grandfather grandmother son daughter +grandfather grandmother sons daughters +grandfather grandmother stepbrother stepsister +grandfather grandmother stepfather stepmother +grandfather grandmother stepson stepdaughter +grandfather grandmother uncle aunt +grandfather grandmother boy girl +grandfather grandmother brother sister +grandfather grandmother brothers sisters +grandfather grandmother dad mom +grandfather grandmother father mother +grandpa grandma grandson granddaughter +grandpa grandma groom bride +grandpa grandma he she +grandpa grandma his her +grandpa grandma husband wife +grandpa grandma king queen +grandpa grandma man woman +grandpa grandma nephew niece +grandpa grandma policeman policewoman +grandpa grandma prince princess +grandpa grandma son daughter +grandpa grandma sons daughters +grandpa grandma stepbrother stepsister +grandpa grandma stepfather stepmother +grandpa grandma stepson stepdaughter +grandpa grandma uncle aunt +grandpa grandma boy girl +grandpa grandma brother sister +grandpa grandma brothers sisters +grandpa grandma dad mom +grandpa grandma father mother +grandpa grandma grandfather grandmother +grandson granddaughter groom bride +grandson granddaughter he she +grandson granddaughter his her +grandson granddaughter husband wife +grandson granddaughter king queen +grandson granddaughter man woman +grandson granddaughter nephew niece +grandson granddaughter policeman policewoman +grandson granddaughter prince princess +grandson granddaughter son daughter +grandson granddaughter sons daughters +grandson granddaughter stepbrother stepsister +grandson granddaughter stepfather stepmother +grandson granddaughter stepson stepdaughter +grandson granddaughter uncle aunt +grandson granddaughter boy girl +grandson granddaughter brother sister +grandson granddaughter brothers sisters +grandson granddaughter dad mom +grandson granddaughter father mother +grandson granddaughter grandfather grandmother +grandson granddaughter grandpa grandma +groom bride he she +groom bride his her +groom bride husband wife +groom bride king queen +groom bride man woman +groom bride nephew niece +groom bride policeman policewoman +groom bride prince princess +groom bride son daughter +groom bride sons daughters +groom bride stepbrother stepsister +groom bride stepfather stepmother +groom bride stepson stepdaughter +groom bride uncle aunt +groom bride boy girl +groom bride brother sister +groom bride brothers sisters +groom bride dad mom +groom bride father mother +groom bride grandfather grandmother +groom bride grandpa grandma +groom bride grandson granddaughter +he she his her +he she husband wife +he she king queen +he she man woman +he she nephew niece +he she policeman policewoman +he she prince princess +he she son daughter +he she sons daughters +he she stepbrother stepsister +he she stepfather stepmother +he she stepson stepdaughter +he she uncle aunt +he she boy girl +he she brother sister +he she brothers sisters +he she dad mom +he she father mother +he she grandfather grandmother +he she grandpa grandma +he she grandson granddaughter +he she groom bride +his her husband wife +his her king queen +his her man woman +his her nephew niece +his her policeman policewoman +his her prince princess +his her son daughter +his her sons daughters +his her stepbrother stepsister +his her stepfather stepmother +his her stepson stepdaughter +his her uncle aunt +his her boy girl +his her brother sister +his her brothers sisters +his her dad mom +his her father mother +his her grandfather grandmother +his her grandpa grandma +his her grandson granddaughter +his her groom bride +his her he she +husband wife king queen +husband wife man woman +husband wife nephew niece +husband wife policeman policewoman +husband wife prince princess +husband wife son daughter +husband wife sons daughters +husband wife stepbrother stepsister +husband wife stepfather stepmother +husband wife stepson stepdaughter +husband wife uncle aunt +husband wife boy girl +husband wife brother sister +husband wife brothers sisters +husband wife dad mom +husband wife father mother +husband wife grandfather grandmother +husband wife grandpa grandma +husband wife grandson granddaughter +husband wife groom bride +husband wife he she +husband wife his her +king queen man woman +king queen nephew niece +king queen policeman policewoman +king queen prince princess +king queen son daughter +king queen sons daughters +king queen stepbrother stepsister +king queen stepfather stepmother +king queen stepson stepdaughter +king queen uncle aunt +king queen boy girl +king queen brother sister +king queen brothers sisters +king queen dad mom +king queen father mother +king queen grandfather grandmother +king queen grandpa grandma +king queen grandson granddaughter +king queen groom bride +king queen he she +king queen his her +king queen husband wife +man woman nephew niece +man woman policeman policewoman +man woman prince princess +man woman son daughter +man woman sons daughters +man woman stepbrother stepsister +man woman stepfather stepmother +man woman stepson stepdaughter +man woman uncle aunt +man woman boy girl +man woman brother sister +man woman brothers sisters +man woman dad mom +man woman father mother +man woman grandfather grandmother +man woman grandpa grandma +man woman grandson granddaughter +man woman groom bride +man woman he she +man woman his her +man woman husband wife +man woman king queen +nephew niece policeman policewoman +nephew niece prince princess +nephew niece son daughter +nephew niece sons daughters +nephew niece stepbrother stepsister +nephew niece stepfather stepmother +nephew niece stepson stepdaughter +nephew niece uncle aunt +nephew niece boy girl +nephew niece brother sister +nephew niece brothers sisters +nephew niece dad mom +nephew niece father mother +nephew niece grandfather grandmother +nephew niece grandpa grandma +nephew niece grandson granddaughter +nephew niece groom bride +nephew niece he she +nephew niece his her +nephew niece husband wife +nephew niece king queen +nephew niece man woman +policeman policewoman prince princess +policeman policewoman son daughter +policeman policewoman sons daughters +policeman policewoman stepbrother stepsister +policeman policewoman stepfather stepmother +policeman policewoman stepson stepdaughter +policeman policewoman uncle aunt +policeman policewoman boy girl +policeman policewoman brother sister +policeman policewoman brothers sisters +policeman policewoman dad mom +policeman policewoman father mother +policeman policewoman grandfather grandmother +policeman policewoman grandpa grandma +policeman policewoman grandson granddaughter +policeman policewoman groom bride +policeman policewoman he she +policeman policewoman his her +policeman policewoman husband wife +policeman policewoman king queen +policeman policewoman man woman +policeman policewoman nephew niece +prince princess son daughter +prince princess sons daughters +prince princess stepbrother stepsister +prince princess stepfather stepmother +prince princess stepson stepdaughter +prince princess uncle aunt +prince princess boy girl +prince princess brother sister +prince princess brothers sisters +prince princess dad mom +prince princess father mother +prince princess grandfather grandmother +prince princess grandpa grandma +prince princess grandson granddaughter +prince princess groom bride +prince princess he she +prince princess his her +prince princess husband wife +prince princess king queen +prince princess man woman +prince princess nephew niece +prince princess policeman policewoman +son daughter sons daughters +son daughter stepbrother stepsister +son daughter stepfather stepmother +son daughter stepson stepdaughter +son daughter uncle aunt +son daughter boy girl +son daughter brother sister +son daughter brothers sisters +son daughter dad mom +son daughter father mother +son daughter grandfather grandmother +son daughter grandpa grandma +son daughter grandson granddaughter +son daughter groom bride +son daughter he she +son daughter his her +son daughter husband wife +son daughter king queen +son daughter man woman +son daughter nephew niece +son daughter policeman policewoman +son daughter prince princess +sons daughters stepbrother stepsister +sons daughters stepfather stepmother +sons daughters stepson stepdaughter +sons daughters uncle aunt +sons daughters boy girl +sons daughters brother sister +sons daughters brothers sisters +sons daughters dad mom +sons daughters father mother +sons daughters grandfather grandmother +sons daughters grandpa grandma +sons daughters grandson granddaughter +sons daughters groom bride +sons daughters he she +sons daughters his her +sons daughters husband wife +sons daughters king queen +sons daughters man woman +sons daughters nephew niece +sons daughters policeman policewoman +sons daughters prince princess +sons daughters son daughter +stepbrother stepsister stepfather stepmother +stepbrother stepsister stepson stepdaughter +stepbrother stepsister uncle aunt +stepbrother stepsister boy girl +stepbrother stepsister brother sister +stepbrother stepsister brothers sisters +stepbrother stepsister dad mom +stepbrother stepsister father mother +stepbrother stepsister grandfather grandmother +stepbrother stepsister grandpa grandma +stepbrother stepsister grandson granddaughter +stepbrother stepsister groom bride +stepbrother stepsister he she +stepbrother stepsister his her +stepbrother stepsister husband wife +stepbrother stepsister king queen +stepbrother stepsister man woman +stepbrother stepsister nephew niece +stepbrother stepsister policeman policewoman +stepbrother stepsister prince princess +stepbrother stepsister son daughter +stepbrother stepsister sons daughters +stepfather stepmother stepson stepdaughter +stepfather stepmother uncle aunt +stepfather stepmother boy girl +stepfather stepmother brother sister +stepfather stepmother brothers sisters +stepfather stepmother dad mom +stepfather stepmother father mother +stepfather stepmother grandfather grandmother +stepfather stepmother grandpa grandma +stepfather stepmother grandson granddaughter +stepfather stepmother groom bride +stepfather stepmother he she +stepfather stepmother his her +stepfather stepmother husband wife +stepfather stepmother king queen +stepfather stepmother man woman +stepfather stepmother nephew niece +stepfather stepmother policeman policewoman +stepfather stepmother prince princess +stepfather stepmother son daughter +stepfather stepmother sons daughters +stepfather stepmother stepbrother stepsister +stepson stepdaughter uncle aunt +stepson stepdaughter boy girl +stepson stepdaughter brother sister +stepson stepdaughter brothers sisters +stepson stepdaughter dad mom +stepson stepdaughter father mother +stepson stepdaughter grandfather grandmother +stepson stepdaughter grandpa grandma +stepson stepdaughter grandson granddaughter +stepson stepdaughter groom bride +stepson stepdaughter he she +stepson stepdaughter his her +stepson stepdaughter husband wife +stepson stepdaughter king queen +stepson stepdaughter man woman +stepson stepdaughter nephew niece +stepson stepdaughter policeman policewoman +stepson stepdaughter prince princess +stepson stepdaughter son daughter +stepson stepdaughter sons daughters +stepson stepdaughter stepbrother stepsister +stepson stepdaughter stepfather stepmother +uncle aunt boy girl +uncle aunt brother sister +uncle aunt brothers sisters +uncle aunt dad mom +uncle aunt father mother +uncle aunt grandfather grandmother +uncle aunt grandpa grandma +uncle aunt grandson granddaughter +uncle aunt groom bride +uncle aunt he she +uncle aunt his her +uncle aunt husband wife +uncle aunt king queen +uncle aunt man woman +uncle aunt nephew niece +uncle aunt policeman policewoman +uncle aunt prince princess +uncle aunt son daughter +uncle aunt sons daughters +uncle aunt stepbrother stepsister +uncle aunt stepfather stepmother +uncle aunt stepson stepdaughter +: gram1-adjective-to-adverb +amazing amazingly apparent apparently +amazing amazingly calm calmly +amazing amazingly cheerful cheerfully +amazing amazingly complete completely +amazing amazingly efficient efficiently +amazing amazingly fortunate fortunately +amazing amazingly free freely +amazing amazingly furious furiously +amazing amazingly happy happily +amazing amazingly immediate immediately +amazing amazingly infrequent infrequently +amazing amazingly lucky luckily +amazing amazingly most mostly +amazing amazingly obvious obviously +amazing amazingly occasional occasionally +amazing amazingly possible possibly +amazing amazingly precise precisely +amazing amazingly professional professionally +amazing amazingly quick quickly +amazing amazingly quiet quietly +amazing amazingly rapid rapidly +amazing amazingly rare rarely +amazing amazingly reluctant reluctantly +amazing amazingly safe safely +amazing amazingly serious seriously +amazing amazingly slow slowly +amazing amazingly sudden suddenly +amazing amazingly swift swiftly +amazing amazingly typical typically +amazing amazingly unfortunate unfortunately +amazing amazingly usual usually +apparent apparently calm calmly +apparent apparently cheerful cheerfully +apparent apparently complete completely +apparent apparently efficient efficiently +apparent apparently fortunate fortunately +apparent apparently free freely +apparent apparently furious furiously +apparent apparently happy happily +apparent apparently immediate immediately +apparent apparently infrequent infrequently +apparent apparently lucky luckily +apparent apparently most mostly +apparent apparently obvious obviously +apparent apparently occasional occasionally +apparent apparently possible possibly +apparent apparently precise precisely +apparent apparently professional professionally +apparent apparently quick quickly +apparent apparently quiet quietly +apparent apparently rapid rapidly +apparent apparently rare rarely +apparent apparently reluctant reluctantly +apparent apparently safe safely +apparent apparently serious seriously +apparent apparently slow slowly +apparent apparently sudden suddenly +apparent apparently swift swiftly +apparent apparently typical typically +apparent apparently unfortunate unfortunately +apparent apparently usual usually +apparent apparently amazing amazingly +calm calmly cheerful cheerfully +calm calmly complete completely +calm calmly efficient efficiently +calm calmly fortunate fortunately +calm calmly free freely +calm calmly furious furiously +calm calmly happy happily +calm calmly immediate immediately +calm calmly infrequent infrequently +calm calmly lucky luckily +calm calmly most mostly +calm calmly obvious obviously +calm calmly occasional occasionally +calm calmly possible possibly +calm calmly precise precisely +calm calmly professional professionally +calm calmly quick quickly +calm calmly quiet quietly +calm calmly rapid rapidly +calm calmly rare rarely +calm calmly reluctant reluctantly +calm calmly safe safely +calm calmly serious seriously +calm calmly slow slowly +calm calmly sudden suddenly +calm calmly swift swiftly +calm calmly typical typically +calm calmly unfortunate unfortunately +calm calmly usual usually +calm calmly amazing amazingly +calm calmly apparent apparently +cheerful cheerfully complete completely +cheerful cheerfully efficient efficiently +cheerful cheerfully fortunate fortunately +cheerful cheerfully free freely +cheerful cheerfully furious furiously +cheerful cheerfully happy happily +cheerful cheerfully immediate immediately +cheerful cheerfully infrequent infrequently +cheerful cheerfully lucky luckily +cheerful cheerfully most mostly +cheerful cheerfully obvious obviously +cheerful cheerfully occasional occasionally +cheerful cheerfully possible possibly +cheerful cheerfully precise precisely +cheerful cheerfully professional professionally +cheerful cheerfully quick quickly +cheerful cheerfully quiet quietly +cheerful cheerfully rapid rapidly +cheerful cheerfully rare rarely +cheerful cheerfully reluctant reluctantly +cheerful cheerfully safe safely +cheerful cheerfully serious seriously +cheerful cheerfully slow slowly +cheerful cheerfully sudden suddenly +cheerful cheerfully swift swiftly +cheerful cheerfully typical typically +cheerful cheerfully unfortunate unfortunately +cheerful cheerfully usual usually +cheerful cheerfully amazing amazingly +cheerful cheerfully apparent apparently +cheerful cheerfully calm calmly +complete completely efficient efficiently +complete completely fortunate fortunately +complete completely free freely +complete completely furious furiously +complete completely happy happily +complete completely immediate immediately +complete completely infrequent infrequently +complete completely lucky luckily +complete completely most mostly +complete completely obvious obviously +complete completely occasional occasionally +complete completely possible possibly +complete completely precise precisely +complete completely professional professionally +complete completely quick quickly +complete completely quiet quietly +complete completely rapid rapidly +complete completely rare rarely +complete completely reluctant reluctantly +complete completely safe safely +complete completely serious seriously +complete completely slow slowly +complete completely sudden suddenly +complete completely swift swiftly +complete completely typical typically +complete completely unfortunate unfortunately +complete completely usual usually +complete completely amazing amazingly +complete completely apparent apparently +complete completely calm calmly +complete completely cheerful cheerfully +efficient efficiently fortunate fortunately +efficient efficiently free freely +efficient efficiently furious furiously +efficient efficiently happy happily +efficient efficiently immediate immediately +efficient efficiently infrequent infrequently +efficient efficiently lucky luckily +efficient efficiently most mostly +efficient efficiently obvious obviously +efficient efficiently occasional occasionally +efficient efficiently possible possibly +efficient efficiently precise precisely +efficient efficiently professional professionally +efficient efficiently quick quickly +efficient efficiently quiet quietly +efficient efficiently rapid rapidly +efficient efficiently rare rarely +efficient efficiently reluctant reluctantly +efficient efficiently safe safely +efficient efficiently serious seriously +efficient efficiently slow slowly +efficient efficiently sudden suddenly +efficient efficiently swift swiftly +efficient efficiently typical typically +efficient efficiently unfortunate unfortunately +efficient efficiently usual usually +efficient efficiently amazing amazingly +efficient efficiently apparent apparently +efficient efficiently calm calmly +efficient efficiently cheerful cheerfully +efficient efficiently complete completely +fortunate fortunately free freely +fortunate fortunately furious furiously +fortunate fortunately happy happily +fortunate fortunately immediate immediately +fortunate fortunately infrequent infrequently +fortunate fortunately lucky luckily +fortunate fortunately most mostly +fortunate fortunately obvious obviously +fortunate fortunately occasional occasionally +fortunate fortunately possible possibly +fortunate fortunately precise precisely +fortunate fortunately professional professionally +fortunate fortunately quick quickly +fortunate fortunately quiet quietly +fortunate fortunately rapid rapidly +fortunate fortunately rare rarely +fortunate fortunately reluctant reluctantly +fortunate fortunately safe safely +fortunate fortunately serious seriously +fortunate fortunately slow slowly +fortunate fortunately sudden suddenly +fortunate fortunately swift swiftly +fortunate fortunately typical typically +fortunate fortunately unfortunate unfortunately +fortunate fortunately usual usually +fortunate fortunately amazing amazingly +fortunate fortunately apparent apparently +fortunate fortunately calm calmly +fortunate fortunately cheerful cheerfully +fortunate fortunately complete completely +fortunate fortunately efficient efficiently +free freely furious furiously +free freely happy happily +free freely immediate immediately +free freely infrequent infrequently +free freely lucky luckily +free freely most mostly +free freely obvious obviously +free freely occasional occasionally +free freely possible possibly +free freely precise precisely +free freely professional professionally +free freely quick quickly +free freely quiet quietly +free freely rapid rapidly +free freely rare rarely +free freely reluctant reluctantly +free freely safe safely +free freely serious seriously +free freely slow slowly +free freely sudden suddenly +free freely swift swiftly +free freely typical typically +free freely unfortunate unfortunately +free freely usual usually +free freely amazing amazingly +free freely apparent apparently +free freely calm calmly +free freely cheerful cheerfully +free freely complete completely +free freely efficient efficiently +free freely fortunate fortunately +furious furiously happy happily +furious furiously immediate immediately +furious furiously infrequent infrequently +furious furiously lucky luckily +furious furiously most mostly +furious furiously obvious obviously +furious furiously occasional occasionally +furious furiously possible possibly +furious furiously precise precisely +furious furiously professional professionally +furious furiously quick quickly +furious furiously quiet quietly +furious furiously rapid rapidly +furious furiously rare rarely +furious furiously reluctant reluctantly +furious furiously safe safely +furious furiously serious seriously +furious furiously slow slowly +furious furiously sudden suddenly +furious furiously swift swiftly +furious furiously typical typically +furious furiously unfortunate unfortunately +furious furiously usual usually +furious furiously amazing amazingly +furious furiously apparent apparently +furious furiously calm calmly +furious furiously cheerful cheerfully +furious furiously complete completely +furious furiously efficient efficiently +furious furiously fortunate fortunately +furious furiously free freely +happy happily immediate immediately +happy happily infrequent infrequently +happy happily lucky luckily +happy happily most mostly +happy happily obvious obviously +happy happily occasional occasionally +happy happily possible possibly +happy happily precise precisely +happy happily professional professionally +happy happily quick quickly +happy happily quiet quietly +happy happily rapid rapidly +happy happily rare rarely +happy happily reluctant reluctantly +happy happily safe safely +happy happily serious seriously +happy happily slow slowly +happy happily sudden suddenly +happy happily swift swiftly +happy happily typical typically +happy happily unfortunate unfortunately +happy happily usual usually +happy happily amazing amazingly +happy happily apparent apparently +happy happily calm calmly +happy happily cheerful cheerfully +happy happily complete completely +happy happily efficient efficiently +happy happily fortunate fortunately +happy happily free freely +happy happily furious furiously +immediate immediately infrequent infrequently +immediate immediately lucky luckily +immediate immediately most mostly +immediate immediately obvious obviously +immediate immediately occasional occasionally +immediate immediately possible possibly +immediate immediately precise precisely +immediate immediately professional professionally +immediate immediately quick quickly +immediate immediately quiet quietly +immediate immediately rapid rapidly +immediate immediately rare rarely +immediate immediately reluctant reluctantly +immediate immediately safe safely +immediate immediately serious seriously +immediate immediately slow slowly +immediate immediately sudden suddenly +immediate immediately swift swiftly +immediate immediately typical typically +immediate immediately unfortunate unfortunately +immediate immediately usual usually +immediate immediately amazing amazingly +immediate immediately apparent apparently +immediate immediately calm calmly +immediate immediately cheerful cheerfully +immediate immediately complete completely +immediate immediately efficient efficiently +immediate immediately fortunate fortunately +immediate immediately free freely +immediate immediately furious furiously +immediate immediately happy happily +infrequent infrequently lucky luckily +infrequent infrequently most mostly +infrequent infrequently obvious obviously +infrequent infrequently occasional occasionally +infrequent infrequently possible possibly +infrequent infrequently precise precisely +infrequent infrequently professional professionally +infrequent infrequently quick quickly +infrequent infrequently quiet quietly +infrequent infrequently rapid rapidly +infrequent infrequently rare rarely +infrequent infrequently reluctant reluctantly +infrequent infrequently safe safely +infrequent infrequently serious seriously +infrequent infrequently slow slowly +infrequent infrequently sudden suddenly +infrequent infrequently swift swiftly +infrequent infrequently typical typically +infrequent infrequently unfortunate unfortunately +infrequent infrequently usual usually +infrequent infrequently amazing amazingly +infrequent infrequently apparent apparently +infrequent infrequently calm calmly +infrequent infrequently cheerful cheerfully +infrequent infrequently complete completely +infrequent infrequently efficient efficiently +infrequent infrequently fortunate fortunately +infrequent infrequently free freely +infrequent infrequently furious furiously +infrequent infrequently happy happily +infrequent infrequently immediate immediately +lucky luckily most mostly +lucky luckily obvious obviously +lucky luckily occasional occasionally +lucky luckily possible possibly +lucky luckily precise precisely +lucky luckily professional professionally +lucky luckily quick quickly +lucky luckily quiet quietly +lucky luckily rapid rapidly +lucky luckily rare rarely +lucky luckily reluctant reluctantly +lucky luckily safe safely +lucky luckily serious seriously +lucky luckily slow slowly +lucky luckily sudden suddenly +lucky luckily swift swiftly +lucky luckily typical typically +lucky luckily unfortunate unfortunately +lucky luckily usual usually +lucky luckily amazing amazingly +lucky luckily apparent apparently +lucky luckily calm calmly +lucky luckily cheerful cheerfully +lucky luckily complete completely +lucky luckily efficient efficiently +lucky luckily fortunate fortunately +lucky luckily free freely +lucky luckily furious furiously +lucky luckily happy happily +lucky luckily immediate immediately +lucky luckily infrequent infrequently +most mostly obvious obviously +most mostly occasional occasionally +most mostly possible possibly +most mostly precise precisely +most mostly professional professionally +most mostly quick quickly +most mostly quiet quietly +most mostly rapid rapidly +most mostly rare rarely +most mostly reluctant reluctantly +most mostly safe safely +most mostly serious seriously +most mostly slow slowly +most mostly sudden suddenly +most mostly swift swiftly +most mostly typical typically +most mostly unfortunate unfortunately +most mostly usual usually +most mostly amazing amazingly +most mostly apparent apparently +most mostly calm calmly +most mostly cheerful cheerfully +most mostly complete completely +most mostly efficient efficiently +most mostly fortunate fortunately +most mostly free freely +most mostly furious furiously +most mostly happy happily +most mostly immediate immediately +most mostly infrequent infrequently +most mostly lucky luckily +obvious obviously occasional occasionally +obvious obviously possible possibly +obvious obviously precise precisely +obvious obviously professional professionally +obvious obviously quick quickly +obvious obviously quiet quietly +obvious obviously rapid rapidly +obvious obviously rare rarely +obvious obviously reluctant reluctantly +obvious obviously safe safely +obvious obviously serious seriously +obvious obviously slow slowly +obvious obviously sudden suddenly +obvious obviously swift swiftly +obvious obviously typical typically +obvious obviously unfortunate unfortunately +obvious obviously usual usually +obvious obviously amazing amazingly +obvious obviously apparent apparently +obvious obviously calm calmly +obvious obviously cheerful cheerfully +obvious obviously complete completely +obvious obviously efficient efficiently +obvious obviously fortunate fortunately +obvious obviously free freely +obvious obviously furious furiously +obvious obviously happy happily +obvious obviously immediate immediately +obvious obviously infrequent infrequently +obvious obviously lucky luckily +obvious obviously most mostly +occasional occasionally possible possibly +occasional occasionally precise precisely +occasional occasionally professional professionally +occasional occasionally quick quickly +occasional occasionally quiet quietly +occasional occasionally rapid rapidly +occasional occasionally rare rarely +occasional occasionally reluctant reluctantly +occasional occasionally safe safely +occasional occasionally serious seriously +occasional occasionally slow slowly +occasional occasionally sudden suddenly +occasional occasionally swift swiftly +occasional occasionally typical typically +occasional occasionally unfortunate unfortunately +occasional occasionally usual usually +occasional occasionally amazing amazingly +occasional occasionally apparent apparently +occasional occasionally calm calmly +occasional occasionally cheerful cheerfully +occasional occasionally complete completely +occasional occasionally efficient efficiently +occasional occasionally fortunate fortunately +occasional occasionally free freely +occasional occasionally furious furiously +occasional occasionally happy happily +occasional occasionally immediate immediately +occasional occasionally infrequent infrequently +occasional occasionally lucky luckily +occasional occasionally most mostly +occasional occasionally obvious obviously +possible possibly precise precisely +possible possibly professional professionally +possible possibly quick quickly +possible possibly quiet quietly +possible possibly rapid rapidly +possible possibly rare rarely +possible possibly reluctant reluctantly +possible possibly safe safely +possible possibly serious seriously +possible possibly slow slowly +possible possibly sudden suddenly +possible possibly swift swiftly +possible possibly typical typically +possible possibly unfortunate unfortunately +possible possibly usual usually +possible possibly amazing amazingly +possible possibly apparent apparently +possible possibly calm calmly +possible possibly cheerful cheerfully +possible possibly complete completely +possible possibly efficient efficiently +possible possibly fortunate fortunately +possible possibly free freely +possible possibly furious furiously +possible possibly happy happily +possible possibly immediate immediately +possible possibly infrequent infrequently +possible possibly lucky luckily +possible possibly most mostly +possible possibly obvious obviously +possible possibly occasional occasionally +precise precisely professional professionally +precise precisely quick quickly +precise precisely quiet quietly +precise precisely rapid rapidly +precise precisely rare rarely +precise precisely reluctant reluctantly +precise precisely safe safely +precise precisely serious seriously +precise precisely slow slowly +precise precisely sudden suddenly +precise precisely swift swiftly +precise precisely typical typically +precise precisely unfortunate unfortunately +precise precisely usual usually +precise precisely amazing amazingly +precise precisely apparent apparently +precise precisely calm calmly +precise precisely cheerful cheerfully +precise precisely complete completely +precise precisely efficient efficiently +precise precisely fortunate fortunately +precise precisely free freely +precise precisely furious furiously +precise precisely happy happily +precise precisely immediate immediately +precise precisely infrequent infrequently +precise precisely lucky luckily +precise precisely most mostly +precise precisely obvious obviously +precise precisely occasional occasionally +precise precisely possible possibly +professional professionally quick quickly +professional professionally quiet quietly +professional professionally rapid rapidly +professional professionally rare rarely +professional professionally reluctant reluctantly +professional professionally safe safely +professional professionally serious seriously +professional professionally slow slowly +professional professionally sudden suddenly +professional professionally swift swiftly +professional professionally typical typically +professional professionally unfortunate unfortunately +professional professionally usual usually +professional professionally amazing amazingly +professional professionally apparent apparently +professional professionally calm calmly +professional professionally cheerful cheerfully +professional professionally complete completely +professional professionally efficient efficiently +professional professionally fortunate fortunately +professional professionally free freely +professional professionally furious furiously +professional professionally happy happily +professional professionally immediate immediately +professional professionally infrequent infrequently +professional professionally lucky luckily +professional professionally most mostly +professional professionally obvious obviously +professional professionally occasional occasionally +professional professionally possible possibly +professional professionally precise precisely +quick quickly quiet quietly +quick quickly rapid rapidly +quick quickly rare rarely +quick quickly reluctant reluctantly +quick quickly safe safely +quick quickly serious seriously +quick quickly slow slowly +quick quickly sudden suddenly +quick quickly swift swiftly +quick quickly typical typically +quick quickly unfortunate unfortunately +quick quickly usual usually +quick quickly amazing amazingly +quick quickly apparent apparently +quick quickly calm calmly +quick quickly cheerful cheerfully +quick quickly complete completely +quick quickly efficient efficiently +quick quickly fortunate fortunately +quick quickly free freely +quick quickly furious furiously +quick quickly happy happily +quick quickly immediate immediately +quick quickly infrequent infrequently +quick quickly lucky luckily +quick quickly most mostly +quick quickly obvious obviously +quick quickly occasional occasionally +quick quickly possible possibly +quick quickly precise precisely +quick quickly professional professionally +quiet quietly rapid rapidly +quiet quietly rare rarely +quiet quietly reluctant reluctantly +quiet quietly safe safely +quiet quietly serious seriously +quiet quietly slow slowly +quiet quietly sudden suddenly +quiet quietly swift swiftly +quiet quietly typical typically +quiet quietly unfortunate unfortunately +quiet quietly usual usually +quiet quietly amazing amazingly +quiet quietly apparent apparently +quiet quietly calm calmly +quiet quietly cheerful cheerfully +quiet quietly complete completely +quiet quietly efficient efficiently +quiet quietly fortunate fortunately +quiet quietly free freely +quiet quietly furious furiously +quiet quietly happy happily +quiet quietly immediate immediately +quiet quietly infrequent infrequently +quiet quietly lucky luckily +quiet quietly most mostly +quiet quietly obvious obviously +quiet quietly occasional occasionally +quiet quietly possible possibly +quiet quietly precise precisely +quiet quietly professional professionally +quiet quietly quick quickly +rapid rapidly rare rarely +rapid rapidly reluctant reluctantly +rapid rapidly safe safely +rapid rapidly serious seriously +rapid rapidly slow slowly +rapid rapidly sudden suddenly +rapid rapidly swift swiftly +rapid rapidly typical typically +rapid rapidly unfortunate unfortunately +rapid rapidly usual usually +rapid rapidly amazing amazingly +rapid rapidly apparent apparently +rapid rapidly calm calmly +rapid rapidly cheerful cheerfully +rapid rapidly complete completely +rapid rapidly efficient efficiently +rapid rapidly fortunate fortunately +rapid rapidly free freely +rapid rapidly furious furiously +rapid rapidly happy happily +rapid rapidly immediate immediately +rapid rapidly infrequent infrequently +rapid rapidly lucky luckily +rapid rapidly most mostly +rapid rapidly obvious obviously +rapid rapidly occasional occasionally +rapid rapidly possible possibly +rapid rapidly precise precisely +rapid rapidly professional professionally +rapid rapidly quick quickly +rapid rapidly quiet quietly +rare rarely reluctant reluctantly +rare rarely safe safely +rare rarely serious seriously +rare rarely slow slowly +rare rarely sudden suddenly +rare rarely swift swiftly +rare rarely typical typically +rare rarely unfortunate unfortunately +rare rarely usual usually +rare rarely amazing amazingly +rare rarely apparent apparently +rare rarely calm calmly +rare rarely cheerful cheerfully +rare rarely complete completely +rare rarely efficient efficiently +rare rarely fortunate fortunately +rare rarely free freely +rare rarely furious furiously +rare rarely happy happily +rare rarely immediate immediately +rare rarely infrequent infrequently +rare rarely lucky luckily +rare rarely most mostly +rare rarely obvious obviously +rare rarely occasional occasionally +rare rarely possible possibly +rare rarely precise precisely +rare rarely professional professionally +rare rarely quick quickly +rare rarely quiet quietly +rare rarely rapid rapidly +reluctant reluctantly safe safely +reluctant reluctantly serious seriously +reluctant reluctantly slow slowly +reluctant reluctantly sudden suddenly +reluctant reluctantly swift swiftly +reluctant reluctantly typical typically +reluctant reluctantly unfortunate unfortunately +reluctant reluctantly usual usually +reluctant reluctantly amazing amazingly +reluctant reluctantly apparent apparently +reluctant reluctantly calm calmly +reluctant reluctantly cheerful cheerfully +reluctant reluctantly complete completely +reluctant reluctantly efficient efficiently +reluctant reluctantly fortunate fortunately +reluctant reluctantly free freely +reluctant reluctantly furious furiously +reluctant reluctantly happy happily +reluctant reluctantly immediate immediately +reluctant reluctantly infrequent infrequently +reluctant reluctantly lucky luckily +reluctant reluctantly most mostly +reluctant reluctantly obvious obviously +reluctant reluctantly occasional occasionally +reluctant reluctantly possible possibly +reluctant reluctantly precise precisely +reluctant reluctantly professional professionally +reluctant reluctantly quick quickly +reluctant reluctantly quiet quietly +reluctant reluctantly rapid rapidly +reluctant reluctantly rare rarely +safe safely serious seriously +safe safely slow slowly +safe safely sudden suddenly +safe safely swift swiftly +safe safely typical typically +safe safely unfortunate unfortunately +safe safely usual usually +safe safely amazing amazingly +safe safely apparent apparently +safe safely calm calmly +safe safely cheerful cheerfully +safe safely complete completely +safe safely efficient efficiently +safe safely fortunate fortunately +safe safely free freely +safe safely furious furiously +safe safely happy happily +safe safely immediate immediately +safe safely infrequent infrequently +safe safely lucky luckily +safe safely most mostly +safe safely obvious obviously +safe safely occasional occasionally +safe safely possible possibly +safe safely precise precisely +safe safely professional professionally +safe safely quick quickly +safe safely quiet quietly +safe safely rapid rapidly +safe safely rare rarely +safe safely reluctant reluctantly +serious seriously slow slowly +serious seriously sudden suddenly +serious seriously swift swiftly +serious seriously typical typically +serious seriously unfortunate unfortunately +serious seriously usual usually +serious seriously amazing amazingly +serious seriously apparent apparently +serious seriously calm calmly +serious seriously cheerful cheerfully +serious seriously complete completely +serious seriously efficient efficiently +serious seriously fortunate fortunately +serious seriously free freely +serious seriously furious furiously +serious seriously happy happily +serious seriously immediate immediately +serious seriously infrequent infrequently +serious seriously lucky luckily +serious seriously most mostly +serious seriously obvious obviously +serious seriously occasional occasionally +serious seriously possible possibly +serious seriously precise precisely +serious seriously professional professionally +serious seriously quick quickly +serious seriously quiet quietly +serious seriously rapid rapidly +serious seriously rare rarely +serious seriously reluctant reluctantly +serious seriously safe safely +slow slowly sudden suddenly +slow slowly swift swiftly +slow slowly typical typically +slow slowly unfortunate unfortunately +slow slowly usual usually +slow slowly amazing amazingly +slow slowly apparent apparently +slow slowly calm calmly +slow slowly cheerful cheerfully +slow slowly complete completely +slow slowly efficient efficiently +slow slowly fortunate fortunately +slow slowly free freely +slow slowly furious furiously +slow slowly happy happily +slow slowly immediate immediately +slow slowly infrequent infrequently +slow slowly lucky luckily +slow slowly most mostly +slow slowly obvious obviously +slow slowly occasional occasionally +slow slowly possible possibly +slow slowly precise precisely +slow slowly professional professionally +slow slowly quick quickly +slow slowly quiet quietly +slow slowly rapid rapidly +slow slowly rare rarely +slow slowly reluctant reluctantly +slow slowly safe safely +slow slowly serious seriously +sudden suddenly swift swiftly +sudden suddenly typical typically +sudden suddenly unfortunate unfortunately +sudden suddenly usual usually +sudden suddenly amazing amazingly +sudden suddenly apparent apparently +sudden suddenly calm calmly +sudden suddenly cheerful cheerfully +sudden suddenly complete completely +sudden suddenly efficient efficiently +sudden suddenly fortunate fortunately +sudden suddenly free freely +sudden suddenly furious furiously +sudden suddenly happy happily +sudden suddenly immediate immediately +sudden suddenly infrequent infrequently +sudden suddenly lucky luckily +sudden suddenly most mostly +sudden suddenly obvious obviously +sudden suddenly occasional occasionally +sudden suddenly possible possibly +sudden suddenly precise precisely +sudden suddenly professional professionally +sudden suddenly quick quickly +sudden suddenly quiet quietly +sudden suddenly rapid rapidly +sudden suddenly rare rarely +sudden suddenly reluctant reluctantly +sudden suddenly safe safely +sudden suddenly serious seriously +sudden suddenly slow slowly +swift swiftly typical typically +swift swiftly unfortunate unfortunately +swift swiftly usual usually +swift swiftly amazing amazingly +swift swiftly apparent apparently +swift swiftly calm calmly +swift swiftly cheerful cheerfully +swift swiftly complete completely +swift swiftly efficient efficiently +swift swiftly fortunate fortunately +swift swiftly free freely +swift swiftly furious furiously +swift swiftly happy happily +swift swiftly immediate immediately +swift swiftly infrequent infrequently +swift swiftly lucky luckily +swift swiftly most mostly +swift swiftly obvious obviously +swift swiftly occasional occasionally +swift swiftly possible possibly +swift swiftly precise precisely +swift swiftly professional professionally +swift swiftly quick quickly +swift swiftly quiet quietly +swift swiftly rapid rapidly +swift swiftly rare rarely +swift swiftly reluctant reluctantly +swift swiftly safe safely +swift swiftly serious seriously +swift swiftly slow slowly +swift swiftly sudden suddenly +typical typically unfortunate unfortunately +typical typically usual usually +typical typically amazing amazingly +typical typically apparent apparently +typical typically calm calmly +typical typically cheerful cheerfully +typical typically complete completely +typical typically efficient efficiently +typical typically fortunate fortunately +typical typically free freely +typical typically furious furiously +typical typically happy happily +typical typically immediate immediately +typical typically infrequent infrequently +typical typically lucky luckily +typical typically most mostly +typical typically obvious obviously +typical typically occasional occasionally +typical typically possible possibly +typical typically precise precisely +typical typically professional professionally +typical typically quick quickly +typical typically quiet quietly +typical typically rapid rapidly +typical typically rare rarely +typical typically reluctant reluctantly +typical typically safe safely +typical typically serious seriously +typical typically slow slowly +typical typically sudden suddenly +typical typically swift swiftly +unfortunate unfortunately usual usually +unfortunate unfortunately amazing amazingly +unfortunate unfortunately apparent apparently +unfortunate unfortunately calm calmly +unfortunate unfortunately cheerful cheerfully +unfortunate unfortunately complete completely +unfortunate unfortunately efficient efficiently +unfortunate unfortunately fortunate fortunately +unfortunate unfortunately free freely +unfortunate unfortunately furious furiously +unfortunate unfortunately happy happily +unfortunate unfortunately immediate immediately +unfortunate unfortunately infrequent infrequently +unfortunate unfortunately lucky luckily +unfortunate unfortunately most mostly +unfortunate unfortunately obvious obviously +unfortunate unfortunately occasional occasionally +unfortunate unfortunately possible possibly +unfortunate unfortunately precise precisely +unfortunate unfortunately professional professionally +unfortunate unfortunately quick quickly +unfortunate unfortunately quiet quietly +unfortunate unfortunately rapid rapidly +unfortunate unfortunately rare rarely +unfortunate unfortunately reluctant reluctantly +unfortunate unfortunately safe safely +unfortunate unfortunately serious seriously +unfortunate unfortunately slow slowly +unfortunate unfortunately sudden suddenly +unfortunate unfortunately swift swiftly +unfortunate unfortunately typical typically +usual usually amazing amazingly +usual usually apparent apparently +usual usually calm calmly +usual usually cheerful cheerfully +usual usually complete completely +usual usually efficient efficiently +usual usually fortunate fortunately +usual usually free freely +usual usually furious furiously +usual usually happy happily +usual usually immediate immediately +usual usually infrequent infrequently +usual usually lucky luckily +usual usually most mostly +usual usually obvious obviously +usual usually occasional occasionally +usual usually possible possibly +usual usually precise precisely +usual usually professional professionally +usual usually quick quickly +usual usually quiet quietly +usual usually rapid rapidly +usual usually rare rarely +usual usually reluctant reluctantly +usual usually safe safely +usual usually serious seriously +usual usually slow slowly +usual usually sudden suddenly +usual usually swift swiftly +usual usually typical typically +usual usually unfortunate unfortunately +: gram2-opposite +acceptable unacceptable aware unaware +acceptable unacceptable certain uncertain +acceptable unacceptable clear unclear +acceptable unacceptable comfortable uncomfortable +acceptable unacceptable competitive uncompetitive +acceptable unacceptable consistent inconsistent +acceptable unacceptable convincing unconvincing +acceptable unacceptable convenient inconvenient +acceptable unacceptable decided undecided +acceptable unacceptable efficient inefficient +acceptable unacceptable ethical unethical +acceptable unacceptable fortunate unfortunate +acceptable unacceptable honest dishonest +acceptable unacceptable impressive unimpressive +acceptable unacceptable informative uninformative +acceptable unacceptable informed uninformed +acceptable unacceptable known unknown +acceptable unacceptable likely unlikely +acceptable unacceptable logical illogical +acceptable unacceptable pleasant unpleasant +acceptable unacceptable possible impossible +acceptable unacceptable possibly impossibly +acceptable unacceptable productive unproductive +acceptable unacceptable rational irrational +acceptable unacceptable reasonable unreasonable +acceptable unacceptable responsible irresponsible +acceptable unacceptable sure unsure +acceptable unacceptable tasteful distasteful +aware unaware certain uncertain +aware unaware clear unclear +aware unaware comfortable uncomfortable +aware unaware competitive uncompetitive +aware unaware consistent inconsistent +aware unaware convincing unconvincing +aware unaware convenient inconvenient +aware unaware decided undecided +aware unaware efficient inefficient +aware unaware ethical unethical +aware unaware fortunate unfortunate +aware unaware honest dishonest +aware unaware impressive unimpressive +aware unaware informative uninformative +aware unaware informed uninformed +aware unaware known unknown +aware unaware likely unlikely +aware unaware logical illogical +aware unaware pleasant unpleasant +aware unaware possible impossible +aware unaware possibly impossibly +aware unaware productive unproductive +aware unaware rational irrational +aware unaware reasonable unreasonable +aware unaware responsible irresponsible +aware unaware sure unsure +aware unaware tasteful distasteful +aware unaware acceptable unacceptable +certain uncertain clear unclear +certain uncertain comfortable uncomfortable +certain uncertain competitive uncompetitive +certain uncertain consistent inconsistent +certain uncertain convincing unconvincing +certain uncertain convenient inconvenient +certain uncertain decided undecided +certain uncertain efficient inefficient +certain uncertain ethical unethical +certain uncertain fortunate unfortunate +certain uncertain honest dishonest +certain uncertain impressive unimpressive +certain uncertain informative uninformative +certain uncertain informed uninformed +certain uncertain known unknown +certain uncertain likely unlikely +certain uncertain logical illogical +certain uncertain pleasant unpleasant +certain uncertain possible impossible +certain uncertain possibly impossibly +certain uncertain productive unproductive +certain uncertain rational irrational +certain uncertain reasonable unreasonable +certain uncertain responsible irresponsible +certain uncertain sure unsure +certain uncertain tasteful distasteful +certain uncertain acceptable unacceptable +certain uncertain aware unaware +clear unclear comfortable uncomfortable +clear unclear competitive uncompetitive +clear unclear consistent inconsistent +clear unclear convincing unconvincing +clear unclear convenient inconvenient +clear unclear decided undecided +clear unclear efficient inefficient +clear unclear ethical unethical +clear unclear fortunate unfortunate +clear unclear honest dishonest +clear unclear impressive unimpressive +clear unclear informative uninformative +clear unclear informed uninformed +clear unclear known unknown +clear unclear likely unlikely +clear unclear logical illogical +clear unclear pleasant unpleasant +clear unclear possible impossible +clear unclear possibly impossibly +clear unclear productive unproductive +clear unclear rational irrational +clear unclear reasonable unreasonable +clear unclear responsible irresponsible +clear unclear sure unsure +clear unclear tasteful distasteful +clear unclear acceptable unacceptable +clear unclear aware unaware +clear unclear certain uncertain +comfortable uncomfortable competitive uncompetitive +comfortable uncomfortable consistent inconsistent +comfortable uncomfortable convincing unconvincing +comfortable uncomfortable convenient inconvenient +comfortable uncomfortable decided undecided +comfortable uncomfortable efficient inefficient +comfortable uncomfortable ethical unethical +comfortable uncomfortable fortunate unfortunate +comfortable uncomfortable honest dishonest +comfortable uncomfortable impressive unimpressive +comfortable uncomfortable informative uninformative +comfortable uncomfortable informed uninformed +comfortable uncomfortable known unknown +comfortable uncomfortable likely unlikely +comfortable uncomfortable logical illogical +comfortable uncomfortable pleasant unpleasant +comfortable uncomfortable possible impossible +comfortable uncomfortable possibly impossibly +comfortable uncomfortable productive unproductive +comfortable uncomfortable rational irrational +comfortable uncomfortable reasonable unreasonable +comfortable uncomfortable responsible irresponsible +comfortable uncomfortable sure unsure +comfortable uncomfortable tasteful distasteful +comfortable uncomfortable acceptable unacceptable +comfortable uncomfortable aware unaware +comfortable uncomfortable certain uncertain +comfortable uncomfortable clear unclear +competitive uncompetitive consistent inconsistent +competitive uncompetitive convincing unconvincing +competitive uncompetitive convenient inconvenient +competitive uncompetitive decided undecided +competitive uncompetitive efficient inefficient +competitive uncompetitive ethical unethical +competitive uncompetitive fortunate unfortunate +competitive uncompetitive honest dishonest +competitive uncompetitive impressive unimpressive +competitive uncompetitive informative uninformative +competitive uncompetitive informed uninformed +competitive uncompetitive known unknown +competitive uncompetitive likely unlikely +competitive uncompetitive logical illogical +competitive uncompetitive pleasant unpleasant +competitive uncompetitive possible impossible +competitive uncompetitive possibly impossibly +competitive uncompetitive productive unproductive +competitive uncompetitive rational irrational +competitive uncompetitive reasonable unreasonable +competitive uncompetitive responsible irresponsible +competitive uncompetitive sure unsure +competitive uncompetitive tasteful distasteful +competitive uncompetitive acceptable unacceptable +competitive uncompetitive aware unaware +competitive uncompetitive certain uncertain +competitive uncompetitive clear unclear +competitive uncompetitive comfortable uncomfortable +consistent inconsistent convincing unconvincing +consistent inconsistent convenient inconvenient +consistent inconsistent decided undecided +consistent inconsistent efficient inefficient +consistent inconsistent ethical unethical +consistent inconsistent fortunate unfortunate +consistent inconsistent honest dishonest +consistent inconsistent impressive unimpressive +consistent inconsistent informative uninformative +consistent inconsistent informed uninformed +consistent inconsistent known unknown +consistent inconsistent likely unlikely +consistent inconsistent logical illogical +consistent inconsistent pleasant unpleasant +consistent inconsistent possible impossible +consistent inconsistent possibly impossibly +consistent inconsistent productive unproductive +consistent inconsistent rational irrational +consistent inconsistent reasonable unreasonable +consistent inconsistent responsible irresponsible +consistent inconsistent sure unsure +consistent inconsistent tasteful distasteful +consistent inconsistent acceptable unacceptable +consistent inconsistent aware unaware +consistent inconsistent certain uncertain +consistent inconsistent clear unclear +consistent inconsistent comfortable uncomfortable +consistent inconsistent competitive uncompetitive +convincing unconvincing convenient inconvenient +convincing unconvincing decided undecided +convincing unconvincing efficient inefficient +convincing unconvincing ethical unethical +convincing unconvincing fortunate unfortunate +convincing unconvincing honest dishonest +convincing unconvincing impressive unimpressive +convincing unconvincing informative uninformative +convincing unconvincing informed uninformed +convincing unconvincing known unknown +convincing unconvincing likely unlikely +convincing unconvincing logical illogical +convincing unconvincing pleasant unpleasant +convincing unconvincing possible impossible +convincing unconvincing possibly impossibly +convincing unconvincing productive unproductive +convincing unconvincing rational irrational +convincing unconvincing reasonable unreasonable +convincing unconvincing responsible irresponsible +convincing unconvincing sure unsure +convincing unconvincing tasteful distasteful +convincing unconvincing acceptable unacceptable +convincing unconvincing aware unaware +convincing unconvincing certain uncertain +convincing unconvincing clear unclear +convincing unconvincing comfortable uncomfortable +convincing unconvincing competitive uncompetitive +convincing unconvincing consistent inconsistent +convenient inconvenient decided undecided +convenient inconvenient efficient inefficient +convenient inconvenient ethical unethical +convenient inconvenient fortunate unfortunate +convenient inconvenient honest dishonest +convenient inconvenient impressive unimpressive +convenient inconvenient informative uninformative +convenient inconvenient informed uninformed +convenient inconvenient known unknown +convenient inconvenient likely unlikely +convenient inconvenient logical illogical +convenient inconvenient pleasant unpleasant +convenient inconvenient possible impossible +convenient inconvenient possibly impossibly +convenient inconvenient productive unproductive +convenient inconvenient rational irrational +convenient inconvenient reasonable unreasonable +convenient inconvenient responsible irresponsible +convenient inconvenient sure unsure +convenient inconvenient tasteful distasteful +convenient inconvenient acceptable unacceptable +convenient inconvenient aware unaware +convenient inconvenient certain uncertain +convenient inconvenient clear unclear +convenient inconvenient comfortable uncomfortable +convenient inconvenient competitive uncompetitive +convenient inconvenient consistent inconsistent +convenient inconvenient convincing unconvincing +decided undecided efficient inefficient +decided undecided ethical unethical +decided undecided fortunate unfortunate +decided undecided honest dishonest +decided undecided impressive unimpressive +decided undecided informative uninformative +decided undecided informed uninformed +decided undecided known unknown +decided undecided likely unlikely +decided undecided logical illogical +decided undecided pleasant unpleasant +decided undecided possible impossible +decided undecided possibly impossibly +decided undecided productive unproductive +decided undecided rational irrational +decided undecided reasonable unreasonable +decided undecided responsible irresponsible +decided undecided sure unsure +decided undecided tasteful distasteful +decided undecided acceptable unacceptable +decided undecided aware unaware +decided undecided certain uncertain +decided undecided clear unclear +decided undecided comfortable uncomfortable +decided undecided competitive uncompetitive +decided undecided consistent inconsistent +decided undecided convincing unconvincing +decided undecided convenient inconvenient +efficient inefficient ethical unethical +efficient inefficient fortunate unfortunate +efficient inefficient honest dishonest +efficient inefficient impressive unimpressive +efficient inefficient informative uninformative +efficient inefficient informed uninformed +efficient inefficient known unknown +efficient inefficient likely unlikely +efficient inefficient logical illogical +efficient inefficient pleasant unpleasant +efficient inefficient possible impossible +efficient inefficient possibly impossibly +efficient inefficient productive unproductive +efficient inefficient rational irrational +efficient inefficient reasonable unreasonable +efficient inefficient responsible irresponsible +efficient inefficient sure unsure +efficient inefficient tasteful distasteful +efficient inefficient acceptable unacceptable +efficient inefficient aware unaware +efficient inefficient certain uncertain +efficient inefficient clear unclear +efficient inefficient comfortable uncomfortable +efficient inefficient competitive uncompetitive +efficient inefficient consistent inconsistent +efficient inefficient convincing unconvincing +efficient inefficient convenient inconvenient +efficient inefficient decided undecided +ethical unethical fortunate unfortunate +ethical unethical honest dishonest +ethical unethical impressive unimpressive +ethical unethical informative uninformative +ethical unethical informed uninformed +ethical unethical known unknown +ethical unethical likely unlikely +ethical unethical logical illogical +ethical unethical pleasant unpleasant +ethical unethical possible impossible +ethical unethical possibly impossibly +ethical unethical productive unproductive +ethical unethical rational irrational +ethical unethical reasonable unreasonable +ethical unethical responsible irresponsible +ethical unethical sure unsure +ethical unethical tasteful distasteful +ethical unethical acceptable unacceptable +ethical unethical aware unaware +ethical unethical certain uncertain +ethical unethical clear unclear +ethical unethical comfortable uncomfortable +ethical unethical competitive uncompetitive +ethical unethical consistent inconsistent +ethical unethical convincing unconvincing +ethical unethical convenient inconvenient +ethical unethical decided undecided +ethical unethical efficient inefficient +fortunate unfortunate honest dishonest +fortunate unfortunate impressive unimpressive +fortunate unfortunate informative uninformative +fortunate unfortunate informed uninformed +fortunate unfortunate known unknown +fortunate unfortunate likely unlikely +fortunate unfortunate logical illogical +fortunate unfortunate pleasant unpleasant +fortunate unfortunate possible impossible +fortunate unfortunate possibly impossibly +fortunate unfortunate productive unproductive +fortunate unfortunate rational irrational +fortunate unfortunate reasonable unreasonable +fortunate unfortunate responsible irresponsible +fortunate unfortunate sure unsure +fortunate unfortunate tasteful distasteful +fortunate unfortunate acceptable unacceptable +fortunate unfortunate aware unaware +fortunate unfortunate certain uncertain +fortunate unfortunate clear unclear +fortunate unfortunate comfortable uncomfortable +fortunate unfortunate competitive uncompetitive +fortunate unfortunate consistent inconsistent +fortunate unfortunate convincing unconvincing +fortunate unfortunate convenient inconvenient +fortunate unfortunate decided undecided +fortunate unfortunate efficient inefficient +fortunate unfortunate ethical unethical +honest dishonest impressive unimpressive +honest dishonest informative uninformative +honest dishonest informed uninformed +honest dishonest known unknown +honest dishonest likely unlikely +honest dishonest logical illogical +honest dishonest pleasant unpleasant +honest dishonest possible impossible +honest dishonest possibly impossibly +honest dishonest productive unproductive +honest dishonest rational irrational +honest dishonest reasonable unreasonable +honest dishonest responsible irresponsible +honest dishonest sure unsure +honest dishonest tasteful distasteful +honest dishonest acceptable unacceptable +honest dishonest aware unaware +honest dishonest certain uncertain +honest dishonest clear unclear +honest dishonest comfortable uncomfortable +honest dishonest competitive uncompetitive +honest dishonest consistent inconsistent +honest dishonest convincing unconvincing +honest dishonest convenient inconvenient +honest dishonest decided undecided +honest dishonest efficient inefficient +honest dishonest ethical unethical +honest dishonest fortunate unfortunate +impressive unimpressive informative uninformative +impressive unimpressive informed uninformed +impressive unimpressive known unknown +impressive unimpressive likely unlikely +impressive unimpressive logical illogical +impressive unimpressive pleasant unpleasant +impressive unimpressive possible impossible +impressive unimpressive possibly impossibly +impressive unimpressive productive unproductive +impressive unimpressive rational irrational +impressive unimpressive reasonable unreasonable +impressive unimpressive responsible irresponsible +impressive unimpressive sure unsure +impressive unimpressive tasteful distasteful +impressive unimpressive acceptable unacceptable +impressive unimpressive aware unaware +impressive unimpressive certain uncertain +impressive unimpressive clear unclear +impressive unimpressive comfortable uncomfortable +impressive unimpressive competitive uncompetitive +impressive unimpressive consistent inconsistent +impressive unimpressive convincing unconvincing +impressive unimpressive convenient inconvenient +impressive unimpressive decided undecided +impressive unimpressive efficient inefficient +impressive unimpressive ethical unethical +impressive unimpressive fortunate unfortunate +impressive unimpressive honest dishonest +informative uninformative informed uninformed +informative uninformative known unknown +informative uninformative likely unlikely +informative uninformative logical illogical +informative uninformative pleasant unpleasant +informative uninformative possible impossible +informative uninformative possibly impossibly +informative uninformative productive unproductive +informative uninformative rational irrational +informative uninformative reasonable unreasonable +informative uninformative responsible irresponsible +informative uninformative sure unsure +informative uninformative tasteful distasteful +informative uninformative acceptable unacceptable +informative uninformative aware unaware +informative uninformative certain uncertain +informative uninformative clear unclear +informative uninformative comfortable uncomfortable +informative uninformative competitive uncompetitive +informative uninformative consistent inconsistent +informative uninformative convincing unconvincing +informative uninformative convenient inconvenient +informative uninformative decided undecided +informative uninformative efficient inefficient +informative uninformative ethical unethical +informative uninformative fortunate unfortunate +informative uninformative honest dishonest +informative uninformative impressive unimpressive +informed uninformed known unknown +informed uninformed likely unlikely +informed uninformed logical illogical +informed uninformed pleasant unpleasant +informed uninformed possible impossible +informed uninformed possibly impossibly +informed uninformed productive unproductive +informed uninformed rational irrational +informed uninformed reasonable unreasonable +informed uninformed responsible irresponsible +informed uninformed sure unsure +informed uninformed tasteful distasteful +informed uninformed acceptable unacceptable +informed uninformed aware unaware +informed uninformed certain uncertain +informed uninformed clear unclear +informed uninformed comfortable uncomfortable +informed uninformed competitive uncompetitive +informed uninformed consistent inconsistent +informed uninformed convincing unconvincing +informed uninformed convenient inconvenient +informed uninformed decided undecided +informed uninformed efficient inefficient +informed uninformed ethical unethical +informed uninformed fortunate unfortunate +informed uninformed honest dishonest +informed uninformed impressive unimpressive +informed uninformed informative uninformative +known unknown likely unlikely +known unknown logical illogical +known unknown pleasant unpleasant +known unknown possible impossible +known unknown possibly impossibly +known unknown productive unproductive +known unknown rational irrational +known unknown reasonable unreasonable +known unknown responsible irresponsible +known unknown sure unsure +known unknown tasteful distasteful +known unknown acceptable unacceptable +known unknown aware unaware +known unknown certain uncertain +known unknown clear unclear +known unknown comfortable uncomfortable +known unknown competitive uncompetitive +known unknown consistent inconsistent +known unknown convincing unconvincing +known unknown convenient inconvenient +known unknown decided undecided +known unknown efficient inefficient +known unknown ethical unethical +known unknown fortunate unfortunate +known unknown honest dishonest +known unknown impressive unimpressive +known unknown informative uninformative +known unknown informed uninformed +likely unlikely logical illogical +likely unlikely pleasant unpleasant +likely unlikely possible impossible +likely unlikely possibly impossibly +likely unlikely productive unproductive +likely unlikely rational irrational +likely unlikely reasonable unreasonable +likely unlikely responsible irresponsible +likely unlikely sure unsure +likely unlikely tasteful distasteful +likely unlikely acceptable unacceptable +likely unlikely aware unaware +likely unlikely certain uncertain +likely unlikely clear unclear +likely unlikely comfortable uncomfortable +likely unlikely competitive uncompetitive +likely unlikely consistent inconsistent +likely unlikely convincing unconvincing +likely unlikely convenient inconvenient +likely unlikely decided undecided +likely unlikely efficient inefficient +likely unlikely ethical unethical +likely unlikely fortunate unfortunate +likely unlikely honest dishonest +likely unlikely impressive unimpressive +likely unlikely informative uninformative +likely unlikely informed uninformed +likely unlikely known unknown +logical illogical pleasant unpleasant +logical illogical possible impossible +logical illogical possibly impossibly +logical illogical productive unproductive +logical illogical rational irrational +logical illogical reasonable unreasonable +logical illogical responsible irresponsible +logical illogical sure unsure +logical illogical tasteful distasteful +logical illogical acceptable unacceptable +logical illogical aware unaware +logical illogical certain uncertain +logical illogical clear unclear +logical illogical comfortable uncomfortable +logical illogical competitive uncompetitive +logical illogical consistent inconsistent +logical illogical convincing unconvincing +logical illogical convenient inconvenient +logical illogical decided undecided +logical illogical efficient inefficient +logical illogical ethical unethical +logical illogical fortunate unfortunate +logical illogical honest dishonest +logical illogical impressive unimpressive +logical illogical informative uninformative +logical illogical informed uninformed +logical illogical known unknown +logical illogical likely unlikely +pleasant unpleasant possible impossible +pleasant unpleasant possibly impossibly +pleasant unpleasant productive unproductive +pleasant unpleasant rational irrational +pleasant unpleasant reasonable unreasonable +pleasant unpleasant responsible irresponsible +pleasant unpleasant sure unsure +pleasant unpleasant tasteful distasteful +pleasant unpleasant acceptable unacceptable +pleasant unpleasant aware unaware +pleasant unpleasant certain uncertain +pleasant unpleasant clear unclear +pleasant unpleasant comfortable uncomfortable +pleasant unpleasant competitive uncompetitive +pleasant unpleasant consistent inconsistent +pleasant unpleasant convincing unconvincing +pleasant unpleasant convenient inconvenient +pleasant unpleasant decided undecided +pleasant unpleasant efficient inefficient +pleasant unpleasant ethical unethical +pleasant unpleasant fortunate unfortunate +pleasant unpleasant honest dishonest +pleasant unpleasant impressive unimpressive +pleasant unpleasant informative uninformative +pleasant unpleasant informed uninformed +pleasant unpleasant known unknown +pleasant unpleasant likely unlikely +pleasant unpleasant logical illogical +possible impossible possibly impossibly +possible impossible productive unproductive +possible impossible rational irrational +possible impossible reasonable unreasonable +possible impossible responsible irresponsible +possible impossible sure unsure +possible impossible tasteful distasteful +possible impossible acceptable unacceptable +possible impossible aware unaware +possible impossible certain uncertain +possible impossible clear unclear +possible impossible comfortable uncomfortable +possible impossible competitive uncompetitive +possible impossible consistent inconsistent +possible impossible convincing unconvincing +possible impossible convenient inconvenient +possible impossible decided undecided +possible impossible efficient inefficient +possible impossible ethical unethical +possible impossible fortunate unfortunate +possible impossible honest dishonest +possible impossible impressive unimpressive +possible impossible informative uninformative +possible impossible informed uninformed +possible impossible known unknown +possible impossible likely unlikely +possible impossible logical illogical +possible impossible pleasant unpleasant +possibly impossibly productive unproductive +possibly impossibly rational irrational +possibly impossibly reasonable unreasonable +possibly impossibly responsible irresponsible +possibly impossibly sure unsure +possibly impossibly tasteful distasteful +possibly impossibly acceptable unacceptable +possibly impossibly aware unaware +possibly impossibly certain uncertain +possibly impossibly clear unclear +possibly impossibly comfortable uncomfortable +possibly impossibly competitive uncompetitive +possibly impossibly consistent inconsistent +possibly impossibly convincing unconvincing +possibly impossibly convenient inconvenient +possibly impossibly decided undecided +possibly impossibly efficient inefficient +possibly impossibly ethical unethical +possibly impossibly fortunate unfortunate +possibly impossibly honest dishonest +possibly impossibly impressive unimpressive +possibly impossibly informative uninformative +possibly impossibly informed uninformed +possibly impossibly known unknown +possibly impossibly likely unlikely +possibly impossibly logical illogical +possibly impossibly pleasant unpleasant +possibly impossibly possible impossible +productive unproductive rational irrational +productive unproductive reasonable unreasonable +productive unproductive responsible irresponsible +productive unproductive sure unsure +productive unproductive tasteful distasteful +productive unproductive acceptable unacceptable +productive unproductive aware unaware +productive unproductive certain uncertain +productive unproductive clear unclear +productive unproductive comfortable uncomfortable +productive unproductive competitive uncompetitive +productive unproductive consistent inconsistent +productive unproductive convincing unconvincing +productive unproductive convenient inconvenient +productive unproductive decided undecided +productive unproductive efficient inefficient +productive unproductive ethical unethical +productive unproductive fortunate unfortunate +productive unproductive honest dishonest +productive unproductive impressive unimpressive +productive unproductive informative uninformative +productive unproductive informed uninformed +productive unproductive known unknown +productive unproductive likely unlikely +productive unproductive logical illogical +productive unproductive pleasant unpleasant +productive unproductive possible impossible +productive unproductive possibly impossibly +rational irrational reasonable unreasonable +rational irrational responsible irresponsible +rational irrational sure unsure +rational irrational tasteful distasteful +rational irrational acceptable unacceptable +rational irrational aware unaware +rational irrational certain uncertain +rational irrational clear unclear +rational irrational comfortable uncomfortable +rational irrational competitive uncompetitive +rational irrational consistent inconsistent +rational irrational convincing unconvincing +rational irrational convenient inconvenient +rational irrational decided undecided +rational irrational efficient inefficient +rational irrational ethical unethical +rational irrational fortunate unfortunate +rational irrational honest dishonest +rational irrational impressive unimpressive +rational irrational informative uninformative +rational irrational informed uninformed +rational irrational known unknown +rational irrational likely unlikely +rational irrational logical illogical +rational irrational pleasant unpleasant +rational irrational possible impossible +rational irrational possibly impossibly +rational irrational productive unproductive +reasonable unreasonable responsible irresponsible +reasonable unreasonable sure unsure +reasonable unreasonable tasteful distasteful +reasonable unreasonable acceptable unacceptable +reasonable unreasonable aware unaware +reasonable unreasonable certain uncertain +reasonable unreasonable clear unclear +reasonable unreasonable comfortable uncomfortable +reasonable unreasonable competitive uncompetitive +reasonable unreasonable consistent inconsistent +reasonable unreasonable convincing unconvincing +reasonable unreasonable convenient inconvenient +reasonable unreasonable decided undecided +reasonable unreasonable efficient inefficient +reasonable unreasonable ethical unethical +reasonable unreasonable fortunate unfortunate +reasonable unreasonable honest dishonest +reasonable unreasonable impressive unimpressive +reasonable unreasonable informative uninformative +reasonable unreasonable informed uninformed +reasonable unreasonable known unknown +reasonable unreasonable likely unlikely +reasonable unreasonable logical illogical +reasonable unreasonable pleasant unpleasant +reasonable unreasonable possible impossible +reasonable unreasonable possibly impossibly +reasonable unreasonable productive unproductive +reasonable unreasonable rational irrational +responsible irresponsible sure unsure +responsible irresponsible tasteful distasteful +responsible irresponsible acceptable unacceptable +responsible irresponsible aware unaware +responsible irresponsible certain uncertain +responsible irresponsible clear unclear +responsible irresponsible comfortable uncomfortable +responsible irresponsible competitive uncompetitive +responsible irresponsible consistent inconsistent +responsible irresponsible convincing unconvincing +responsible irresponsible convenient inconvenient +responsible irresponsible decided undecided +responsible irresponsible efficient inefficient +responsible irresponsible ethical unethical +responsible irresponsible fortunate unfortunate +responsible irresponsible honest dishonest +responsible irresponsible impressive unimpressive +responsible irresponsible informative uninformative +responsible irresponsible informed uninformed +responsible irresponsible known unknown +responsible irresponsible likely unlikely +responsible irresponsible logical illogical +responsible irresponsible pleasant unpleasant +responsible irresponsible possible impossible +responsible irresponsible possibly impossibly +responsible irresponsible productive unproductive +responsible irresponsible rational irrational +responsible irresponsible reasonable unreasonable +sure unsure tasteful distasteful +sure unsure acceptable unacceptable +sure unsure aware unaware +sure unsure certain uncertain +sure unsure clear unclear +sure unsure comfortable uncomfortable +sure unsure competitive uncompetitive +sure unsure consistent inconsistent +sure unsure convincing unconvincing +sure unsure convenient inconvenient +sure unsure decided undecided +sure unsure efficient inefficient +sure unsure ethical unethical +sure unsure fortunate unfortunate +sure unsure honest dishonest +sure unsure impressive unimpressive +sure unsure informative uninformative +sure unsure informed uninformed +sure unsure known unknown +sure unsure likely unlikely +sure unsure logical illogical +sure unsure pleasant unpleasant +sure unsure possible impossible +sure unsure possibly impossibly +sure unsure productive unproductive +sure unsure rational irrational +sure unsure reasonable unreasonable +sure unsure responsible irresponsible +tasteful distasteful acceptable unacceptable +tasteful distasteful aware unaware +tasteful distasteful certain uncertain +tasteful distasteful clear unclear +tasteful distasteful comfortable uncomfortable +tasteful distasteful competitive uncompetitive +tasteful distasteful consistent inconsistent +tasteful distasteful convincing unconvincing +tasteful distasteful convenient inconvenient +tasteful distasteful decided undecided +tasteful distasteful efficient inefficient +tasteful distasteful ethical unethical +tasteful distasteful fortunate unfortunate +tasteful distasteful honest dishonest +tasteful distasteful impressive unimpressive +tasteful distasteful informative uninformative +tasteful distasteful informed uninformed +tasteful distasteful known unknown +tasteful distasteful likely unlikely +tasteful distasteful logical illogical +tasteful distasteful pleasant unpleasant +tasteful distasteful possible impossible +tasteful distasteful possibly impossibly +tasteful distasteful productive unproductive +tasteful distasteful rational irrational +tasteful distasteful reasonable unreasonable +tasteful distasteful responsible irresponsible +tasteful distasteful sure unsure +: gram3-comparative +bad worse big bigger +bad worse bright brighter +bad worse cheap cheaper +bad worse cold colder +bad worse cool cooler +bad worse deep deeper +bad worse easy easier +bad worse fast faster +bad worse good better +bad worse great greater +bad worse hard harder +bad worse heavy heavier +bad worse high higher +bad worse hot hotter +bad worse large larger +bad worse long longer +bad worse loud louder +bad worse low lower +bad worse new newer +bad worse old older +bad worse quick quicker +bad worse safe safer +bad worse sharp sharper +bad worse short shorter +bad worse simple simpler +bad worse slow slower +bad worse small smaller +bad worse smart smarter +bad worse strong stronger +bad worse tall taller +bad worse tight tighter +bad worse tough tougher +bad worse warm warmer +bad worse weak weaker +bad worse wide wider +bad worse young younger +big bigger bright brighter +big bigger cheap cheaper +big bigger cold colder +big bigger cool cooler +big bigger deep deeper +big bigger easy easier +big bigger fast faster +big bigger good better +big bigger great greater +big bigger hard harder +big bigger heavy heavier +big bigger high higher +big bigger hot hotter +big bigger large larger +big bigger long longer +big bigger loud louder +big bigger low lower +big bigger new newer +big bigger old older +big bigger quick quicker +big bigger safe safer +big bigger sharp sharper +big bigger short shorter +big bigger simple simpler +big bigger slow slower +big bigger small smaller +big bigger smart smarter +big bigger strong stronger +big bigger tall taller +big bigger tight tighter +big bigger tough tougher +big bigger warm warmer +big bigger weak weaker +big bigger wide wider +big bigger young younger +big bigger bad worse +bright brighter cheap cheaper +bright brighter cold colder +bright brighter cool cooler +bright brighter deep deeper +bright brighter easy easier +bright brighter fast faster +bright brighter good better +bright brighter great greater +bright brighter hard harder +bright brighter heavy heavier +bright brighter high higher +bright brighter hot hotter +bright brighter large larger +bright brighter long longer +bright brighter loud louder +bright brighter low lower +bright brighter new newer +bright brighter old older +bright brighter quick quicker +bright brighter safe safer +bright brighter sharp sharper +bright brighter short shorter +bright brighter simple simpler +bright brighter slow slower +bright brighter small smaller +bright brighter smart smarter +bright brighter strong stronger +bright brighter tall taller +bright brighter tight tighter +bright brighter tough tougher +bright brighter warm warmer +bright brighter weak weaker +bright brighter wide wider +bright brighter young younger +bright brighter bad worse +bright brighter big bigger +cheap cheaper cold colder +cheap cheaper cool cooler +cheap cheaper deep deeper +cheap cheaper easy easier +cheap cheaper fast faster +cheap cheaper good better +cheap cheaper great greater +cheap cheaper hard harder +cheap cheaper heavy heavier +cheap cheaper high higher +cheap cheaper hot hotter +cheap cheaper large larger +cheap cheaper long longer +cheap cheaper loud louder +cheap cheaper low lower +cheap cheaper new newer +cheap cheaper old older +cheap cheaper quick quicker +cheap cheaper safe safer +cheap cheaper sharp sharper +cheap cheaper short shorter +cheap cheaper simple simpler +cheap cheaper slow slower +cheap cheaper small smaller +cheap cheaper smart smarter +cheap cheaper strong stronger +cheap cheaper tall taller +cheap cheaper tight tighter +cheap cheaper tough tougher +cheap cheaper warm warmer +cheap cheaper weak weaker +cheap cheaper wide wider +cheap cheaper young younger +cheap cheaper bad worse +cheap cheaper big bigger +cheap cheaper bright brighter +cold colder cool cooler +cold colder deep deeper +cold colder easy easier +cold colder fast faster +cold colder good better +cold colder great greater +cold colder hard harder +cold colder heavy heavier +cold colder high higher +cold colder hot hotter +cold colder large larger +cold colder long longer +cold colder loud louder +cold colder low lower +cold colder new newer +cold colder old older +cold colder quick quicker +cold colder safe safer +cold colder sharp sharper +cold colder short shorter +cold colder simple simpler +cold colder slow slower +cold colder small smaller +cold colder smart smarter +cold colder strong stronger +cold colder tall taller +cold colder tight tighter +cold colder tough tougher +cold colder warm warmer +cold colder weak weaker +cold colder wide wider +cold colder young younger +cold colder bad worse +cold colder big bigger +cold colder bright brighter +cold colder cheap cheaper +cool cooler deep deeper +cool cooler easy easier +cool cooler fast faster +cool cooler good better +cool cooler great greater +cool cooler hard harder +cool cooler heavy heavier +cool cooler high higher +cool cooler hot hotter +cool cooler large larger +cool cooler long longer +cool cooler loud louder +cool cooler low lower +cool cooler new newer +cool cooler old older +cool cooler quick quicker +cool cooler safe safer +cool cooler sharp sharper +cool cooler short shorter +cool cooler simple simpler +cool cooler slow slower +cool cooler small smaller +cool cooler smart smarter +cool cooler strong stronger +cool cooler tall taller +cool cooler tight tighter +cool cooler tough tougher +cool cooler warm warmer +cool cooler weak weaker +cool cooler wide wider +cool cooler young younger +cool cooler bad worse +cool cooler big bigger +cool cooler bright brighter +cool cooler cheap cheaper +cool cooler cold colder +deep deeper easy easier +deep deeper fast faster +deep deeper good better +deep deeper great greater +deep deeper hard harder +deep deeper heavy heavier +deep deeper high higher +deep deeper hot hotter +deep deeper large larger +deep deeper long longer +deep deeper loud louder +deep deeper low lower +deep deeper new newer +deep deeper old older +deep deeper quick quicker +deep deeper safe safer +deep deeper sharp sharper +deep deeper short shorter +deep deeper simple simpler +deep deeper slow slower +deep deeper small smaller +deep deeper smart smarter +deep deeper strong stronger +deep deeper tall taller +deep deeper tight tighter +deep deeper tough tougher +deep deeper warm warmer +deep deeper weak weaker +deep deeper wide wider +deep deeper young younger +deep deeper bad worse +deep deeper big bigger +deep deeper bright brighter +deep deeper cheap cheaper +deep deeper cold colder +deep deeper cool cooler +easy easier fast faster +easy easier good better +easy easier great greater +easy easier hard harder +easy easier heavy heavier +easy easier high higher +easy easier hot hotter +easy easier large larger +easy easier long longer +easy easier loud louder +easy easier low lower +easy easier new newer +easy easier old older +easy easier quick quicker +easy easier safe safer +easy easier sharp sharper +easy easier short shorter +easy easier simple simpler +easy easier slow slower +easy easier small smaller +easy easier smart smarter +easy easier strong stronger +easy easier tall taller +easy easier tight tighter +easy easier tough tougher +easy easier warm warmer +easy easier weak weaker +easy easier wide wider +easy easier young younger +easy easier bad worse +easy easier big bigger +easy easier bright brighter +easy easier cheap cheaper +easy easier cold colder +easy easier cool cooler +easy easier deep deeper +fast faster good better +fast faster great greater +fast faster hard harder +fast faster heavy heavier +fast faster high higher +fast faster hot hotter +fast faster large larger +fast faster long longer +fast faster loud louder +fast faster low lower +fast faster new newer +fast faster old older +fast faster quick quicker +fast faster safe safer +fast faster sharp sharper +fast faster short shorter +fast faster simple simpler +fast faster slow slower +fast faster small smaller +fast faster smart smarter +fast faster strong stronger +fast faster tall taller +fast faster tight tighter +fast faster tough tougher +fast faster warm warmer +fast faster weak weaker +fast faster wide wider +fast faster young younger +fast faster bad worse +fast faster big bigger +fast faster bright brighter +fast faster cheap cheaper +fast faster cold colder +fast faster cool cooler +fast faster deep deeper +fast faster easy easier +good better great greater +good better hard harder +good better heavy heavier +good better high higher +good better hot hotter +good better large larger +good better long longer +good better loud louder +good better low lower +good better new newer +good better old older +good better quick quicker +good better safe safer +good better sharp sharper +good better short shorter +good better simple simpler +good better slow slower +good better small smaller +good better smart smarter +good better strong stronger +good better tall taller +good better tight tighter +good better tough tougher +good better warm warmer +good better weak weaker +good better wide wider +good better young younger +good better bad worse +good better big bigger +good better bright brighter +good better cheap cheaper +good better cold colder +good better cool cooler +good better deep deeper +good better easy easier +good better fast faster +great greater hard harder +great greater heavy heavier +great greater high higher +great greater hot hotter +great greater large larger +great greater long longer +great greater loud louder +great greater low lower +great greater new newer +great greater old older +great greater quick quicker +great greater safe safer +great greater sharp sharper +great greater short shorter +great greater simple simpler +great greater slow slower +great greater small smaller +great greater smart smarter +great greater strong stronger +great greater tall taller +great greater tight tighter +great greater tough tougher +great greater warm warmer +great greater weak weaker +great greater wide wider +great greater young younger +great greater bad worse +great greater big bigger +great greater bright brighter +great greater cheap cheaper +great greater cold colder +great greater cool cooler +great greater deep deeper +great greater easy easier +great greater fast faster +great greater good better +hard harder heavy heavier +hard harder high higher +hard harder hot hotter +hard harder large larger +hard harder long longer +hard harder loud louder +hard harder low lower +hard harder new newer +hard harder old older +hard harder quick quicker +hard harder safe safer +hard harder sharp sharper +hard harder short shorter +hard harder simple simpler +hard harder slow slower +hard harder small smaller +hard harder smart smarter +hard harder strong stronger +hard harder tall taller +hard harder tight tighter +hard harder tough tougher +hard harder warm warmer +hard harder weak weaker +hard harder wide wider +hard harder young younger +hard harder bad worse +hard harder big bigger +hard harder bright brighter +hard harder cheap cheaper +hard harder cold colder +hard harder cool cooler +hard harder deep deeper +hard harder easy easier +hard harder fast faster +hard harder good better +hard harder great greater +heavy heavier high higher +heavy heavier hot hotter +heavy heavier large larger +heavy heavier long longer +heavy heavier loud louder +heavy heavier low lower +heavy heavier new newer +heavy heavier old older +heavy heavier quick quicker +heavy heavier safe safer +heavy heavier sharp sharper +heavy heavier short shorter +heavy heavier simple simpler +heavy heavier slow slower +heavy heavier small smaller +heavy heavier smart smarter +heavy heavier strong stronger +heavy heavier tall taller +heavy heavier tight tighter +heavy heavier tough tougher +heavy heavier warm warmer +heavy heavier weak weaker +heavy heavier wide wider +heavy heavier young younger +heavy heavier bad worse +heavy heavier big bigger +heavy heavier bright brighter +heavy heavier cheap cheaper +heavy heavier cold colder +heavy heavier cool cooler +heavy heavier deep deeper +heavy heavier easy easier +heavy heavier fast faster +heavy heavier good better +heavy heavier great greater +heavy heavier hard harder +high higher hot hotter +high higher large larger +high higher long longer +high higher loud louder +high higher low lower +high higher new newer +high higher old older +high higher quick quicker +high higher safe safer +high higher sharp sharper +high higher short shorter +high higher simple simpler +high higher slow slower +high higher small smaller +high higher smart smarter +high higher strong stronger +high higher tall taller +high higher tight tighter +high higher tough tougher +high higher warm warmer +high higher weak weaker +high higher wide wider +high higher young younger +high higher bad worse +high higher big bigger +high higher bright brighter +high higher cheap cheaper +high higher cold colder +high higher cool cooler +high higher deep deeper +high higher easy easier +high higher fast faster +high higher good better +high higher great greater +high higher hard harder +high higher heavy heavier +hot hotter large larger +hot hotter long longer +hot hotter loud louder +hot hotter low lower +hot hotter new newer +hot hotter old older +hot hotter quick quicker +hot hotter safe safer +hot hotter sharp sharper +hot hotter short shorter +hot hotter simple simpler +hot hotter slow slower +hot hotter small smaller +hot hotter smart smarter +hot hotter strong stronger +hot hotter tall taller +hot hotter tight tighter +hot hotter tough tougher +hot hotter warm warmer +hot hotter weak weaker +hot hotter wide wider +hot hotter young younger +hot hotter bad worse +hot hotter big bigger +hot hotter bright brighter +hot hotter cheap cheaper +hot hotter cold colder +hot hotter cool cooler +hot hotter deep deeper +hot hotter easy easier +hot hotter fast faster +hot hotter good better +hot hotter great greater +hot hotter hard harder +hot hotter heavy heavier +hot hotter high higher +large larger long longer +large larger loud louder +large larger low lower +large larger new newer +large larger old older +large larger quick quicker +large larger safe safer +large larger sharp sharper +large larger short shorter +large larger simple simpler +large larger slow slower +large larger small smaller +large larger smart smarter +large larger strong stronger +large larger tall taller +large larger tight tighter +large larger tough tougher +large larger warm warmer +large larger weak weaker +large larger wide wider +large larger young younger +large larger bad worse +large larger big bigger +large larger bright brighter +large larger cheap cheaper +large larger cold colder +large larger cool cooler +large larger deep deeper +large larger easy easier +large larger fast faster +large larger good better +large larger great greater +large larger hard harder +large larger heavy heavier +large larger high higher +large larger hot hotter +long longer loud louder +long longer low lower +long longer new newer +long longer old older +long longer quick quicker +long longer safe safer +long longer sharp sharper +long longer short shorter +long longer simple simpler +long longer slow slower +long longer small smaller +long longer smart smarter +long longer strong stronger +long longer tall taller +long longer tight tighter +long longer tough tougher +long longer warm warmer +long longer weak weaker +long longer wide wider +long longer young younger +long longer bad worse +long longer big bigger +long longer bright brighter +long longer cheap cheaper +long longer cold colder +long longer cool cooler +long longer deep deeper +long longer easy easier +long longer fast faster +long longer good better +long longer great greater +long longer hard harder +long longer heavy heavier +long longer high higher +long longer hot hotter +long longer large larger +loud louder low lower +loud louder new newer +loud louder old older +loud louder quick quicker +loud louder safe safer +loud louder sharp sharper +loud louder short shorter +loud louder simple simpler +loud louder slow slower +loud louder small smaller +loud louder smart smarter +loud louder strong stronger +loud louder tall taller +loud louder tight tighter +loud louder tough tougher +loud louder warm warmer +loud louder weak weaker +loud louder wide wider +loud louder young younger +loud louder bad worse +loud louder big bigger +loud louder bright brighter +loud louder cheap cheaper +loud louder cold colder +loud louder cool cooler +loud louder deep deeper +loud louder easy easier +loud louder fast faster +loud louder good better +loud louder great greater +loud louder hard harder +loud louder heavy heavier +loud louder high higher +loud louder hot hotter +loud louder large larger +loud louder long longer +low lower new newer +low lower old older +low lower quick quicker +low lower safe safer +low lower sharp sharper +low lower short shorter +low lower simple simpler +low lower slow slower +low lower small smaller +low lower smart smarter +low lower strong stronger +low lower tall taller +low lower tight tighter +low lower tough tougher +low lower warm warmer +low lower weak weaker +low lower wide wider +low lower young younger +low lower bad worse +low lower big bigger +low lower bright brighter +low lower cheap cheaper +low lower cold colder +low lower cool cooler +low lower deep deeper +low lower easy easier +low lower fast faster +low lower good better +low lower great greater +low lower hard harder +low lower heavy heavier +low lower high higher +low lower hot hotter +low lower large larger +low lower long longer +low lower loud louder +new newer old older +new newer quick quicker +new newer safe safer +new newer sharp sharper +new newer short shorter +new newer simple simpler +new newer slow slower +new newer small smaller +new newer smart smarter +new newer strong stronger +new newer tall taller +new newer tight tighter +new newer tough tougher +new newer warm warmer +new newer weak weaker +new newer wide wider +new newer young younger +new newer bad worse +new newer big bigger +new newer bright brighter +new newer cheap cheaper +new newer cold colder +new newer cool cooler +new newer deep deeper +new newer easy easier +new newer fast faster +new newer good better +new newer great greater +new newer hard harder +new newer heavy heavier +new newer high higher +new newer hot hotter +new newer large larger +new newer long longer +new newer loud louder +new newer low lower +old older quick quicker +old older safe safer +old older sharp sharper +old older short shorter +old older simple simpler +old older slow slower +old older small smaller +old older smart smarter +old older strong stronger +old older tall taller +old older tight tighter +old older tough tougher +old older warm warmer +old older weak weaker +old older wide wider +old older young younger +old older bad worse +old older big bigger +old older bright brighter +old older cheap cheaper +old older cold colder +old older cool cooler +old older deep deeper +old older easy easier +old older fast faster +old older good better +old older great greater +old older hard harder +old older heavy heavier +old older high higher +old older hot hotter +old older large larger +old older long longer +old older loud louder +old older low lower +old older new newer +quick quicker safe safer +quick quicker sharp sharper +quick quicker short shorter +quick quicker simple simpler +quick quicker slow slower +quick quicker small smaller +quick quicker smart smarter +quick quicker strong stronger +quick quicker tall taller +quick quicker tight tighter +quick quicker tough tougher +quick quicker warm warmer +quick quicker weak weaker +quick quicker wide wider +quick quicker young younger +quick quicker bad worse +quick quicker big bigger +quick quicker bright brighter +quick quicker cheap cheaper +quick quicker cold colder +quick quicker cool cooler +quick quicker deep deeper +quick quicker easy easier +quick quicker fast faster +quick quicker good better +quick quicker great greater +quick quicker hard harder +quick quicker heavy heavier +quick quicker high higher +quick quicker hot hotter +quick quicker large larger +quick quicker long longer +quick quicker loud louder +quick quicker low lower +quick quicker new newer +quick quicker old older +safe safer sharp sharper +safe safer short shorter +safe safer simple simpler +safe safer slow slower +safe safer small smaller +safe safer smart smarter +safe safer strong stronger +safe safer tall taller +safe safer tight tighter +safe safer tough tougher +safe safer warm warmer +safe safer weak weaker +safe safer wide wider +safe safer young younger +safe safer bad worse +safe safer big bigger +safe safer bright brighter +safe safer cheap cheaper +safe safer cold colder +safe safer cool cooler +safe safer deep deeper +safe safer easy easier +safe safer fast faster +safe safer good better +safe safer great greater +safe safer hard harder +safe safer heavy heavier +safe safer high higher +safe safer hot hotter +safe safer large larger +safe safer long longer +safe safer loud louder +safe safer low lower +safe safer new newer +safe safer old older +safe safer quick quicker +sharp sharper short shorter +sharp sharper simple simpler +sharp sharper slow slower +sharp sharper small smaller +sharp sharper smart smarter +sharp sharper strong stronger +sharp sharper tall taller +sharp sharper tight tighter +sharp sharper tough tougher +sharp sharper warm warmer +sharp sharper weak weaker +sharp sharper wide wider +sharp sharper young younger +sharp sharper bad worse +sharp sharper big bigger +sharp sharper bright brighter +sharp sharper cheap cheaper +sharp sharper cold colder +sharp sharper cool cooler +sharp sharper deep deeper +sharp sharper easy easier +sharp sharper fast faster +sharp sharper good better +sharp sharper great greater +sharp sharper hard harder +sharp sharper heavy heavier +sharp sharper high higher +sharp sharper hot hotter +sharp sharper large larger +sharp sharper long longer +sharp sharper loud louder +sharp sharper low lower +sharp sharper new newer +sharp sharper old older +sharp sharper quick quicker +sharp sharper safe safer +short shorter simple simpler +short shorter slow slower +short shorter small smaller +short shorter smart smarter +short shorter strong stronger +short shorter tall taller +short shorter tight tighter +short shorter tough tougher +short shorter warm warmer +short shorter weak weaker +short shorter wide wider +short shorter young younger +short shorter bad worse +short shorter big bigger +short shorter bright brighter +short shorter cheap cheaper +short shorter cold colder +short shorter cool cooler +short shorter deep deeper +short shorter easy easier +short shorter fast faster +short shorter good better +short shorter great greater +short shorter hard harder +short shorter heavy heavier +short shorter high higher +short shorter hot hotter +short shorter large larger +short shorter long longer +short shorter loud louder +short shorter low lower +short shorter new newer +short shorter old older +short shorter quick quicker +short shorter safe safer +short shorter sharp sharper +simple simpler slow slower +simple simpler small smaller +simple simpler smart smarter +simple simpler strong stronger +simple simpler tall taller +simple simpler tight tighter +simple simpler tough tougher +simple simpler warm warmer +simple simpler weak weaker +simple simpler wide wider +simple simpler young younger +simple simpler bad worse +simple simpler big bigger +simple simpler bright brighter +simple simpler cheap cheaper +simple simpler cold colder +simple simpler cool cooler +simple simpler deep deeper +simple simpler easy easier +simple simpler fast faster +simple simpler good better +simple simpler great greater +simple simpler hard harder +simple simpler heavy heavier +simple simpler high higher +simple simpler hot hotter +simple simpler large larger +simple simpler long longer +simple simpler loud louder +simple simpler low lower +simple simpler new newer +simple simpler old older +simple simpler quick quicker +simple simpler safe safer +simple simpler sharp sharper +simple simpler short shorter +slow slower small smaller +slow slower smart smarter +slow slower strong stronger +slow slower tall taller +slow slower tight tighter +slow slower tough tougher +slow slower warm warmer +slow slower weak weaker +slow slower wide wider +slow slower young younger +slow slower bad worse +slow slower big bigger +slow slower bright brighter +slow slower cheap cheaper +slow slower cold colder +slow slower cool cooler +slow slower deep deeper +slow slower easy easier +slow slower fast faster +slow slower good better +slow slower great greater +slow slower hard harder +slow slower heavy heavier +slow slower high higher +slow slower hot hotter +slow slower large larger +slow slower long longer +slow slower loud louder +slow slower low lower +slow slower new newer +slow slower old older +slow slower quick quicker +slow slower safe safer +slow slower sharp sharper +slow slower short shorter +slow slower simple simpler +small smaller smart smarter +small smaller strong stronger +small smaller tall taller +small smaller tight tighter +small smaller tough tougher +small smaller warm warmer +small smaller weak weaker +small smaller wide wider +small smaller young younger +small smaller bad worse +small smaller big bigger +small smaller bright brighter +small smaller cheap cheaper +small smaller cold colder +small smaller cool cooler +small smaller deep deeper +small smaller easy easier +small smaller fast faster +small smaller good better +small smaller great greater +small smaller hard harder +small smaller heavy heavier +small smaller high higher +small smaller hot hotter +small smaller large larger +small smaller long longer +small smaller loud louder +small smaller low lower +small smaller new newer +small smaller old older +small smaller quick quicker +small smaller safe safer +small smaller sharp sharper +small smaller short shorter +small smaller simple simpler +small smaller slow slower +smart smarter strong stronger +smart smarter tall taller +smart smarter tight tighter +smart smarter tough tougher +smart smarter warm warmer +smart smarter weak weaker +smart smarter wide wider +smart smarter young younger +smart smarter bad worse +smart smarter big bigger +smart smarter bright brighter +smart smarter cheap cheaper +smart smarter cold colder +smart smarter cool cooler +smart smarter deep deeper +smart smarter easy easier +smart smarter fast faster +smart smarter good better +smart smarter great greater +smart smarter hard harder +smart smarter heavy heavier +smart smarter high higher +smart smarter hot hotter +smart smarter large larger +smart smarter long longer +smart smarter loud louder +smart smarter low lower +smart smarter new newer +smart smarter old older +smart smarter quick quicker +smart smarter safe safer +smart smarter sharp sharper +smart smarter short shorter +smart smarter simple simpler +smart smarter slow slower +smart smarter small smaller +strong stronger tall taller +strong stronger tight tighter +strong stronger tough tougher +strong stronger warm warmer +strong stronger weak weaker +strong stronger wide wider +strong stronger young younger +strong stronger bad worse +strong stronger big bigger +strong stronger bright brighter +strong stronger cheap cheaper +strong stronger cold colder +strong stronger cool cooler +strong stronger deep deeper +strong stronger easy easier +strong stronger fast faster +strong stronger good better +strong stronger great greater +strong stronger hard harder +strong stronger heavy heavier +strong stronger high higher +strong stronger hot hotter +strong stronger large larger +strong stronger long longer +strong stronger loud louder +strong stronger low lower +strong stronger new newer +strong stronger old older +strong stronger quick quicker +strong stronger safe safer +strong stronger sharp sharper +strong stronger short shorter +strong stronger simple simpler +strong stronger slow slower +strong stronger small smaller +strong stronger smart smarter +tall taller tight tighter +tall taller tough tougher +tall taller warm warmer +tall taller weak weaker +tall taller wide wider +tall taller young younger +tall taller bad worse +tall taller big bigger +tall taller bright brighter +tall taller cheap cheaper +tall taller cold colder +tall taller cool cooler +tall taller deep deeper +tall taller easy easier +tall taller fast faster +tall taller good better +tall taller great greater +tall taller hard harder +tall taller heavy heavier +tall taller high higher +tall taller hot hotter +tall taller large larger +tall taller long longer +tall taller loud louder +tall taller low lower +tall taller new newer +tall taller old older +tall taller quick quicker +tall taller safe safer +tall taller sharp sharper +tall taller short shorter +tall taller simple simpler +tall taller slow slower +tall taller small smaller +tall taller smart smarter +tall taller strong stronger +tight tighter tough tougher +tight tighter warm warmer +tight tighter weak weaker +tight tighter wide wider +tight tighter young younger +tight tighter bad worse +tight tighter big bigger +tight tighter bright brighter +tight tighter cheap cheaper +tight tighter cold colder +tight tighter cool cooler +tight tighter deep deeper +tight tighter easy easier +tight tighter fast faster +tight tighter good better +tight tighter great greater +tight tighter hard harder +tight tighter heavy heavier +tight tighter high higher +tight tighter hot hotter +tight tighter large larger +tight tighter long longer +tight tighter loud louder +tight tighter low lower +tight tighter new newer +tight tighter old older +tight tighter quick quicker +tight tighter safe safer +tight tighter sharp sharper +tight tighter short shorter +tight tighter simple simpler +tight tighter slow slower +tight tighter small smaller +tight tighter smart smarter +tight tighter strong stronger +tight tighter tall taller +tough tougher warm warmer +tough tougher weak weaker +tough tougher wide wider +tough tougher young younger +tough tougher bad worse +tough tougher big bigger +tough tougher bright brighter +tough tougher cheap cheaper +tough tougher cold colder +tough tougher cool cooler +tough tougher deep deeper +tough tougher easy easier +tough tougher fast faster +tough tougher good better +tough tougher great greater +tough tougher hard harder +tough tougher heavy heavier +tough tougher high higher +tough tougher hot hotter +tough tougher large larger +tough tougher long longer +tough tougher loud louder +tough tougher low lower +tough tougher new newer +tough tougher old older +tough tougher quick quicker +tough tougher safe safer +tough tougher sharp sharper +tough tougher short shorter +tough tougher simple simpler +tough tougher slow slower +tough tougher small smaller +tough tougher smart smarter +tough tougher strong stronger +tough tougher tall taller +tough tougher tight tighter +warm warmer weak weaker +warm warmer wide wider +warm warmer young younger +warm warmer bad worse +warm warmer big bigger +warm warmer bright brighter +warm warmer cheap cheaper +warm warmer cold colder +warm warmer cool cooler +warm warmer deep deeper +warm warmer easy easier +warm warmer fast faster +warm warmer good better +warm warmer great greater +warm warmer hard harder +warm warmer heavy heavier +warm warmer high higher +warm warmer hot hotter +warm warmer large larger +warm warmer long longer +warm warmer loud louder +warm warmer low lower +warm warmer new newer +warm warmer old older +warm warmer quick quicker +warm warmer safe safer +warm warmer sharp sharper +warm warmer short shorter +warm warmer simple simpler +warm warmer slow slower +warm warmer small smaller +warm warmer smart smarter +warm warmer strong stronger +warm warmer tall taller +warm warmer tight tighter +warm warmer tough tougher +weak weaker wide wider +weak weaker young younger +weak weaker bad worse +weak weaker big bigger +weak weaker bright brighter +weak weaker cheap cheaper +weak weaker cold colder +weak weaker cool cooler +weak weaker deep deeper +weak weaker easy easier +weak weaker fast faster +weak weaker good better +weak weaker great greater +weak weaker hard harder +weak weaker heavy heavier +weak weaker high higher +weak weaker hot hotter +weak weaker large larger +weak weaker long longer +weak weaker loud louder +weak weaker low lower +weak weaker new newer +weak weaker old older +weak weaker quick quicker +weak weaker safe safer +weak weaker sharp sharper +weak weaker short shorter +weak weaker simple simpler +weak weaker slow slower +weak weaker small smaller +weak weaker smart smarter +weak weaker strong stronger +weak weaker tall taller +weak weaker tight tighter +weak weaker tough tougher +weak weaker warm warmer +wide wider young younger +wide wider bad worse +wide wider big bigger +wide wider bright brighter +wide wider cheap cheaper +wide wider cold colder +wide wider cool cooler +wide wider deep deeper +wide wider easy easier +wide wider fast faster +wide wider good better +wide wider great greater +wide wider hard harder +wide wider heavy heavier +wide wider high higher +wide wider hot hotter +wide wider large larger +wide wider long longer +wide wider loud louder +wide wider low lower +wide wider new newer +wide wider old older +wide wider quick quicker +wide wider safe safer +wide wider sharp sharper +wide wider short shorter +wide wider simple simpler +wide wider slow slower +wide wider small smaller +wide wider smart smarter +wide wider strong stronger +wide wider tall taller +wide wider tight tighter +wide wider tough tougher +wide wider warm warmer +wide wider weak weaker +young younger bad worse +young younger big bigger +young younger bright brighter +young younger cheap cheaper +young younger cold colder +young younger cool cooler +young younger deep deeper +young younger easy easier +young younger fast faster +young younger good better +young younger great greater +young younger hard harder +young younger heavy heavier +young younger high higher +young younger hot hotter +young younger large larger +young younger long longer +young younger loud louder +young younger low lower +young younger new newer +young younger old older +young younger quick quicker +young younger safe safer +young younger sharp sharper +young younger short shorter +young younger simple simpler +young younger slow slower +young younger small smaller +young younger smart smarter +young younger strong stronger +young younger tall taller +young younger tight tighter +young younger tough tougher +young younger warm warmer +young younger weak weaker +young younger wide wider +: gram4-superlative +bad worst big biggest +bad worst bright brightest +bad worst cold coldest +bad worst cool coolest +bad worst dark darkest +bad worst easy easiest +bad worst fast fastest +bad worst good best +bad worst great greatest +bad worst high highest +bad worst hot hottest +bad worst large largest +bad worst long longest +bad worst low lowest +bad worst lucky luckiest +bad worst old oldest +bad worst quick quickest +bad worst sharp sharpest +bad worst simple simplest +bad worst short shortest +bad worst slow slowest +bad worst small smallest +bad worst smart smartest +bad worst strange strangest +bad worst strong strongest +bad worst sweet sweetest +bad worst tall tallest +bad worst tasty tastiest +bad worst warm warmest +bad worst weak weakest +bad worst weird weirdest +bad worst wide widest +bad worst young youngest +big biggest bright brightest +big biggest cold coldest +big biggest cool coolest +big biggest dark darkest +big biggest easy easiest +big biggest fast fastest +big biggest good best +big biggest great greatest +big biggest high highest +big biggest hot hottest +big biggest large largest +big biggest long longest +big biggest low lowest +big biggest lucky luckiest +big biggest old oldest +big biggest quick quickest +big biggest sharp sharpest +big biggest simple simplest +big biggest short shortest +big biggest slow slowest +big biggest small smallest +big biggest smart smartest +big biggest strange strangest +big biggest strong strongest +big biggest sweet sweetest +big biggest tall tallest +big biggest tasty tastiest +big biggest warm warmest +big biggest weak weakest +big biggest weird weirdest +big biggest wide widest +big biggest young youngest +big biggest bad worst +bright brightest cold coldest +bright brightest cool coolest +bright brightest dark darkest +bright brightest easy easiest +bright brightest fast fastest +bright brightest good best +bright brightest great greatest +bright brightest high highest +bright brightest hot hottest +bright brightest large largest +bright brightest long longest +bright brightest low lowest +bright brightest lucky luckiest +bright brightest old oldest +bright brightest quick quickest +bright brightest sharp sharpest +bright brightest simple simplest +bright brightest short shortest +bright brightest slow slowest +bright brightest small smallest +bright brightest smart smartest +bright brightest strange strangest +bright brightest strong strongest +bright brightest sweet sweetest +bright brightest tall tallest +bright brightest tasty tastiest +bright brightest warm warmest +bright brightest weak weakest +bright brightest weird weirdest +bright brightest wide widest +bright brightest young youngest +bright brightest bad worst +bright brightest big biggest +cold coldest cool coolest +cold coldest dark darkest +cold coldest easy easiest +cold coldest fast fastest +cold coldest good best +cold coldest great greatest +cold coldest high highest +cold coldest hot hottest +cold coldest large largest +cold coldest long longest +cold coldest low lowest +cold coldest lucky luckiest +cold coldest old oldest +cold coldest quick quickest +cold coldest sharp sharpest +cold coldest simple simplest +cold coldest short shortest +cold coldest slow slowest +cold coldest small smallest +cold coldest smart smartest +cold coldest strange strangest +cold coldest strong strongest +cold coldest sweet sweetest +cold coldest tall tallest +cold coldest tasty tastiest +cold coldest warm warmest +cold coldest weak weakest +cold coldest weird weirdest +cold coldest wide widest +cold coldest young youngest +cold coldest bad worst +cold coldest big biggest +cold coldest bright brightest +cool coolest dark darkest +cool coolest easy easiest +cool coolest fast fastest +cool coolest good best +cool coolest great greatest +cool coolest high highest +cool coolest hot hottest +cool coolest large largest +cool coolest long longest +cool coolest low lowest +cool coolest lucky luckiest +cool coolest old oldest +cool coolest quick quickest +cool coolest sharp sharpest +cool coolest simple simplest +cool coolest short shortest +cool coolest slow slowest +cool coolest small smallest +cool coolest smart smartest +cool coolest strange strangest +cool coolest strong strongest +cool coolest sweet sweetest +cool coolest tall tallest +cool coolest tasty tastiest +cool coolest warm warmest +cool coolest weak weakest +cool coolest weird weirdest +cool coolest wide widest +cool coolest young youngest +cool coolest bad worst +cool coolest big biggest +cool coolest bright brightest +cool coolest cold coldest +dark darkest easy easiest +dark darkest fast fastest +dark darkest good best +dark darkest great greatest +dark darkest high highest +dark darkest hot hottest +dark darkest large largest +dark darkest long longest +dark darkest low lowest +dark darkest lucky luckiest +dark darkest old oldest +dark darkest quick quickest +dark darkest sharp sharpest +dark darkest simple simplest +dark darkest short shortest +dark darkest slow slowest +dark darkest small smallest +dark darkest smart smartest +dark darkest strange strangest +dark darkest strong strongest +dark darkest sweet sweetest +dark darkest tall tallest +dark darkest tasty tastiest +dark darkest warm warmest +dark darkest weak weakest +dark darkest weird weirdest +dark darkest wide widest +dark darkest young youngest +dark darkest bad worst +dark darkest big biggest +dark darkest bright brightest +dark darkest cold coldest +dark darkest cool coolest +easy easiest fast fastest +easy easiest good best +easy easiest great greatest +easy easiest high highest +easy easiest hot hottest +easy easiest large largest +easy easiest long longest +easy easiest low lowest +easy easiest lucky luckiest +easy easiest old oldest +easy easiest quick quickest +easy easiest sharp sharpest +easy easiest simple simplest +easy easiest short shortest +easy easiest slow slowest +easy easiest small smallest +easy easiest smart smartest +easy easiest strange strangest +easy easiest strong strongest +easy easiest sweet sweetest +easy easiest tall tallest +easy easiest tasty tastiest +easy easiest warm warmest +easy easiest weak weakest +easy easiest weird weirdest +easy easiest wide widest +easy easiest young youngest +easy easiest bad worst +easy easiest big biggest +easy easiest bright brightest +easy easiest cold coldest +easy easiest cool coolest +easy easiest dark darkest +fast fastest good best +fast fastest great greatest +fast fastest high highest +fast fastest hot hottest +fast fastest large largest +fast fastest long longest +fast fastest low lowest +fast fastest lucky luckiest +fast fastest old oldest +fast fastest quick quickest +fast fastest sharp sharpest +fast fastest simple simplest +fast fastest short shortest +fast fastest slow slowest +fast fastest small smallest +fast fastest smart smartest +fast fastest strange strangest +fast fastest strong strongest +fast fastest sweet sweetest +fast fastest tall tallest +fast fastest tasty tastiest +fast fastest warm warmest +fast fastest weak weakest +fast fastest weird weirdest +fast fastest wide widest +fast fastest young youngest +fast fastest bad worst +fast fastest big biggest +fast fastest bright brightest +fast fastest cold coldest +fast fastest cool coolest +fast fastest dark darkest +fast fastest easy easiest +good best great greatest +good best high highest +good best hot hottest +good best large largest +good best long longest +good best low lowest +good best lucky luckiest +good best old oldest +good best quick quickest +good best sharp sharpest +good best simple simplest +good best short shortest +good best slow slowest +good best small smallest +good best smart smartest +good best strange strangest +good best strong strongest +good best sweet sweetest +good best tall tallest +good best tasty tastiest +good best warm warmest +good best weak weakest +good best weird weirdest +good best wide widest +good best young youngest +good best bad worst +good best big biggest +good best bright brightest +good best cold coldest +good best cool coolest +good best dark darkest +good best easy easiest +good best fast fastest +great greatest high highest +great greatest hot hottest +great greatest large largest +great greatest long longest +great greatest low lowest +great greatest lucky luckiest +great greatest old oldest +great greatest quick quickest +great greatest sharp sharpest +great greatest simple simplest +great greatest short shortest +great greatest slow slowest +great greatest small smallest +great greatest smart smartest +great greatest strange strangest +great greatest strong strongest +great greatest sweet sweetest +great greatest tall tallest +great greatest tasty tastiest +great greatest warm warmest +great greatest weak weakest +great greatest weird weirdest +great greatest wide widest +great greatest young youngest +great greatest bad worst +great greatest big biggest +great greatest bright brightest +great greatest cold coldest +great greatest cool coolest +great greatest dark darkest +great greatest easy easiest +great greatest fast fastest +great greatest good best +high highest hot hottest +high highest large largest +high highest long longest +high highest low lowest +high highest lucky luckiest +high highest old oldest +high highest quick quickest +high highest sharp sharpest +high highest simple simplest +high highest short shortest +high highest slow slowest +high highest small smallest +high highest smart smartest +high highest strange strangest +high highest strong strongest +high highest sweet sweetest +high highest tall tallest +high highest tasty tastiest +high highest warm warmest +high highest weak weakest +high highest weird weirdest +high highest wide widest +high highest young youngest +high highest bad worst +high highest big biggest +high highest bright brightest +high highest cold coldest +high highest cool coolest +high highest dark darkest +high highest easy easiest +high highest fast fastest +high highest good best +high highest great greatest +hot hottest large largest +hot hottest long longest +hot hottest low lowest +hot hottest lucky luckiest +hot hottest old oldest +hot hottest quick quickest +hot hottest sharp sharpest +hot hottest simple simplest +hot hottest short shortest +hot hottest slow slowest +hot hottest small smallest +hot hottest smart smartest +hot hottest strange strangest +hot hottest strong strongest +hot hottest sweet sweetest +hot hottest tall tallest +hot hottest tasty tastiest +hot hottest warm warmest +hot hottest weak weakest +hot hottest weird weirdest +hot hottest wide widest +hot hottest young youngest +hot hottest bad worst +hot hottest big biggest +hot hottest bright brightest +hot hottest cold coldest +hot hottest cool coolest +hot hottest dark darkest +hot hottest easy easiest +hot hottest fast fastest +hot hottest good best +hot hottest great greatest +hot hottest high highest +large largest long longest +large largest low lowest +large largest lucky luckiest +large largest old oldest +large largest quick quickest +large largest sharp sharpest +large largest simple simplest +large largest short shortest +large largest slow slowest +large largest small smallest +large largest smart smartest +large largest strange strangest +large largest strong strongest +large largest sweet sweetest +large largest tall tallest +large largest tasty tastiest +large largest warm warmest +large largest weak weakest +large largest weird weirdest +large largest wide widest +large largest young youngest +large largest bad worst +large largest big biggest +large largest bright brightest +large largest cold coldest +large largest cool coolest +large largest dark darkest +large largest easy easiest +large largest fast fastest +large largest good best +large largest great greatest +large largest high highest +large largest hot hottest +long longest low lowest +long longest lucky luckiest +long longest old oldest +long longest quick quickest +long longest sharp sharpest +long longest simple simplest +long longest short shortest +long longest slow slowest +long longest small smallest +long longest smart smartest +long longest strange strangest +long longest strong strongest +long longest sweet sweetest +long longest tall tallest +long longest tasty tastiest +long longest warm warmest +long longest weak weakest +long longest weird weirdest +long longest wide widest +long longest young youngest +long longest bad worst +long longest big biggest +long longest bright brightest +long longest cold coldest +long longest cool coolest +long longest dark darkest +long longest easy easiest +long longest fast fastest +long longest good best +long longest great greatest +long longest high highest +long longest hot hottest +long longest large largest +low lowest lucky luckiest +low lowest old oldest +low lowest quick quickest +low lowest sharp sharpest +low lowest simple simplest +low lowest short shortest +low lowest slow slowest +low lowest small smallest +low lowest smart smartest +low lowest strange strangest +low lowest strong strongest +low lowest sweet sweetest +low lowest tall tallest +low lowest tasty tastiest +low lowest warm warmest +low lowest weak weakest +low lowest weird weirdest +low lowest wide widest +low lowest young youngest +low lowest bad worst +low lowest big biggest +low lowest bright brightest +low lowest cold coldest +low lowest cool coolest +low lowest dark darkest +low lowest easy easiest +low lowest fast fastest +low lowest good best +low lowest great greatest +low lowest high highest +low lowest hot hottest +low lowest large largest +low lowest long longest +lucky luckiest old oldest +lucky luckiest quick quickest +lucky luckiest sharp sharpest +lucky luckiest simple simplest +lucky luckiest short shortest +lucky luckiest slow slowest +lucky luckiest small smallest +lucky luckiest smart smartest +lucky luckiest strange strangest +lucky luckiest strong strongest +lucky luckiest sweet sweetest +lucky luckiest tall tallest +lucky luckiest tasty tastiest +lucky luckiest warm warmest +lucky luckiest weak weakest +lucky luckiest weird weirdest +lucky luckiest wide widest +lucky luckiest young youngest +lucky luckiest bad worst +lucky luckiest big biggest +lucky luckiest bright brightest +lucky luckiest cold coldest +lucky luckiest cool coolest +lucky luckiest dark darkest +lucky luckiest easy easiest +lucky luckiest fast fastest +lucky luckiest good best +lucky luckiest great greatest +lucky luckiest high highest +lucky luckiest hot hottest +lucky luckiest large largest +lucky luckiest long longest +lucky luckiest low lowest +old oldest quick quickest +old oldest sharp sharpest +old oldest simple simplest +old oldest short shortest +old oldest slow slowest +old oldest small smallest +old oldest smart smartest +old oldest strange strangest +old oldest strong strongest +old oldest sweet sweetest +old oldest tall tallest +old oldest tasty tastiest +old oldest warm warmest +old oldest weak weakest +old oldest weird weirdest +old oldest wide widest +old oldest young youngest +old oldest bad worst +old oldest big biggest +old oldest bright brightest +old oldest cold coldest +old oldest cool coolest +old oldest dark darkest +old oldest easy easiest +old oldest fast fastest +old oldest good best +old oldest great greatest +old oldest high highest +old oldest hot hottest +old oldest large largest +old oldest long longest +old oldest low lowest +old oldest lucky luckiest +quick quickest sharp sharpest +quick quickest simple simplest +quick quickest short shortest +quick quickest slow slowest +quick quickest small smallest +quick quickest smart smartest +quick quickest strange strangest +quick quickest strong strongest +quick quickest sweet sweetest +quick quickest tall tallest +quick quickest tasty tastiest +quick quickest warm warmest +quick quickest weak weakest +quick quickest weird weirdest +quick quickest wide widest +quick quickest young youngest +quick quickest bad worst +quick quickest big biggest +quick quickest bright brightest +quick quickest cold coldest +quick quickest cool coolest +quick quickest dark darkest +quick quickest easy easiest +quick quickest fast fastest +quick quickest good best +quick quickest great greatest +quick quickest high highest +quick quickest hot hottest +quick quickest large largest +quick quickest long longest +quick quickest low lowest +quick quickest lucky luckiest +quick quickest old oldest +sharp sharpest simple simplest +sharp sharpest short shortest +sharp sharpest slow slowest +sharp sharpest small smallest +sharp sharpest smart smartest +sharp sharpest strange strangest +sharp sharpest strong strongest +sharp sharpest sweet sweetest +sharp sharpest tall tallest +sharp sharpest tasty tastiest +sharp sharpest warm warmest +sharp sharpest weak weakest +sharp sharpest weird weirdest +sharp sharpest wide widest +sharp sharpest young youngest +sharp sharpest bad worst +sharp sharpest big biggest +sharp sharpest bright brightest +sharp sharpest cold coldest +sharp sharpest cool coolest +sharp sharpest dark darkest +sharp sharpest easy easiest +sharp sharpest fast fastest +sharp sharpest good best +sharp sharpest great greatest +sharp sharpest high highest +sharp sharpest hot hottest +sharp sharpest large largest +sharp sharpest long longest +sharp sharpest low lowest +sharp sharpest lucky luckiest +sharp sharpest old oldest +sharp sharpest quick quickest +simple simplest short shortest +simple simplest slow slowest +simple simplest small smallest +simple simplest smart smartest +simple simplest strange strangest +simple simplest strong strongest +simple simplest sweet sweetest +simple simplest tall tallest +simple simplest tasty tastiest +simple simplest warm warmest +simple simplest weak weakest +simple simplest weird weirdest +simple simplest wide widest +simple simplest young youngest +simple simplest bad worst +simple simplest big biggest +simple simplest bright brightest +simple simplest cold coldest +simple simplest cool coolest +simple simplest dark darkest +simple simplest easy easiest +simple simplest fast fastest +simple simplest good best +simple simplest great greatest +simple simplest high highest +simple simplest hot hottest +simple simplest large largest +simple simplest long longest +simple simplest low lowest +simple simplest lucky luckiest +simple simplest old oldest +simple simplest quick quickest +simple simplest sharp sharpest +short shortest slow slowest +short shortest small smallest +short shortest smart smartest +short shortest strange strangest +short shortest strong strongest +short shortest sweet sweetest +short shortest tall tallest +short shortest tasty tastiest +short shortest warm warmest +short shortest weak weakest +short shortest weird weirdest +short shortest wide widest +short shortest young youngest +short shortest bad worst +short shortest big biggest +short shortest bright brightest +short shortest cold coldest +short shortest cool coolest +short shortest dark darkest +short shortest easy easiest +short shortest fast fastest +short shortest good best +short shortest great greatest +short shortest high highest +short shortest hot hottest +short shortest large largest +short shortest long longest +short shortest low lowest +short shortest lucky luckiest +short shortest old oldest +short shortest quick quickest +short shortest sharp sharpest +short shortest simple simplest +slow slowest small smallest +slow slowest smart smartest +slow slowest strange strangest +slow slowest strong strongest +slow slowest sweet sweetest +slow slowest tall tallest +slow slowest tasty tastiest +slow slowest warm warmest +slow slowest weak weakest +slow slowest weird weirdest +slow slowest wide widest +slow slowest young youngest +slow slowest bad worst +slow slowest big biggest +slow slowest bright brightest +slow slowest cold coldest +slow slowest cool coolest +slow slowest dark darkest +slow slowest easy easiest +slow slowest fast fastest +slow slowest good best +slow slowest great greatest +slow slowest high highest +slow slowest hot hottest +slow slowest large largest +slow slowest long longest +slow slowest low lowest +slow slowest lucky luckiest +slow slowest old oldest +slow slowest quick quickest +slow slowest sharp sharpest +slow slowest simple simplest +slow slowest short shortest +small smallest smart smartest +small smallest strange strangest +small smallest strong strongest +small smallest sweet sweetest +small smallest tall tallest +small smallest tasty tastiest +small smallest warm warmest +small smallest weak weakest +small smallest weird weirdest +small smallest wide widest +small smallest young youngest +small smallest bad worst +small smallest big biggest +small smallest bright brightest +small smallest cold coldest +small smallest cool coolest +small smallest dark darkest +small smallest easy easiest +small smallest fast fastest +small smallest good best +small smallest great greatest +small smallest high highest +small smallest hot hottest +small smallest large largest +small smallest long longest +small smallest low lowest +small smallest lucky luckiest +small smallest old oldest +small smallest quick quickest +small smallest sharp sharpest +small smallest simple simplest +small smallest short shortest +small smallest slow slowest +smart smartest strange strangest +smart smartest strong strongest +smart smartest sweet sweetest +smart smartest tall tallest +smart smartest tasty tastiest +smart smartest warm warmest +smart smartest weak weakest +smart smartest weird weirdest +smart smartest wide widest +smart smartest young youngest +smart smartest bad worst +smart smartest big biggest +smart smartest bright brightest +smart smartest cold coldest +smart smartest cool coolest +smart smartest dark darkest +smart smartest easy easiest +smart smartest fast fastest +smart smartest good best +smart smartest great greatest +smart smartest high highest +smart smartest hot hottest +smart smartest large largest +smart smartest long longest +smart smartest low lowest +smart smartest lucky luckiest +smart smartest old oldest +smart smartest quick quickest +smart smartest sharp sharpest +smart smartest simple simplest +smart smartest short shortest +smart smartest slow slowest +smart smartest small smallest +strange strangest strong strongest +strange strangest sweet sweetest +strange strangest tall tallest +strange strangest tasty tastiest +strange strangest warm warmest +strange strangest weak weakest +strange strangest weird weirdest +strange strangest wide widest +strange strangest young youngest +strange strangest bad worst +strange strangest big biggest +strange strangest bright brightest +strange strangest cold coldest +strange strangest cool coolest +strange strangest dark darkest +strange strangest easy easiest +strange strangest fast fastest +strange strangest good best +strange strangest great greatest +strange strangest high highest +strange strangest hot hottest +strange strangest large largest +strange strangest long longest +strange strangest low lowest +strange strangest lucky luckiest +strange strangest old oldest +strange strangest quick quickest +strange strangest sharp sharpest +strange strangest simple simplest +strange strangest short shortest +strange strangest slow slowest +strange strangest small smallest +strange strangest smart smartest +strong strongest sweet sweetest +strong strongest tall tallest +strong strongest tasty tastiest +strong strongest warm warmest +strong strongest weak weakest +strong strongest weird weirdest +strong strongest wide widest +strong strongest young youngest +strong strongest bad worst +strong strongest big biggest +strong strongest bright brightest +strong strongest cold coldest +strong strongest cool coolest +strong strongest dark darkest +strong strongest easy easiest +strong strongest fast fastest +strong strongest good best +strong strongest great greatest +strong strongest high highest +strong strongest hot hottest +strong strongest large largest +strong strongest long longest +strong strongest low lowest +strong strongest lucky luckiest +strong strongest old oldest +strong strongest quick quickest +strong strongest sharp sharpest +strong strongest simple simplest +strong strongest short shortest +strong strongest slow slowest +strong strongest small smallest +strong strongest smart smartest +strong strongest strange strangest +sweet sweetest tall tallest +sweet sweetest tasty tastiest +sweet sweetest warm warmest +sweet sweetest weak weakest +sweet sweetest weird weirdest +sweet sweetest wide widest +sweet sweetest young youngest +sweet sweetest bad worst +sweet sweetest big biggest +sweet sweetest bright brightest +sweet sweetest cold coldest +sweet sweetest cool coolest +sweet sweetest dark darkest +sweet sweetest easy easiest +sweet sweetest fast fastest +sweet sweetest good best +sweet sweetest great greatest +sweet sweetest high highest +sweet sweetest hot hottest +sweet sweetest large largest +sweet sweetest long longest +sweet sweetest low lowest +sweet sweetest lucky luckiest +sweet sweetest old oldest +sweet sweetest quick quickest +sweet sweetest sharp sharpest +sweet sweetest simple simplest +sweet sweetest short shortest +sweet sweetest slow slowest +sweet sweetest small smallest +sweet sweetest smart smartest +sweet sweetest strange strangest +sweet sweetest strong strongest +tall tallest tasty tastiest +tall tallest warm warmest +tall tallest weak weakest +tall tallest weird weirdest +tall tallest wide widest +tall tallest young youngest +tall tallest bad worst +tall tallest big biggest +tall tallest bright brightest +tall tallest cold coldest +tall tallest cool coolest +tall tallest dark darkest +tall tallest easy easiest +tall tallest fast fastest +tall tallest good best +tall tallest great greatest +tall tallest high highest +tall tallest hot hottest +tall tallest large largest +tall tallest long longest +tall tallest low lowest +tall tallest lucky luckiest +tall tallest old oldest +tall tallest quick quickest +tall tallest sharp sharpest +tall tallest simple simplest +tall tallest short shortest +tall tallest slow slowest +tall tallest small smallest +tall tallest smart smartest +tall tallest strange strangest +tall tallest strong strongest +tall tallest sweet sweetest +tasty tastiest warm warmest +tasty tastiest weak weakest +tasty tastiest weird weirdest +tasty tastiest wide widest +tasty tastiest young youngest +tasty tastiest bad worst +tasty tastiest big biggest +tasty tastiest bright brightest +tasty tastiest cold coldest +tasty tastiest cool coolest +tasty tastiest dark darkest +tasty tastiest easy easiest +tasty tastiest fast fastest +tasty tastiest good best +tasty tastiest great greatest +tasty tastiest high highest +tasty tastiest hot hottest +tasty tastiest large largest +tasty tastiest long longest +tasty tastiest low lowest +tasty tastiest lucky luckiest +tasty tastiest old oldest +tasty tastiest quick quickest +tasty tastiest sharp sharpest +tasty tastiest simple simplest +tasty tastiest short shortest +tasty tastiest slow slowest +tasty tastiest small smallest +tasty tastiest smart smartest +tasty tastiest strange strangest +tasty tastiest strong strongest +tasty tastiest sweet sweetest +tasty tastiest tall tallest +warm warmest weak weakest +warm warmest weird weirdest +warm warmest wide widest +warm warmest young youngest +warm warmest bad worst +warm warmest big biggest +warm warmest bright brightest +warm warmest cold coldest +warm warmest cool coolest +warm warmest dark darkest +warm warmest easy easiest +warm warmest fast fastest +warm warmest good best +warm warmest great greatest +warm warmest high highest +warm warmest hot hottest +warm warmest large largest +warm warmest long longest +warm warmest low lowest +warm warmest lucky luckiest +warm warmest old oldest +warm warmest quick quickest +warm warmest sharp sharpest +warm warmest simple simplest +warm warmest short shortest +warm warmest slow slowest +warm warmest small smallest +warm warmest smart smartest +warm warmest strange strangest +warm warmest strong strongest +warm warmest sweet sweetest +warm warmest tall tallest +warm warmest tasty tastiest +weak weakest weird weirdest +weak weakest wide widest +weak weakest young youngest +weak weakest bad worst +weak weakest big biggest +weak weakest bright brightest +weak weakest cold coldest +weak weakest cool coolest +weak weakest dark darkest +weak weakest easy easiest +weak weakest fast fastest +weak weakest good best +weak weakest great greatest +weak weakest high highest +weak weakest hot hottest +weak weakest large largest +weak weakest long longest +weak weakest low lowest +weak weakest lucky luckiest +weak weakest old oldest +weak weakest quick quickest +weak weakest sharp sharpest +weak weakest simple simplest +weak weakest short shortest +weak weakest slow slowest +weak weakest small smallest +weak weakest smart smartest +weak weakest strange strangest +weak weakest strong strongest +weak weakest sweet sweetest +weak weakest tall tallest +weak weakest tasty tastiest +weak weakest warm warmest +weird weirdest wide widest +weird weirdest young youngest +weird weirdest bad worst +weird weirdest big biggest +weird weirdest bright brightest +weird weirdest cold coldest +weird weirdest cool coolest +weird weirdest dark darkest +weird weirdest easy easiest +weird weirdest fast fastest +weird weirdest good best +weird weirdest great greatest +weird weirdest high highest +weird weirdest hot hottest +weird weirdest large largest +weird weirdest long longest +weird weirdest low lowest +weird weirdest lucky luckiest +weird weirdest old oldest +weird weirdest quick quickest +weird weirdest sharp sharpest +weird weirdest simple simplest +weird weirdest short shortest +weird weirdest slow slowest +weird weirdest small smallest +weird weirdest smart smartest +weird weirdest strange strangest +weird weirdest strong strongest +weird weirdest sweet sweetest +weird weirdest tall tallest +weird weirdest tasty tastiest +weird weirdest warm warmest +weird weirdest weak weakest +wide widest young youngest +wide widest bad worst +wide widest big biggest +wide widest bright brightest +wide widest cold coldest +wide widest cool coolest +wide widest dark darkest +wide widest easy easiest +wide widest fast fastest +wide widest good best +wide widest great greatest +wide widest high highest +wide widest hot hottest +wide widest large largest +wide widest long longest +wide widest low lowest +wide widest lucky luckiest +wide widest old oldest +wide widest quick quickest +wide widest sharp sharpest +wide widest simple simplest +wide widest short shortest +wide widest slow slowest +wide widest small smallest +wide widest smart smartest +wide widest strange strangest +wide widest strong strongest +wide widest sweet sweetest +wide widest tall tallest +wide widest tasty tastiest +wide widest warm warmest +wide widest weak weakest +wide widest weird weirdest +young youngest bad worst +young youngest big biggest +young youngest bright brightest +young youngest cold coldest +young youngest cool coolest +young youngest dark darkest +young youngest easy easiest +young youngest fast fastest +young youngest good best +young youngest great greatest +young youngest high highest +young youngest hot hottest +young youngest large largest +young youngest long longest +young youngest low lowest +young youngest lucky luckiest +young youngest old oldest +young youngest quick quickest +young youngest sharp sharpest +young youngest simple simplest +young youngest short shortest +young youngest slow slowest +young youngest small smallest +young youngest smart smartest +young youngest strange strangest +young youngest strong strongest +young youngest sweet sweetest +young youngest tall tallest +young youngest tasty tastiest +young youngest warm warmest +young youngest weak weakest +young youngest weird weirdest +young youngest wide widest +: gram5-present-participle +code coding dance dancing +code coding debug debugging +code coding decrease decreasing +code coding describe describing +code coding discover discovering +code coding enhance enhancing +code coding fly flying +code coding generate generating +code coding go going +code coding implement implementing +code coding increase increasing +code coding invent inventing +code coding jump jumping +code coding listen listening +code coding look looking +code coding move moving +code coding play playing +code coding predict predicting +code coding read reading +code coding run running +code coding say saying +code coding scream screaming +code coding see seeing +code coding shuffle shuffling +code coding sing singing +code coding sit sitting +code coding slow slowing +code coding swim swimming +code coding think thinking +code coding vanish vanishing +code coding walk walking +code coding write writing +dance dancing debug debugging +dance dancing decrease decreasing +dance dancing describe describing +dance dancing discover discovering +dance dancing enhance enhancing +dance dancing fly flying +dance dancing generate generating +dance dancing go going +dance dancing implement implementing +dance dancing increase increasing +dance dancing invent inventing +dance dancing jump jumping +dance dancing listen listening +dance dancing look looking +dance dancing move moving +dance dancing play playing +dance dancing predict predicting +dance dancing read reading +dance dancing run running +dance dancing say saying +dance dancing scream screaming +dance dancing see seeing +dance dancing shuffle shuffling +dance dancing sing singing +dance dancing sit sitting +dance dancing slow slowing +dance dancing swim swimming +dance dancing think thinking +dance dancing vanish vanishing +dance dancing walk walking +dance dancing write writing +dance dancing code coding +debug debugging decrease decreasing +debug debugging describe describing +debug debugging discover discovering +debug debugging enhance enhancing +debug debugging fly flying +debug debugging generate generating +debug debugging go going +debug debugging implement implementing +debug debugging increase increasing +debug debugging invent inventing +debug debugging jump jumping +debug debugging listen listening +debug debugging look looking +debug debugging move moving +debug debugging play playing +debug debugging predict predicting +debug debugging read reading +debug debugging run running +debug debugging say saying +debug debugging scream screaming +debug debugging see seeing +debug debugging shuffle shuffling +debug debugging sing singing +debug debugging sit sitting +debug debugging slow slowing +debug debugging swim swimming +debug debugging think thinking +debug debugging vanish vanishing +debug debugging walk walking +debug debugging write writing +debug debugging code coding +debug debugging dance dancing +decrease decreasing describe describing +decrease decreasing discover discovering +decrease decreasing enhance enhancing +decrease decreasing fly flying +decrease decreasing generate generating +decrease decreasing go going +decrease decreasing implement implementing +decrease decreasing increase increasing +decrease decreasing invent inventing +decrease decreasing jump jumping +decrease decreasing listen listening +decrease decreasing look looking +decrease decreasing move moving +decrease decreasing play playing +decrease decreasing predict predicting +decrease decreasing read reading +decrease decreasing run running +decrease decreasing say saying +decrease decreasing scream screaming +decrease decreasing see seeing +decrease decreasing shuffle shuffling +decrease decreasing sing singing +decrease decreasing sit sitting +decrease decreasing slow slowing +decrease decreasing swim swimming +decrease decreasing think thinking +decrease decreasing vanish vanishing +decrease decreasing walk walking +decrease decreasing write writing +decrease decreasing code coding +decrease decreasing dance dancing +decrease decreasing debug debugging +describe describing discover discovering +describe describing enhance enhancing +describe describing fly flying +describe describing generate generating +describe describing go going +describe describing implement implementing +describe describing increase increasing +describe describing invent inventing +describe describing jump jumping +describe describing listen listening +describe describing look looking +describe describing move moving +describe describing play playing +describe describing predict predicting +describe describing read reading +describe describing run running +describe describing say saying +describe describing scream screaming +describe describing see seeing +describe describing shuffle shuffling +describe describing sing singing +describe describing sit sitting +describe describing slow slowing +describe describing swim swimming +describe describing think thinking +describe describing vanish vanishing +describe describing walk walking +describe describing write writing +describe describing code coding +describe describing dance dancing +describe describing debug debugging +describe describing decrease decreasing +discover discovering enhance enhancing +discover discovering fly flying +discover discovering generate generating +discover discovering go going +discover discovering implement implementing +discover discovering increase increasing +discover discovering invent inventing +discover discovering jump jumping +discover discovering listen listening +discover discovering look looking +discover discovering move moving +discover discovering play playing +discover discovering predict predicting +discover discovering read reading +discover discovering run running +discover discovering say saying +discover discovering scream screaming +discover discovering see seeing +discover discovering shuffle shuffling +discover discovering sing singing +discover discovering sit sitting +discover discovering slow slowing +discover discovering swim swimming +discover discovering think thinking +discover discovering vanish vanishing +discover discovering walk walking +discover discovering write writing +discover discovering code coding +discover discovering dance dancing +discover discovering debug debugging +discover discovering decrease decreasing +discover discovering describe describing +enhance enhancing fly flying +enhance enhancing generate generating +enhance enhancing go going +enhance enhancing implement implementing +enhance enhancing increase increasing +enhance enhancing invent inventing +enhance enhancing jump jumping +enhance enhancing listen listening +enhance enhancing look looking +enhance enhancing move moving +enhance enhancing play playing +enhance enhancing predict predicting +enhance enhancing read reading +enhance enhancing run running +enhance enhancing say saying +enhance enhancing scream screaming +enhance enhancing see seeing +enhance enhancing shuffle shuffling +enhance enhancing sing singing +enhance enhancing sit sitting +enhance enhancing slow slowing +enhance enhancing swim swimming +enhance enhancing think thinking +enhance enhancing vanish vanishing +enhance enhancing walk walking +enhance enhancing write writing +enhance enhancing code coding +enhance enhancing dance dancing +enhance enhancing debug debugging +enhance enhancing decrease decreasing +enhance enhancing describe describing +enhance enhancing discover discovering +fly flying generate generating +fly flying go going +fly flying implement implementing +fly flying increase increasing +fly flying invent inventing +fly flying jump jumping +fly flying listen listening +fly flying look looking +fly flying move moving +fly flying play playing +fly flying predict predicting +fly flying read reading +fly flying run running +fly flying say saying +fly flying scream screaming +fly flying see seeing +fly flying shuffle shuffling +fly flying sing singing +fly flying sit sitting +fly flying slow slowing +fly flying swim swimming +fly flying think thinking +fly flying vanish vanishing +fly flying walk walking +fly flying write writing +fly flying code coding +fly flying dance dancing +fly flying debug debugging +fly flying decrease decreasing +fly flying describe describing +fly flying discover discovering +fly flying enhance enhancing +generate generating go going +generate generating implement implementing +generate generating increase increasing +generate generating invent inventing +generate generating jump jumping +generate generating listen listening +generate generating look looking +generate generating move moving +generate generating play playing +generate generating predict predicting +generate generating read reading +generate generating run running +generate generating say saying +generate generating scream screaming +generate generating see seeing +generate generating shuffle shuffling +generate generating sing singing +generate generating sit sitting +generate generating slow slowing +generate generating swim swimming +generate generating think thinking +generate generating vanish vanishing +generate generating walk walking +generate generating write writing +generate generating code coding +generate generating dance dancing +generate generating debug debugging +generate generating decrease decreasing +generate generating describe describing +generate generating discover discovering +generate generating enhance enhancing +generate generating fly flying +go going implement implementing +go going increase increasing +go going invent inventing +go going jump jumping +go going listen listening +go going look looking +go going move moving +go going play playing +go going predict predicting +go going read reading +go going run running +go going say saying +go going scream screaming +go going see seeing +go going shuffle shuffling +go going sing singing +go going sit sitting +go going slow slowing +go going swim swimming +go going think thinking +go going vanish vanishing +go going walk walking +go going write writing +go going code coding +go going dance dancing +go going debug debugging +go going decrease decreasing +go going describe describing +go going discover discovering +go going enhance enhancing +go going fly flying +go going generate generating +implement implementing increase increasing +implement implementing invent inventing +implement implementing jump jumping +implement implementing listen listening +implement implementing look looking +implement implementing move moving +implement implementing play playing +implement implementing predict predicting +implement implementing read reading +implement implementing run running +implement implementing say saying +implement implementing scream screaming +implement implementing see seeing +implement implementing shuffle shuffling +implement implementing sing singing +implement implementing sit sitting +implement implementing slow slowing +implement implementing swim swimming +implement implementing think thinking +implement implementing vanish vanishing +implement implementing walk walking +implement implementing write writing +implement implementing code coding +implement implementing dance dancing +implement implementing debug debugging +implement implementing decrease decreasing +implement implementing describe describing +implement implementing discover discovering +implement implementing enhance enhancing +implement implementing fly flying +implement implementing generate generating +implement implementing go going +increase increasing invent inventing +increase increasing jump jumping +increase increasing listen listening +increase increasing look looking +increase increasing move moving +increase increasing play playing +increase increasing predict predicting +increase increasing read reading +increase increasing run running +increase increasing say saying +increase increasing scream screaming +increase increasing see seeing +increase increasing shuffle shuffling +increase increasing sing singing +increase increasing sit sitting +increase increasing slow slowing +increase increasing swim swimming +increase increasing think thinking +increase increasing vanish vanishing +increase increasing walk walking +increase increasing write writing +increase increasing code coding +increase increasing dance dancing +increase increasing debug debugging +increase increasing decrease decreasing +increase increasing describe describing +increase increasing discover discovering +increase increasing enhance enhancing +increase increasing fly flying +increase increasing generate generating +increase increasing go going +increase increasing implement implementing +invent inventing jump jumping +invent inventing listen listening +invent inventing look looking +invent inventing move moving +invent inventing play playing +invent inventing predict predicting +invent inventing read reading +invent inventing run running +invent inventing say saying +invent inventing scream screaming +invent inventing see seeing +invent inventing shuffle shuffling +invent inventing sing singing +invent inventing sit sitting +invent inventing slow slowing +invent inventing swim swimming +invent inventing think thinking +invent inventing vanish vanishing +invent inventing walk walking +invent inventing write writing +invent inventing code coding +invent inventing dance dancing +invent inventing debug debugging +invent inventing decrease decreasing +invent inventing describe describing +invent inventing discover discovering +invent inventing enhance enhancing +invent inventing fly flying +invent inventing generate generating +invent inventing go going +invent inventing implement implementing +invent inventing increase increasing +jump jumping listen listening +jump jumping look looking +jump jumping move moving +jump jumping play playing +jump jumping predict predicting +jump jumping read reading +jump jumping run running +jump jumping say saying +jump jumping scream screaming +jump jumping see seeing +jump jumping shuffle shuffling +jump jumping sing singing +jump jumping sit sitting +jump jumping slow slowing +jump jumping swim swimming +jump jumping think thinking +jump jumping vanish vanishing +jump jumping walk walking +jump jumping write writing +jump jumping code coding +jump jumping dance dancing +jump jumping debug debugging +jump jumping decrease decreasing +jump jumping describe describing +jump jumping discover discovering +jump jumping enhance enhancing +jump jumping fly flying +jump jumping generate generating +jump jumping go going +jump jumping implement implementing +jump jumping increase increasing +jump jumping invent inventing +listen listening look looking +listen listening move moving +listen listening play playing +listen listening predict predicting +listen listening read reading +listen listening run running +listen listening say saying +listen listening scream screaming +listen listening see seeing +listen listening shuffle shuffling +listen listening sing singing +listen listening sit sitting +listen listening slow slowing +listen listening swim swimming +listen listening think thinking +listen listening vanish vanishing +listen listening walk walking +listen listening write writing +listen listening code coding +listen listening dance dancing +listen listening debug debugging +listen listening decrease decreasing +listen listening describe describing +listen listening discover discovering +listen listening enhance enhancing +listen listening fly flying +listen listening generate generating +listen listening go going +listen listening implement implementing +listen listening increase increasing +listen listening invent inventing +listen listening jump jumping +look looking move moving +look looking play playing +look looking predict predicting +look looking read reading +look looking run running +look looking say saying +look looking scream screaming +look looking see seeing +look looking shuffle shuffling +look looking sing singing +look looking sit sitting +look looking slow slowing +look looking swim swimming +look looking think thinking +look looking vanish vanishing +look looking walk walking +look looking write writing +look looking code coding +look looking dance dancing +look looking debug debugging +look looking decrease decreasing +look looking describe describing +look looking discover discovering +look looking enhance enhancing +look looking fly flying +look looking generate generating +look looking go going +look looking implement implementing +look looking increase increasing +look looking invent inventing +look looking jump jumping +look looking listen listening +move moving play playing +move moving predict predicting +move moving read reading +move moving run running +move moving say saying +move moving scream screaming +move moving see seeing +move moving shuffle shuffling +move moving sing singing +move moving sit sitting +move moving slow slowing +move moving swim swimming +move moving think thinking +move moving vanish vanishing +move moving walk walking +move moving write writing +move moving code coding +move moving dance dancing +move moving debug debugging +move moving decrease decreasing +move moving describe describing +move moving discover discovering +move moving enhance enhancing +move moving fly flying +move moving generate generating +move moving go going +move moving implement implementing +move moving increase increasing +move moving invent inventing +move moving jump jumping +move moving listen listening +move moving look looking +play playing predict predicting +play playing read reading +play playing run running +play playing say saying +play playing scream screaming +play playing see seeing +play playing shuffle shuffling +play playing sing singing +play playing sit sitting +play playing slow slowing +play playing swim swimming +play playing think thinking +play playing vanish vanishing +play playing walk walking +play playing write writing +play playing code coding +play playing dance dancing +play playing debug debugging +play playing decrease decreasing +play playing describe describing +play playing discover discovering +play playing enhance enhancing +play playing fly flying +play playing generate generating +play playing go going +play playing implement implementing +play playing increase increasing +play playing invent inventing +play playing jump jumping +play playing listen listening +play playing look looking +play playing move moving +predict predicting read reading +predict predicting run running +predict predicting say saying +predict predicting scream screaming +predict predicting see seeing +predict predicting shuffle shuffling +predict predicting sing singing +predict predicting sit sitting +predict predicting slow slowing +predict predicting swim swimming +predict predicting think thinking +predict predicting vanish vanishing +predict predicting walk walking +predict predicting write writing +predict predicting code coding +predict predicting dance dancing +predict predicting debug debugging +predict predicting decrease decreasing +predict predicting describe describing +predict predicting discover discovering +predict predicting enhance enhancing +predict predicting fly flying +predict predicting generate generating +predict predicting go going +predict predicting implement implementing +predict predicting increase increasing +predict predicting invent inventing +predict predicting jump jumping +predict predicting listen listening +predict predicting look looking +predict predicting move moving +predict predicting play playing +read reading run running +read reading say saying +read reading scream screaming +read reading see seeing +read reading shuffle shuffling +read reading sing singing +read reading sit sitting +read reading slow slowing +read reading swim swimming +read reading think thinking +read reading vanish vanishing +read reading walk walking +read reading write writing +read reading code coding +read reading dance dancing +read reading debug debugging +read reading decrease decreasing +read reading describe describing +read reading discover discovering +read reading enhance enhancing +read reading fly flying +read reading generate generating +read reading go going +read reading implement implementing +read reading increase increasing +read reading invent inventing +read reading jump jumping +read reading listen listening +read reading look looking +read reading move moving +read reading play playing +read reading predict predicting +run running say saying +run running scream screaming +run running see seeing +run running shuffle shuffling +run running sing singing +run running sit sitting +run running slow slowing +run running swim swimming +run running think thinking +run running vanish vanishing +run running walk walking +run running write writing +run running code coding +run running dance dancing +run running debug debugging +run running decrease decreasing +run running describe describing +run running discover discovering +run running enhance enhancing +run running fly flying +run running generate generating +run running go going +run running implement implementing +run running increase increasing +run running invent inventing +run running jump jumping +run running listen listening +run running look looking +run running move moving +run running play playing +run running predict predicting +run running read reading +say saying scream screaming +say saying see seeing +say saying shuffle shuffling +say saying sing singing +say saying sit sitting +say saying slow slowing +say saying swim swimming +say saying think thinking +say saying vanish vanishing +say saying walk walking +say saying write writing +say saying code coding +say saying dance dancing +say saying debug debugging +say saying decrease decreasing +say saying describe describing +say saying discover discovering +say saying enhance enhancing +say saying fly flying +say saying generate generating +say saying go going +say saying implement implementing +say saying increase increasing +say saying invent inventing +say saying jump jumping +say saying listen listening +say saying look looking +say saying move moving +say saying play playing +say saying predict predicting +say saying read reading +say saying run running +scream screaming see seeing +scream screaming shuffle shuffling +scream screaming sing singing +scream screaming sit sitting +scream screaming slow slowing +scream screaming swim swimming +scream screaming think thinking +scream screaming vanish vanishing +scream screaming walk walking +scream screaming write writing +scream screaming code coding +scream screaming dance dancing +scream screaming debug debugging +scream screaming decrease decreasing +scream screaming describe describing +scream screaming discover discovering +scream screaming enhance enhancing +scream screaming fly flying +scream screaming generate generating +scream screaming go going +scream screaming implement implementing +scream screaming increase increasing +scream screaming invent inventing +scream screaming jump jumping +scream screaming listen listening +scream screaming look looking +scream screaming move moving +scream screaming play playing +scream screaming predict predicting +scream screaming read reading +scream screaming run running +scream screaming say saying +see seeing shuffle shuffling +see seeing sing singing +see seeing sit sitting +see seeing slow slowing +see seeing swim swimming +see seeing think thinking +see seeing vanish vanishing +see seeing walk walking +see seeing write writing +see seeing code coding +see seeing dance dancing +see seeing debug debugging +see seeing decrease decreasing +see seeing describe describing +see seeing discover discovering +see seeing enhance enhancing +see seeing fly flying +see seeing generate generating +see seeing go going +see seeing implement implementing +see seeing increase increasing +see seeing invent inventing +see seeing jump jumping +see seeing listen listening +see seeing look looking +see seeing move moving +see seeing play playing +see seeing predict predicting +see seeing read reading +see seeing run running +see seeing say saying +see seeing scream screaming +shuffle shuffling sing singing +shuffle shuffling sit sitting +shuffle shuffling slow slowing +shuffle shuffling swim swimming +shuffle shuffling think thinking +shuffle shuffling vanish vanishing +shuffle shuffling walk walking +shuffle shuffling write writing +shuffle shuffling code coding +shuffle shuffling dance dancing +shuffle shuffling debug debugging +shuffle shuffling decrease decreasing +shuffle shuffling describe describing +shuffle shuffling discover discovering +shuffle shuffling enhance enhancing +shuffle shuffling fly flying +shuffle shuffling generate generating +shuffle shuffling go going +shuffle shuffling implement implementing +shuffle shuffling increase increasing +shuffle shuffling invent inventing +shuffle shuffling jump jumping +shuffle shuffling listen listening +shuffle shuffling look looking +shuffle shuffling move moving +shuffle shuffling play playing +shuffle shuffling predict predicting +shuffle shuffling read reading +shuffle shuffling run running +shuffle shuffling say saying +shuffle shuffling scream screaming +shuffle shuffling see seeing +sing singing sit sitting +sing singing slow slowing +sing singing swim swimming +sing singing think thinking +sing singing vanish vanishing +sing singing walk walking +sing singing write writing +sing singing code coding +sing singing dance dancing +sing singing debug debugging +sing singing decrease decreasing +sing singing describe describing +sing singing discover discovering +sing singing enhance enhancing +sing singing fly flying +sing singing generate generating +sing singing go going +sing singing implement implementing +sing singing increase increasing +sing singing invent inventing +sing singing jump jumping +sing singing listen listening +sing singing look looking +sing singing move moving +sing singing play playing +sing singing predict predicting +sing singing read reading +sing singing run running +sing singing say saying +sing singing scream screaming +sing singing see seeing +sing singing shuffle shuffling +sit sitting slow slowing +sit sitting swim swimming +sit sitting think thinking +sit sitting vanish vanishing +sit sitting walk walking +sit sitting write writing +sit sitting code coding +sit sitting dance dancing +sit sitting debug debugging +sit sitting decrease decreasing +sit sitting describe describing +sit sitting discover discovering +sit sitting enhance enhancing +sit sitting fly flying +sit sitting generate generating +sit sitting go going +sit sitting implement implementing +sit sitting increase increasing +sit sitting invent inventing +sit sitting jump jumping +sit sitting listen listening +sit sitting look looking +sit sitting move moving +sit sitting play playing +sit sitting predict predicting +sit sitting read reading +sit sitting run running +sit sitting say saying +sit sitting scream screaming +sit sitting see seeing +sit sitting shuffle shuffling +sit sitting sing singing +slow slowing swim swimming +slow slowing think thinking +slow slowing vanish vanishing +slow slowing walk walking +slow slowing write writing +slow slowing code coding +slow slowing dance dancing +slow slowing debug debugging +slow slowing decrease decreasing +slow slowing describe describing +slow slowing discover discovering +slow slowing enhance enhancing +slow slowing fly flying +slow slowing generate generating +slow slowing go going +slow slowing implement implementing +slow slowing increase increasing +slow slowing invent inventing +slow slowing jump jumping +slow slowing listen listening +slow slowing look looking +slow slowing move moving +slow slowing play playing +slow slowing predict predicting +slow slowing read reading +slow slowing run running +slow slowing say saying +slow slowing scream screaming +slow slowing see seeing +slow slowing shuffle shuffling +slow slowing sing singing +slow slowing sit sitting +swim swimming think thinking +swim swimming vanish vanishing +swim swimming walk walking +swim swimming write writing +swim swimming code coding +swim swimming dance dancing +swim swimming debug debugging +swim swimming decrease decreasing +swim swimming describe describing +swim swimming discover discovering +swim swimming enhance enhancing +swim swimming fly flying +swim swimming generate generating +swim swimming go going +swim swimming implement implementing +swim swimming increase increasing +swim swimming invent inventing +swim swimming jump jumping +swim swimming listen listening +swim swimming look looking +swim swimming move moving +swim swimming play playing +swim swimming predict predicting +swim swimming read reading +swim swimming run running +swim swimming say saying +swim swimming scream screaming +swim swimming see seeing +swim swimming shuffle shuffling +swim swimming sing singing +swim swimming sit sitting +swim swimming slow slowing +think thinking vanish vanishing +think thinking walk walking +think thinking write writing +think thinking code coding +think thinking dance dancing +think thinking debug debugging +think thinking decrease decreasing +think thinking describe describing +think thinking discover discovering +think thinking enhance enhancing +think thinking fly flying +think thinking generate generating +think thinking go going +think thinking implement implementing +think thinking increase increasing +think thinking invent inventing +think thinking jump jumping +think thinking listen listening +think thinking look looking +think thinking move moving +think thinking play playing +think thinking predict predicting +think thinking read reading +think thinking run running +think thinking say saying +think thinking scream screaming +think thinking see seeing +think thinking shuffle shuffling +think thinking sing singing +think thinking sit sitting +think thinking slow slowing +think thinking swim swimming +vanish vanishing walk walking +vanish vanishing write writing +vanish vanishing code coding +vanish vanishing dance dancing +vanish vanishing debug debugging +vanish vanishing decrease decreasing +vanish vanishing describe describing +vanish vanishing discover discovering +vanish vanishing enhance enhancing +vanish vanishing fly flying +vanish vanishing generate generating +vanish vanishing go going +vanish vanishing implement implementing +vanish vanishing increase increasing +vanish vanishing invent inventing +vanish vanishing jump jumping +vanish vanishing listen listening +vanish vanishing look looking +vanish vanishing move moving +vanish vanishing play playing +vanish vanishing predict predicting +vanish vanishing read reading +vanish vanishing run running +vanish vanishing say saying +vanish vanishing scream screaming +vanish vanishing see seeing +vanish vanishing shuffle shuffling +vanish vanishing sing singing +vanish vanishing sit sitting +vanish vanishing slow slowing +vanish vanishing swim swimming +vanish vanishing think thinking +walk walking write writing +walk walking code coding +walk walking dance dancing +walk walking debug debugging +walk walking decrease decreasing +walk walking describe describing +walk walking discover discovering +walk walking enhance enhancing +walk walking fly flying +walk walking generate generating +walk walking go going +walk walking implement implementing +walk walking increase increasing +walk walking invent inventing +walk walking jump jumping +walk walking listen listening +walk walking look looking +walk walking move moving +walk walking play playing +walk walking predict predicting +walk walking read reading +walk walking run running +walk walking say saying +walk walking scream screaming +walk walking see seeing +walk walking shuffle shuffling +walk walking sing singing +walk walking sit sitting +walk walking slow slowing +walk walking swim swimming +walk walking think thinking +walk walking vanish vanishing +write writing code coding +write writing dance dancing +write writing debug debugging +write writing decrease decreasing +write writing describe describing +write writing discover discovering +write writing enhance enhancing +write writing fly flying +write writing generate generating +write writing go going +write writing implement implementing +write writing increase increasing +write writing invent inventing +write writing jump jumping +write writing listen listening +write writing look looking +write writing move moving +write writing play playing +write writing predict predicting +write writing read reading +write writing run running +write writing say saying +write writing scream screaming +write writing see seeing +write writing shuffle shuffling +write writing sing singing +write writing sit sitting +write writing slow slowing +write writing swim swimming +write writing think thinking +write writing vanish vanishing +write writing walk walking +: gram6-nationality-adjective +Albania Albanian Argentina Argentinean +Albania Albanian Australia Australian +Albania Albanian Austria Austrian +Albania Albanian Belarus Belorussian +Albania Albanian Brazil Brazilian +Albania Albanian Bulgaria Bulgarian +Albania Albanian Cambodia Cambodian +Albania Albanian Chile Chilean +Albania Albanian China Chinese +Albania Albanian Colombia Colombian +Albania Albanian Croatia Croatian +Albania Albanian Denmark Danish +Albania Albanian Egypt Egyptian +Albania Albanian England English +Albania Albanian France French +Albania Albanian Germany German +Albania Albanian Greece Greek +Albania Albanian Iceland Icelandic +Albania Albanian India Indian +Albania Albanian Ireland Irish +Albania Albanian Israel Israeli +Albania Albanian Italy Italian +Albania Albanian Japan Japanese +Albania Albanian Korea Korean +Albania Albanian Macedonia Macedonian +Albania Albanian Malta Maltese +Albania Albanian Mexico Mexican +Albania Albanian Moldova Moldovan +Albania Albanian Netherlands Dutch +Albania Albanian Norway Norwegian +Albania Albanian Peru Peruvian +Albania Albanian Poland Polish +Albania Albanian Portugal Portuguese +Albania Albanian Russia Russian +Albania Albanian Slovakia Slovakian +Albania Albanian Spain Spanish +Albania Albanian Sweden Swedish +Albania Albanian Switzerland Swiss +Albania Albanian Thailand Thai +Argentina Argentinean Australia Australian +Argentina Argentinean Austria Austrian +Argentina Argentinean Belarus Belorussian +Argentina Argentinean Brazil Brazilian +Argentina Argentinean Bulgaria Bulgarian +Argentina Argentinean Cambodia Cambodian +Argentina Argentinean Chile Chilean +Argentina Argentinean China Chinese +Argentina Argentinean Colombia Colombian +Argentina Argentinean Croatia Croatian +Argentina Argentinean Denmark Danish +Argentina Argentinean Egypt Egyptian +Argentina Argentinean England English +Argentina Argentinean France French +Argentina Argentinean Germany German +Argentina Argentinean Greece Greek +Argentina Argentinean Iceland Icelandic +Argentina Argentinean India Indian +Argentina Argentinean Ireland Irish +Argentina Argentinean Israel Israeli +Argentina Argentinean Italy Italian +Argentina Argentinean Japan Japanese +Argentina Argentinean Korea Korean +Argentina Argentinean Macedonia Macedonian +Argentina Argentinean Malta Maltese +Argentina Argentinean Mexico Mexican +Argentina Argentinean Moldova Moldovan +Argentina Argentinean Netherlands Dutch +Argentina Argentinean Norway Norwegian +Argentina Argentinean Peru Peruvian +Argentina Argentinean Poland Polish +Argentina Argentinean Portugal Portuguese +Argentina Argentinean Russia Russian +Argentina Argentinean Slovakia Slovakian +Argentina Argentinean Spain Spanish +Argentina Argentinean Sweden Swedish +Argentina Argentinean Switzerland Swiss +Argentina Argentinean Thailand Thai +Argentina Argentinean Ukraine Ukrainian +Australia Australian Austria Austrian +Australia Australian Belarus Belorussian +Australia Australian Brazil Brazilian +Australia Australian Bulgaria Bulgarian +Australia Australian Cambodia Cambodian +Australia Australian Chile Chilean +Australia Australian China Chinese +Australia Australian Colombia Colombian +Australia Australian Croatia Croatian +Australia Australian Denmark Danish +Australia Australian Egypt Egyptian +Australia Australian England English +Australia Australian France French +Australia Australian Germany German +Australia Australian Greece Greek +Australia Australian Iceland Icelandic +Australia Australian India Indian +Australia Australian Ireland Irish +Australia Australian Israel Israeli +Australia Australian Italy Italian +Australia Australian Japan Japanese +Australia Australian Korea Korean +Australia Australian Macedonia Macedonian +Australia Australian Malta Maltese +Australia Australian Mexico Mexican +Australia Australian Moldova Moldovan +Australia Australian Netherlands Dutch +Australia Australian Norway Norwegian +Australia Australian Peru Peruvian +Australia Australian Poland Polish +Australia Australian Portugal Portuguese +Australia Australian Russia Russian +Australia Australian Slovakia Slovakian +Australia Australian Spain Spanish +Australia Australian Sweden Swedish +Australia Australian Switzerland Swiss +Australia Australian Thailand Thai +Australia Australian Ukraine Ukrainian +Australia Australian Albania Albanian +Austria Austrian Belarus Belorussian +Austria Austrian Brazil Brazilian +Austria Austrian Bulgaria Bulgarian +Austria Austrian Cambodia Cambodian +Austria Austrian Chile Chilean +Austria Austrian China Chinese +Austria Austrian Colombia Colombian +Austria Austrian Croatia Croatian +Austria Austrian Denmark Danish +Austria Austrian Egypt Egyptian +Austria Austrian England English +Austria Austrian France French +Austria Austrian Germany German +Austria Austrian Greece Greek +Austria Austrian Iceland Icelandic +Austria Austrian India Indian +Austria Austrian Ireland Irish +Austria Austrian Israel Israeli +Austria Austrian Italy Italian +Austria Austrian Japan Japanese +Austria Austrian Korea Korean +Austria Austrian Macedonia Macedonian +Austria Austrian Malta Maltese +Austria Austrian Mexico Mexican +Austria Austrian Moldova Moldovan +Austria Austrian Netherlands Dutch +Austria Austrian Norway Norwegian +Austria Austrian Peru Peruvian +Austria Austrian Poland Polish +Austria Austrian Portugal Portuguese +Austria Austrian Russia Russian +Austria Austrian Slovakia Slovakian +Austria Austrian Spain Spanish +Austria Austrian Sweden Swedish +Austria Austrian Switzerland Swiss +Austria Austrian Thailand Thai +Austria Austrian Ukraine Ukrainian +Austria Austrian Albania Albanian +Austria Austrian Argentina Argentinean +Belarus Belorussian Brazil Brazilian +Belarus Belorussian Bulgaria Bulgarian +Belarus Belorussian Cambodia Cambodian +Belarus Belorussian Chile Chilean +Belarus Belorussian China Chinese +Belarus Belorussian Colombia Colombian +Belarus Belorussian Croatia Croatian +Belarus Belorussian Denmark Danish +Belarus Belorussian Egypt Egyptian +Belarus Belorussian England English +Belarus Belorussian France French +Belarus Belorussian Germany German +Belarus Belorussian Greece Greek +Belarus Belorussian Iceland Icelandic +Belarus Belorussian India Indian +Belarus Belorussian Ireland Irish +Belarus Belorussian Israel Israeli +Belarus Belorussian Italy Italian +Belarus Belorussian Japan Japanese +Belarus Belorussian Korea Korean +Belarus Belorussian Macedonia Macedonian +Belarus Belorussian Malta Maltese +Belarus Belorussian Mexico Mexican +Belarus Belorussian Moldova Moldovan +Belarus Belorussian Netherlands Dutch +Belarus Belorussian Norway Norwegian +Belarus Belorussian Peru Peruvian +Belarus Belorussian Poland Polish +Belarus Belorussian Portugal Portuguese +Belarus Belorussian Russia Russian +Belarus Belorussian Slovakia Slovakian +Belarus Belorussian Spain Spanish +Belarus Belorussian Sweden Swedish +Belarus Belorussian Switzerland Swiss +Belarus Belorussian Thailand Thai +Belarus Belorussian Ukraine Ukrainian +Belarus Belorussian Albania Albanian +Belarus Belorussian Argentina Argentinean +Belarus Belorussian Australia Australian +Brazil Brazilian Bulgaria Bulgarian +Brazil Brazilian Cambodia Cambodian +Brazil Brazilian Chile Chilean +Brazil Brazilian China Chinese +Brazil Brazilian Colombia Colombian +Brazil Brazilian Croatia Croatian +Brazil Brazilian Denmark Danish +Brazil Brazilian Egypt Egyptian +Brazil Brazilian England English +Brazil Brazilian France French +Brazil Brazilian Germany German +Brazil Brazilian Greece Greek +Brazil Brazilian Iceland Icelandic +Brazil Brazilian India Indian +Brazil Brazilian Ireland Irish +Brazil Brazilian Israel Israeli +Brazil Brazilian Italy Italian +Brazil Brazilian Japan Japanese +Brazil Brazilian Korea Korean +Brazil Brazilian Macedonia Macedonian +Brazil Brazilian Malta Maltese +Brazil Brazilian Mexico Mexican +Brazil Brazilian Moldova Moldovan +Brazil Brazilian Netherlands Dutch +Brazil Brazilian Norway Norwegian +Brazil Brazilian Peru Peruvian +Brazil Brazilian Poland Polish +Brazil Brazilian Portugal Portuguese +Brazil Brazilian Russia Russian +Brazil Brazilian Slovakia Slovakian +Brazil Brazilian Spain Spanish +Brazil Brazilian Sweden Swedish +Brazil Brazilian Switzerland Swiss +Brazil Brazilian Thailand Thai +Brazil Brazilian Ukraine Ukrainian +Brazil Brazilian Albania Albanian +Brazil Brazilian Argentina Argentinean +Brazil Brazilian Australia Australian +Brazil Brazilian Austria Austrian +Bulgaria Bulgarian Cambodia Cambodian +Bulgaria Bulgarian Chile Chilean +Bulgaria Bulgarian China Chinese +Bulgaria Bulgarian Colombia Colombian +Bulgaria Bulgarian Croatia Croatian +Bulgaria Bulgarian Denmark Danish +Bulgaria Bulgarian Egypt Egyptian +Bulgaria Bulgarian England English +Bulgaria Bulgarian France French +Bulgaria Bulgarian Germany German +Bulgaria Bulgarian Greece Greek +Bulgaria Bulgarian Iceland Icelandic +Bulgaria Bulgarian India Indian +Bulgaria Bulgarian Ireland Irish +Bulgaria Bulgarian Israel Israeli +Bulgaria Bulgarian Italy Italian +Bulgaria Bulgarian Japan Japanese +Bulgaria Bulgarian Korea Korean +Bulgaria Bulgarian Macedonia Macedonian +Bulgaria Bulgarian Malta Maltese +Bulgaria Bulgarian Mexico Mexican +Bulgaria Bulgarian Moldova Moldovan +Bulgaria Bulgarian Netherlands Dutch +Bulgaria Bulgarian Norway Norwegian +Bulgaria Bulgarian Peru Peruvian +Bulgaria Bulgarian Poland Polish +Bulgaria Bulgarian Portugal Portuguese +Bulgaria Bulgarian Russia Russian +Bulgaria Bulgarian Slovakia Slovakian +Bulgaria Bulgarian Spain Spanish +Bulgaria Bulgarian Sweden Swedish +Bulgaria Bulgarian Switzerland Swiss +Bulgaria Bulgarian Thailand Thai +Bulgaria Bulgarian Ukraine Ukrainian +Bulgaria Bulgarian Albania Albanian +Bulgaria Bulgarian Argentina Argentinean +Bulgaria Bulgarian Australia Australian +Bulgaria Bulgarian Austria Austrian +Bulgaria Bulgarian Belarus Belorussian +Cambodia Cambodian Chile Chilean +Cambodia Cambodian China Chinese +Cambodia Cambodian Colombia Colombian +Cambodia Cambodian Croatia Croatian +Cambodia Cambodian Denmark Danish +Cambodia Cambodian Egypt Egyptian +Cambodia Cambodian England English +Cambodia Cambodian France French +Cambodia Cambodian Germany German +Cambodia Cambodian Greece Greek +Cambodia Cambodian Iceland Icelandic +Cambodia Cambodian India Indian +Cambodia Cambodian Ireland Irish +Cambodia Cambodian Israel Israeli +Cambodia Cambodian Italy Italian +Cambodia Cambodian Japan Japanese +Cambodia Cambodian Korea Korean +Cambodia Cambodian Macedonia Macedonian +Cambodia Cambodian Malta Maltese +Cambodia Cambodian Mexico Mexican +Cambodia Cambodian Moldova Moldovan +Cambodia Cambodian Netherlands Dutch +Cambodia Cambodian Norway Norwegian +Cambodia Cambodian Peru Peruvian +Cambodia Cambodian Poland Polish +Cambodia Cambodian Portugal Portuguese +Cambodia Cambodian Russia Russian +Cambodia Cambodian Slovakia Slovakian +Cambodia Cambodian Spain Spanish +Cambodia Cambodian Sweden Swedish +Cambodia Cambodian Switzerland Swiss +Cambodia Cambodian Thailand Thai +Cambodia Cambodian Ukraine Ukrainian +Cambodia Cambodian Albania Albanian +Cambodia Cambodian Argentina Argentinean +Cambodia Cambodian Australia Australian +Cambodia Cambodian Austria Austrian +Cambodia Cambodian Belarus Belorussian +Cambodia Cambodian Brazil Brazilian +Chile Chilean China Chinese +Chile Chilean Colombia Colombian +Chile Chilean Croatia Croatian +Chile Chilean Denmark Danish +Chile Chilean Egypt Egyptian +Chile Chilean England English +Chile Chilean France French +Chile Chilean Germany German +Chile Chilean Greece Greek +Chile Chilean Iceland Icelandic +Chile Chilean India Indian +Chile Chilean Ireland Irish +Chile Chilean Israel Israeli +Chile Chilean Italy Italian +Chile Chilean Japan Japanese +Chile Chilean Korea Korean +Chile Chilean Macedonia Macedonian +Chile Chilean Malta Maltese +Chile Chilean Mexico Mexican +Chile Chilean Moldova Moldovan +Chile Chilean Netherlands Dutch +Chile Chilean Norway Norwegian +Chile Chilean Peru Peruvian +Chile Chilean Poland Polish +Chile Chilean Portugal Portuguese +Chile Chilean Russia Russian +Chile Chilean Slovakia Slovakian +Chile Chilean Spain Spanish +Chile Chilean Sweden Swedish +Chile Chilean Switzerland Swiss +Chile Chilean Thailand Thai +Chile Chilean Ukraine Ukrainian +Chile Chilean Albania Albanian +Chile Chilean Argentina Argentinean +Chile Chilean Australia Australian +Chile Chilean Austria Austrian +Chile Chilean Belarus Belorussian +Chile Chilean Brazil Brazilian +Chile Chilean Bulgaria Bulgarian +China Chinese Colombia Colombian +China Chinese Croatia Croatian +China Chinese Denmark Danish +China Chinese Egypt Egyptian +China Chinese England English +China Chinese France French +China Chinese Germany German +China Chinese Greece Greek +China Chinese Iceland Icelandic +China Chinese India Indian +China Chinese Ireland Irish +China Chinese Israel Israeli +China Chinese Italy Italian +China Chinese Japan Japanese +China Chinese Korea Korean +China Chinese Macedonia Macedonian +China Chinese Malta Maltese +China Chinese Mexico Mexican +China Chinese Moldova Moldovan +China Chinese Netherlands Dutch +China Chinese Norway Norwegian +China Chinese Peru Peruvian +China Chinese Poland Polish +China Chinese Portugal Portuguese +China Chinese Russia Russian +China Chinese Slovakia Slovakian +China Chinese Spain Spanish +China Chinese Sweden Swedish +China Chinese Switzerland Swiss +China Chinese Thailand Thai +China Chinese Ukraine Ukrainian +China Chinese Albania Albanian +China Chinese Argentina Argentinean +China Chinese Australia Australian +China Chinese Austria Austrian +China Chinese Belarus Belorussian +China Chinese Brazil Brazilian +China Chinese Bulgaria Bulgarian +China Chinese Cambodia Cambodian +Colombia Colombian Croatia Croatian +Colombia Colombian Denmark Danish +Colombia Colombian Egypt Egyptian +Colombia Colombian England English +Colombia Colombian France French +Colombia Colombian Germany German +Colombia Colombian Greece Greek +Colombia Colombian Iceland Icelandic +Colombia Colombian India Indian +Colombia Colombian Ireland Irish +Colombia Colombian Israel Israeli +Colombia Colombian Italy Italian +Colombia Colombian Japan Japanese +Colombia Colombian Korea Korean +Colombia Colombian Macedonia Macedonian +Colombia Colombian Malta Maltese +Colombia Colombian Mexico Mexican +Colombia Colombian Moldova Moldovan +Colombia Colombian Netherlands Dutch +Colombia Colombian Norway Norwegian +Colombia Colombian Peru Peruvian +Colombia Colombian Poland Polish +Colombia Colombian Portugal Portuguese +Colombia Colombian Russia Russian +Colombia Colombian Slovakia Slovakian +Colombia Colombian Spain Spanish +Colombia Colombian Sweden Swedish +Colombia Colombian Switzerland Swiss +Colombia Colombian Thailand Thai +Colombia Colombian Ukraine Ukrainian +Colombia Colombian Albania Albanian +Colombia Colombian Argentina Argentinean +Colombia Colombian Australia Australian +Colombia Colombian Austria Austrian +Colombia Colombian Belarus Belorussian +Colombia Colombian Brazil Brazilian +Colombia Colombian Bulgaria Bulgarian +Colombia Colombian Cambodia Cambodian +Colombia Colombian Chile Chilean +Croatia Croatian Denmark Danish +Croatia Croatian Egypt Egyptian +Croatia Croatian England English +Croatia Croatian France French +Croatia Croatian Germany German +Croatia Croatian Greece Greek +Croatia Croatian Iceland Icelandic +Croatia Croatian India Indian +Croatia Croatian Ireland Irish +Croatia Croatian Israel Israeli +Croatia Croatian Italy Italian +Croatia Croatian Japan Japanese +Croatia Croatian Korea Korean +Croatia Croatian Macedonia Macedonian +Croatia Croatian Malta Maltese +Croatia Croatian Mexico Mexican +Croatia Croatian Moldova Moldovan +Croatia Croatian Netherlands Dutch +Croatia Croatian Norway Norwegian +Croatia Croatian Peru Peruvian +Croatia Croatian Poland Polish +Croatia Croatian Portugal Portuguese +Croatia Croatian Russia Russian +Croatia Croatian Slovakia Slovakian +Croatia Croatian Spain Spanish +Croatia Croatian Sweden Swedish +Croatia Croatian Switzerland Swiss +Croatia Croatian Thailand Thai +Croatia Croatian Ukraine Ukrainian +Croatia Croatian Albania Albanian +Croatia Croatian Argentina Argentinean +Croatia Croatian Australia Australian +Croatia Croatian Austria Austrian +Croatia Croatian Belarus Belorussian +Croatia Croatian Brazil Brazilian +Croatia Croatian Bulgaria Bulgarian +Croatia Croatian Cambodia Cambodian +Croatia Croatian Chile Chilean +Croatia Croatian China Chinese +Denmark Danish Egypt Egyptian +Denmark Danish England English +Denmark Danish France French +Denmark Danish Germany German +Denmark Danish Greece Greek +Denmark Danish Iceland Icelandic +Denmark Danish India Indian +Denmark Danish Ireland Irish +Denmark Danish Israel Israeli +Denmark Danish Italy Italian +Denmark Danish Japan Japanese +Denmark Danish Korea Korean +Denmark Danish Macedonia Macedonian +Denmark Danish Malta Maltese +Denmark Danish Mexico Mexican +Denmark Danish Moldova Moldovan +Denmark Danish Netherlands Dutch +Denmark Danish Norway Norwegian +Denmark Danish Peru Peruvian +Denmark Danish Poland Polish +Denmark Danish Portugal Portuguese +Denmark Danish Russia Russian +Denmark Danish Slovakia Slovakian +Denmark Danish Spain Spanish +Denmark Danish Sweden Swedish +Denmark Danish Switzerland Swiss +Denmark Danish Thailand Thai +Denmark Danish Ukraine Ukrainian +Denmark Danish Albania Albanian +Denmark Danish Argentina Argentinean +Denmark Danish Australia Australian +Denmark Danish Austria Austrian +Denmark Danish Belarus Belorussian +Denmark Danish Brazil Brazilian +Denmark Danish Bulgaria Bulgarian +Denmark Danish Cambodia Cambodian +Denmark Danish Chile Chilean +Denmark Danish China Chinese +Denmark Danish Colombia Colombian +Egypt Egyptian England English +Egypt Egyptian France French +Egypt Egyptian Germany German +Egypt Egyptian Greece Greek +Egypt Egyptian Iceland Icelandic +Egypt Egyptian India Indian +Egypt Egyptian Ireland Irish +Egypt Egyptian Israel Israeli +Egypt Egyptian Italy Italian +Egypt Egyptian Japan Japanese +Egypt Egyptian Korea Korean +Egypt Egyptian Macedonia Macedonian +Egypt Egyptian Malta Maltese +Egypt Egyptian Mexico Mexican +Egypt Egyptian Moldova Moldovan +Egypt Egyptian Netherlands Dutch +Egypt Egyptian Norway Norwegian +Egypt Egyptian Peru Peruvian +Egypt Egyptian Poland Polish +Egypt Egyptian Portugal Portuguese +Egypt Egyptian Russia Russian +Egypt Egyptian Slovakia Slovakian +Egypt Egyptian Spain Spanish +Egypt Egyptian Sweden Swedish +Egypt Egyptian Switzerland Swiss +Egypt Egyptian Thailand Thai +Egypt Egyptian Ukraine Ukrainian +Egypt Egyptian Albania Albanian +Egypt Egyptian Argentina Argentinean +Egypt Egyptian Australia Australian +Egypt Egyptian Austria Austrian +Egypt Egyptian Belarus Belorussian +Egypt Egyptian Brazil Brazilian +Egypt Egyptian Bulgaria Bulgarian +Egypt Egyptian Cambodia Cambodian +Egypt Egyptian Chile Chilean +Egypt Egyptian China Chinese +Egypt Egyptian Colombia Colombian +Egypt Egyptian Croatia Croatian +England English France French +England English Germany German +England English Greece Greek +England English Iceland Icelandic +England English India Indian +England English Ireland Irish +England English Israel Israeli +England English Italy Italian +England English Japan Japanese +England English Korea Korean +England English Macedonia Macedonian +England English Malta Maltese +England English Mexico Mexican +England English Moldova Moldovan +England English Netherlands Dutch +England English Norway Norwegian +England English Peru Peruvian +England English Poland Polish +England English Portugal Portuguese +England English Russia Russian +England English Slovakia Slovakian +England English Spain Spanish +England English Sweden Swedish +England English Switzerland Swiss +England English Thailand Thai +England English Ukraine Ukrainian +England English Albania Albanian +England English Argentina Argentinean +England English Australia Australian +England English Austria Austrian +England English Belarus Belorussian +England English Brazil Brazilian +England English Bulgaria Bulgarian +England English Cambodia Cambodian +England English Chile Chilean +England English China Chinese +England English Colombia Colombian +England English Croatia Croatian +England English Denmark Danish +France French Germany German +France French Greece Greek +France French Iceland Icelandic +France French India Indian +France French Ireland Irish +France French Israel Israeli +France French Italy Italian +France French Japan Japanese +France French Korea Korean +France French Macedonia Macedonian +France French Malta Maltese +France French Mexico Mexican +France French Moldova Moldovan +France French Netherlands Dutch +France French Norway Norwegian +France French Peru Peruvian +France French Poland Polish +France French Portugal Portuguese +France French Russia Russian +France French Slovakia Slovakian +France French Spain Spanish +France French Sweden Swedish +France French Switzerland Swiss +France French Thailand Thai +France French Ukraine Ukrainian +France French Albania Albanian +France French Argentina Argentinean +France French Australia Australian +France French Austria Austrian +France French Belarus Belorussian +France French Brazil Brazilian +France French Bulgaria Bulgarian +France French Cambodia Cambodian +France French Chile Chilean +France French China Chinese +France French Colombia Colombian +France French Croatia Croatian +France French Denmark Danish +France French Egypt Egyptian +Germany German Greece Greek +Germany German Iceland Icelandic +Germany German India Indian +Germany German Ireland Irish +Germany German Israel Israeli +Germany German Italy Italian +Germany German Japan Japanese +Germany German Korea Korean +Germany German Macedonia Macedonian +Germany German Malta Maltese +Germany German Mexico Mexican +Germany German Moldova Moldovan +Germany German Netherlands Dutch +Germany German Norway Norwegian +Germany German Peru Peruvian +Germany German Poland Polish +Germany German Portugal Portuguese +Germany German Russia Russian +Germany German Slovakia Slovakian +Germany German Spain Spanish +Germany German Sweden Swedish +Germany German Switzerland Swiss +Germany German Thailand Thai +Germany German Ukraine Ukrainian +Germany German Albania Albanian +Germany German Argentina Argentinean +Germany German Australia Australian +Germany German Austria Austrian +Germany German Belarus Belorussian +Germany German Brazil Brazilian +Germany German Bulgaria Bulgarian +Germany German Cambodia Cambodian +Germany German Chile Chilean +Germany German China Chinese +Germany German Colombia Colombian +Germany German Croatia Croatian +Germany German Denmark Danish +Germany German Egypt Egyptian +Germany German England English +Greece Greek Iceland Icelandic +Greece Greek India Indian +Greece Greek Ireland Irish +Greece Greek Israel Israeli +Greece Greek Italy Italian +Greece Greek Japan Japanese +Greece Greek Korea Korean +Greece Greek Macedonia Macedonian +Greece Greek Malta Maltese +Greece Greek Mexico Mexican +Greece Greek Moldova Moldovan +Greece Greek Netherlands Dutch +Greece Greek Norway Norwegian +Greece Greek Peru Peruvian +Greece Greek Poland Polish +Greece Greek Portugal Portuguese +Greece Greek Russia Russian +Greece Greek Slovakia Slovakian +Greece Greek Spain Spanish +Greece Greek Sweden Swedish +Greece Greek Switzerland Swiss +Greece Greek Thailand Thai +Greece Greek Ukraine Ukrainian +Greece Greek Albania Albanian +Greece Greek Argentina Argentinean +Greece Greek Australia Australian +Greece Greek Austria Austrian +Greece Greek Belarus Belorussian +Greece Greek Brazil Brazilian +Greece Greek Bulgaria Bulgarian +Greece Greek Cambodia Cambodian +Greece Greek Chile Chilean +Greece Greek China Chinese +Greece Greek Colombia Colombian +Greece Greek Croatia Croatian +Greece Greek Denmark Danish +Greece Greek Egypt Egyptian +Greece Greek England English +Greece Greek France French +Iceland Icelandic India Indian +Iceland Icelandic Ireland Irish +Iceland Icelandic Israel Israeli +Iceland Icelandic Italy Italian +Iceland Icelandic Japan Japanese +Iceland Icelandic Korea Korean +Iceland Icelandic Macedonia Macedonian +Iceland Icelandic Malta Maltese +Iceland Icelandic Mexico Mexican +Iceland Icelandic Moldova Moldovan +Iceland Icelandic Netherlands Dutch +Iceland Icelandic Norway Norwegian +Iceland Icelandic Peru Peruvian +Iceland Icelandic Poland Polish +Iceland Icelandic Portugal Portuguese +Iceland Icelandic Russia Russian +Iceland Icelandic Slovakia Slovakian +Iceland Icelandic Spain Spanish +Iceland Icelandic Sweden Swedish +Iceland Icelandic Switzerland Swiss +Iceland Icelandic Thailand Thai +Iceland Icelandic Ukraine Ukrainian +Iceland Icelandic Albania Albanian +Iceland Icelandic Argentina Argentinean +Iceland Icelandic Australia Australian +Iceland Icelandic Austria Austrian +Iceland Icelandic Belarus Belorussian +Iceland Icelandic Brazil Brazilian +Iceland Icelandic Bulgaria Bulgarian +Iceland Icelandic Cambodia Cambodian +Iceland Icelandic Chile Chilean +Iceland Icelandic China Chinese +Iceland Icelandic Colombia Colombian +Iceland Icelandic Croatia Croatian +Iceland Icelandic Denmark Danish +Iceland Icelandic Egypt Egyptian +Iceland Icelandic England English +Iceland Icelandic France French +Iceland Icelandic Germany German +India Indian Ireland Irish +India Indian Israel Israeli +India Indian Italy Italian +India Indian Japan Japanese +India Indian Korea Korean +India Indian Macedonia Macedonian +India Indian Malta Maltese +India Indian Mexico Mexican +India Indian Moldova Moldovan +India Indian Netherlands Dutch +India Indian Norway Norwegian +India Indian Peru Peruvian +India Indian Poland Polish +India Indian Portugal Portuguese +India Indian Russia Russian +India Indian Slovakia Slovakian +India Indian Spain Spanish +India Indian Sweden Swedish +India Indian Switzerland Swiss +India Indian Thailand Thai +India Indian Ukraine Ukrainian +India Indian Albania Albanian +India Indian Argentina Argentinean +India Indian Australia Australian +India Indian Austria Austrian +India Indian Belarus Belorussian +India Indian Brazil Brazilian +India Indian Bulgaria Bulgarian +India Indian Cambodia Cambodian +India Indian Chile Chilean +India Indian China Chinese +India Indian Colombia Colombian +India Indian Croatia Croatian +India Indian Denmark Danish +India Indian Egypt Egyptian +India Indian England English +India Indian France French +India Indian Germany German +India Indian Greece Greek +Ireland Irish Israel Israeli +Ireland Irish Italy Italian +Ireland Irish Japan Japanese +Ireland Irish Korea Korean +Ireland Irish Macedonia Macedonian +Ireland Irish Malta Maltese +Ireland Irish Mexico Mexican +Ireland Irish Moldova Moldovan +Ireland Irish Netherlands Dutch +Ireland Irish Norway Norwegian +Ireland Irish Peru Peruvian +Ireland Irish Poland Polish +Ireland Irish Portugal Portuguese +Ireland Irish Russia Russian +Ireland Irish Slovakia Slovakian +Ireland Irish Spain Spanish +Ireland Irish Sweden Swedish +Ireland Irish Switzerland Swiss +Ireland Irish Thailand Thai +Ireland Irish Ukraine Ukrainian +Ireland Irish Albania Albanian +Ireland Irish Argentina Argentinean +Ireland Irish Australia Australian +Ireland Irish Austria Austrian +Ireland Irish Belarus Belorussian +Ireland Irish Brazil Brazilian +Ireland Irish Bulgaria Bulgarian +Ireland Irish Cambodia Cambodian +Ireland Irish Chile Chilean +Ireland Irish China Chinese +Ireland Irish Colombia Colombian +Ireland Irish Croatia Croatian +Ireland Irish Denmark Danish +Ireland Irish Egypt Egyptian +Ireland Irish England English +Ireland Irish France French +Ireland Irish Germany German +Ireland Irish Greece Greek +Ireland Irish Iceland Icelandic +Israel Israeli Italy Italian +Israel Israeli Japan Japanese +Israel Israeli Korea Korean +Israel Israeli Macedonia Macedonian +Israel Israeli Malta Maltese +Israel Israeli Mexico Mexican +Israel Israeli Moldova Moldovan +Israel Israeli Netherlands Dutch +Israel Israeli Norway Norwegian +Israel Israeli Peru Peruvian +Israel Israeli Poland Polish +Israel Israeli Portugal Portuguese +Israel Israeli Russia Russian +Israel Israeli Slovakia Slovakian +Israel Israeli Spain Spanish +Israel Israeli Sweden Swedish +Israel Israeli Switzerland Swiss +Israel Israeli Thailand Thai +Israel Israeli Ukraine Ukrainian +Israel Israeli Albania Albanian +Israel Israeli Argentina Argentinean +Israel Israeli Australia Australian +Israel Israeli Austria Austrian +Israel Israeli Belarus Belorussian +Israel Israeli Brazil Brazilian +Israel Israeli Bulgaria Bulgarian +Israel Israeli Cambodia Cambodian +Israel Israeli Chile Chilean +Israel Israeli China Chinese +Israel Israeli Colombia Colombian +Israel Israeli Croatia Croatian +Israel Israeli Denmark Danish +Israel Israeli Egypt Egyptian +Israel Israeli England English +Israel Israeli France French +Israel Israeli Germany German +Israel Israeli Greece Greek +Israel Israeli Iceland Icelandic +Israel Israeli India Indian +Italy Italian Japan Japanese +Italy Italian Korea Korean +Italy Italian Macedonia Macedonian +Italy Italian Malta Maltese +Italy Italian Mexico Mexican +Italy Italian Moldova Moldovan +Italy Italian Netherlands Dutch +Italy Italian Norway Norwegian +Italy Italian Peru Peruvian +Italy Italian Poland Polish +Italy Italian Portugal Portuguese +Italy Italian Russia Russian +Italy Italian Slovakia Slovakian +Italy Italian Spain Spanish +Italy Italian Sweden Swedish +Italy Italian Switzerland Swiss +Italy Italian Thailand Thai +Italy Italian Ukraine Ukrainian +Italy Italian Albania Albanian +Italy Italian Argentina Argentinean +Italy Italian Australia Australian +Italy Italian Austria Austrian +Italy Italian Belarus Belorussian +Italy Italian Brazil Brazilian +Italy Italian Bulgaria Bulgarian +Italy Italian Cambodia Cambodian +Italy Italian Chile Chilean +Italy Italian China Chinese +Italy Italian Colombia Colombian +Italy Italian Croatia Croatian +Italy Italian Denmark Danish +Italy Italian Egypt Egyptian +Italy Italian England English +Italy Italian France French +Italy Italian Germany German +Italy Italian Greece Greek +Italy Italian Iceland Icelandic +Italy Italian India Indian +Italy Italian Ireland Irish +Japan Japanese Korea Korean +Japan Japanese Macedonia Macedonian +Japan Japanese Malta Maltese +Japan Japanese Mexico Mexican +Japan Japanese Moldova Moldovan +Japan Japanese Netherlands Dutch +Japan Japanese Norway Norwegian +Japan Japanese Peru Peruvian +Japan Japanese Poland Polish +Japan Japanese Portugal Portuguese +Japan Japanese Russia Russian +Japan Japanese Slovakia Slovakian +Japan Japanese Spain Spanish +Japan Japanese Sweden Swedish +Japan Japanese Switzerland Swiss +Japan Japanese Thailand Thai +Japan Japanese Ukraine Ukrainian +Japan Japanese Albania Albanian +Japan Japanese Argentina Argentinean +Japan Japanese Australia Australian +Japan Japanese Austria Austrian +Japan Japanese Belarus Belorussian +Japan Japanese Brazil Brazilian +Japan Japanese Bulgaria Bulgarian +Japan Japanese Cambodia Cambodian +Japan Japanese Chile Chilean +Japan Japanese China Chinese +Japan Japanese Colombia Colombian +Japan Japanese Croatia Croatian +Japan Japanese Denmark Danish +Japan Japanese Egypt Egyptian +Japan Japanese England English +Japan Japanese France French +Japan Japanese Germany German +Japan Japanese Greece Greek +Japan Japanese Iceland Icelandic +Japan Japanese India Indian +Japan Japanese Ireland Irish +Japan Japanese Israel Israeli +Korea Korean Macedonia Macedonian +Korea Korean Malta Maltese +Korea Korean Mexico Mexican +Korea Korean Moldova Moldovan +Korea Korean Netherlands Dutch +Korea Korean Norway Norwegian +Korea Korean Peru Peruvian +Korea Korean Poland Polish +Korea Korean Portugal Portuguese +Korea Korean Russia Russian +Korea Korean Slovakia Slovakian +Korea Korean Spain Spanish +Korea Korean Sweden Swedish +Korea Korean Switzerland Swiss +Korea Korean Thailand Thai +Korea Korean Ukraine Ukrainian +Korea Korean Albania Albanian +Korea Korean Argentina Argentinean +Korea Korean Australia Australian +Korea Korean Austria Austrian +Korea Korean Belarus Belorussian +Korea Korean Brazil Brazilian +Korea Korean Bulgaria Bulgarian +Korea Korean Cambodia Cambodian +Korea Korean Chile Chilean +Korea Korean China Chinese +Korea Korean Colombia Colombian +Korea Korean Croatia Croatian +Korea Korean Denmark Danish +Korea Korean Egypt Egyptian +Korea Korean England English +Korea Korean France French +Korea Korean Germany German +Korea Korean Greece Greek +Korea Korean Iceland Icelandic +Korea Korean India Indian +Korea Korean Ireland Irish +Korea Korean Israel Israeli +Korea Korean Italy Italian +Macedonia Macedonian Malta Maltese +Macedonia Macedonian Mexico Mexican +Macedonia Macedonian Moldova Moldovan +Macedonia Macedonian Netherlands Dutch +Macedonia Macedonian Norway Norwegian +Macedonia Macedonian Peru Peruvian +Macedonia Macedonian Poland Polish +Macedonia Macedonian Portugal Portuguese +Macedonia Macedonian Russia Russian +Macedonia Macedonian Slovakia Slovakian +Macedonia Macedonian Spain Spanish +Macedonia Macedonian Sweden Swedish +Macedonia Macedonian Switzerland Swiss +Macedonia Macedonian Thailand Thai +Macedonia Macedonian Ukraine Ukrainian +Macedonia Macedonian Albania Albanian +Macedonia Macedonian Argentina Argentinean +Macedonia Macedonian Australia Australian +Macedonia Macedonian Austria Austrian +Macedonia Macedonian Belarus Belorussian +Macedonia Macedonian Brazil Brazilian +Macedonia Macedonian Bulgaria Bulgarian +Macedonia Macedonian Cambodia Cambodian +Macedonia Macedonian Chile Chilean +Macedonia Macedonian China Chinese +Macedonia Macedonian Colombia Colombian +Macedonia Macedonian Croatia Croatian +Macedonia Macedonian Denmark Danish +Macedonia Macedonian Egypt Egyptian +Macedonia Macedonian England English +Macedonia Macedonian France French +Macedonia Macedonian Germany German +Macedonia Macedonian Greece Greek +Macedonia Macedonian Iceland Icelandic +Macedonia Macedonian India Indian +Macedonia Macedonian Ireland Irish +Macedonia Macedonian Israel Israeli +Macedonia Macedonian Italy Italian +Macedonia Macedonian Japan Japanese +Malta Maltese Mexico Mexican +Malta Maltese Moldova Moldovan +Malta Maltese Netherlands Dutch +Malta Maltese Norway Norwegian +Malta Maltese Peru Peruvian +Malta Maltese Poland Polish +Malta Maltese Portugal Portuguese +Malta Maltese Russia Russian +Malta Maltese Slovakia Slovakian +Malta Maltese Spain Spanish +Malta Maltese Sweden Swedish +Malta Maltese Switzerland Swiss +Malta Maltese Thailand Thai +Malta Maltese Ukraine Ukrainian +Malta Maltese Albania Albanian +Malta Maltese Argentina Argentinean +Malta Maltese Australia Australian +Malta Maltese Austria Austrian +Malta Maltese Belarus Belorussian +Malta Maltese Brazil Brazilian +Malta Maltese Bulgaria Bulgarian +Malta Maltese Cambodia Cambodian +Malta Maltese Chile Chilean +Malta Maltese China Chinese +Malta Maltese Colombia Colombian +Malta Maltese Croatia Croatian +Malta Maltese Denmark Danish +Malta Maltese Egypt Egyptian +Malta Maltese England English +Malta Maltese France French +Malta Maltese Germany German +Malta Maltese Greece Greek +Malta Maltese Iceland Icelandic +Malta Maltese India Indian +Malta Maltese Ireland Irish +Malta Maltese Israel Israeli +Malta Maltese Italy Italian +Malta Maltese Japan Japanese +Malta Maltese Korea Korean +Mexico Mexican Moldova Moldovan +Mexico Mexican Netherlands Dutch +Mexico Mexican Norway Norwegian +Mexico Mexican Peru Peruvian +Mexico Mexican Poland Polish +Mexico Mexican Portugal Portuguese +Mexico Mexican Russia Russian +Mexico Mexican Slovakia Slovakian +Mexico Mexican Spain Spanish +Mexico Mexican Sweden Swedish +Mexico Mexican Switzerland Swiss +Mexico Mexican Thailand Thai +Mexico Mexican Ukraine Ukrainian +Mexico Mexican Albania Albanian +Mexico Mexican Argentina Argentinean +Mexico Mexican Australia Australian +Mexico Mexican Austria Austrian +Mexico Mexican Belarus Belorussian +Mexico Mexican Brazil Brazilian +Mexico Mexican Bulgaria Bulgarian +Mexico Mexican Cambodia Cambodian +Mexico Mexican Chile Chilean +Mexico Mexican China Chinese +Mexico Mexican Colombia Colombian +Mexico Mexican Croatia Croatian +Mexico Mexican Denmark Danish +Mexico Mexican Egypt Egyptian +Mexico Mexican England English +Mexico Mexican France French +Mexico Mexican Germany German +Mexico Mexican Greece Greek +Mexico Mexican Iceland Icelandic +Mexico Mexican India Indian +Mexico Mexican Ireland Irish +Mexico Mexican Israel Israeli +Mexico Mexican Italy Italian +Mexico Mexican Japan Japanese +Mexico Mexican Korea Korean +Mexico Mexican Macedonia Macedonian +Moldova Moldovan Netherlands Dutch +Moldova Moldovan Norway Norwegian +Moldova Moldovan Peru Peruvian +Moldova Moldovan Poland Polish +Moldova Moldovan Portugal Portuguese +Moldova Moldovan Russia Russian +Moldova Moldovan Slovakia Slovakian +Moldova Moldovan Spain Spanish +Moldova Moldovan Sweden Swedish +Moldova Moldovan Switzerland Swiss +Moldova Moldovan Thailand Thai +Moldova Moldovan Ukraine Ukrainian +Moldova Moldovan Albania Albanian +Moldova Moldovan Argentina Argentinean +Moldova Moldovan Australia Australian +Moldova Moldovan Austria Austrian +Moldova Moldovan Belarus Belorussian +Moldova Moldovan Brazil Brazilian +Moldova Moldovan Bulgaria Bulgarian +Moldova Moldovan Cambodia Cambodian +Moldova Moldovan Chile Chilean +Moldova Moldovan China Chinese +Moldova Moldovan Colombia Colombian +Moldova Moldovan Croatia Croatian +Moldova Moldovan Denmark Danish +Moldova Moldovan Egypt Egyptian +Moldova Moldovan England English +Moldova Moldovan France French +Moldova Moldovan Germany German +Moldova Moldovan Greece Greek +Moldova Moldovan Iceland Icelandic +Moldova Moldovan India Indian +Moldova Moldovan Ireland Irish +Moldova Moldovan Israel Israeli +Moldova Moldovan Italy Italian +Moldova Moldovan Japan Japanese +Moldova Moldovan Korea Korean +Moldova Moldovan Macedonia Macedonian +Moldova Moldovan Malta Maltese +Netherlands Dutch Norway Norwegian +Netherlands Dutch Peru Peruvian +Netherlands Dutch Poland Polish +Netherlands Dutch Portugal Portuguese +Netherlands Dutch Russia Russian +Netherlands Dutch Slovakia Slovakian +Netherlands Dutch Spain Spanish +Netherlands Dutch Sweden Swedish +Netherlands Dutch Switzerland Swiss +Netherlands Dutch Thailand Thai +Netherlands Dutch Ukraine Ukrainian +Netherlands Dutch Albania Albanian +Netherlands Dutch Argentina Argentinean +Netherlands Dutch Australia Australian +Netherlands Dutch Austria Austrian +Netherlands Dutch Belarus Belorussian +Netherlands Dutch Brazil Brazilian +Netherlands Dutch Bulgaria Bulgarian +Netherlands Dutch Cambodia Cambodian +Netherlands Dutch Chile Chilean +Netherlands Dutch China Chinese +Netherlands Dutch Colombia Colombian +Netherlands Dutch Croatia Croatian +Netherlands Dutch Denmark Danish +Netherlands Dutch Egypt Egyptian +Netherlands Dutch England English +Netherlands Dutch France French +Netherlands Dutch Germany German +Netherlands Dutch Greece Greek +Netherlands Dutch Iceland Icelandic +Netherlands Dutch India Indian +Netherlands Dutch Ireland Irish +Netherlands Dutch Israel Israeli +Netherlands Dutch Italy Italian +Netherlands Dutch Japan Japanese +Netherlands Dutch Korea Korean +Netherlands Dutch Macedonia Macedonian +Netherlands Dutch Malta Maltese +Netherlands Dutch Mexico Mexican +Norway Norwegian Peru Peruvian +Norway Norwegian Poland Polish +Norway Norwegian Portugal Portuguese +Norway Norwegian Russia Russian +Norway Norwegian Slovakia Slovakian +Norway Norwegian Spain Spanish +Norway Norwegian Sweden Swedish +Norway Norwegian Switzerland Swiss +Norway Norwegian Thailand Thai +Norway Norwegian Ukraine Ukrainian +Norway Norwegian Albania Albanian +Norway Norwegian Argentina Argentinean +Norway Norwegian Australia Australian +Norway Norwegian Austria Austrian +Norway Norwegian Belarus Belorussian +Norway Norwegian Brazil Brazilian +Norway Norwegian Bulgaria Bulgarian +Norway Norwegian Cambodia Cambodian +Norway Norwegian Chile Chilean +Norway Norwegian China Chinese +Norway Norwegian Colombia Colombian +Norway Norwegian Croatia Croatian +Norway Norwegian Denmark Danish +Norway Norwegian Egypt Egyptian +Norway Norwegian England English +Norway Norwegian France French +Norway Norwegian Germany German +Norway Norwegian Greece Greek +Norway Norwegian Iceland Icelandic +Norway Norwegian India Indian +Norway Norwegian Ireland Irish +Norway Norwegian Israel Israeli +Norway Norwegian Italy Italian +Norway Norwegian Japan Japanese +Norway Norwegian Korea Korean +Norway Norwegian Macedonia Macedonian +Norway Norwegian Malta Maltese +Norway Norwegian Mexico Mexican +Norway Norwegian Moldova Moldovan +Peru Peruvian Poland Polish +Peru Peruvian Portugal Portuguese +Peru Peruvian Russia Russian +Peru Peruvian Slovakia Slovakian +Peru Peruvian Spain Spanish +Peru Peruvian Sweden Swedish +Peru Peruvian Switzerland Swiss +Peru Peruvian Thailand Thai +Peru Peruvian Ukraine Ukrainian +Peru Peruvian Albania Albanian +Peru Peruvian Argentina Argentinean +Peru Peruvian Australia Australian +Peru Peruvian Austria Austrian +Peru Peruvian Belarus Belorussian +Peru Peruvian Brazil Brazilian +Peru Peruvian Bulgaria Bulgarian +Peru Peruvian Cambodia Cambodian +Peru Peruvian Chile Chilean +Peru Peruvian China Chinese +Peru Peruvian Colombia Colombian +Peru Peruvian Croatia Croatian +Peru Peruvian Denmark Danish +Peru Peruvian Egypt Egyptian +Peru Peruvian England English +Peru Peruvian France French +Peru Peruvian Germany German +Peru Peruvian Greece Greek +Peru Peruvian Iceland Icelandic +Peru Peruvian India Indian +Peru Peruvian Ireland Irish +Peru Peruvian Israel Israeli +Peru Peruvian Italy Italian +Peru Peruvian Japan Japanese +Peru Peruvian Korea Korean +Peru Peruvian Macedonia Macedonian +Peru Peruvian Malta Maltese +Peru Peruvian Mexico Mexican +Peru Peruvian Moldova Moldovan +Peru Peruvian Netherlands Dutch +Poland Polish Portugal Portuguese +Poland Polish Russia Russian +Poland Polish Slovakia Slovakian +Poland Polish Spain Spanish +Poland Polish Sweden Swedish +Poland Polish Switzerland Swiss +Poland Polish Thailand Thai +Poland Polish Ukraine Ukrainian +Poland Polish Albania Albanian +Poland Polish Argentina Argentinean +Poland Polish Australia Australian +Poland Polish Austria Austrian +Poland Polish Belarus Belorussian +Poland Polish Brazil Brazilian +Poland Polish Bulgaria Bulgarian +Poland Polish Cambodia Cambodian +Poland Polish Chile Chilean +Poland Polish China Chinese +Poland Polish Colombia Colombian +Poland Polish Croatia Croatian +Poland Polish Denmark Danish +Poland Polish Egypt Egyptian +Poland Polish England English +Poland Polish France French +Poland Polish Germany German +Poland Polish Greece Greek +Poland Polish Iceland Icelandic +Poland Polish India Indian +Poland Polish Ireland Irish +Poland Polish Israel Israeli +Poland Polish Italy Italian +Poland Polish Japan Japanese +Poland Polish Korea Korean +Poland Polish Macedonia Macedonian +Poland Polish Malta Maltese +Poland Polish Mexico Mexican +Poland Polish Moldova Moldovan +Poland Polish Netherlands Dutch +Poland Polish Norway Norwegian +Portugal Portuguese Russia Russian +Portugal Portuguese Slovakia Slovakian +Portugal Portuguese Spain Spanish +Portugal Portuguese Sweden Swedish +Portugal Portuguese Switzerland Swiss +Portugal Portuguese Thailand Thai +Portugal Portuguese Ukraine Ukrainian +Portugal Portuguese Albania Albanian +Portugal Portuguese Argentina Argentinean +Portugal Portuguese Australia Australian +Portugal Portuguese Austria Austrian +Portugal Portuguese Belarus Belorussian +Portugal Portuguese Brazil Brazilian +Portugal Portuguese Bulgaria Bulgarian +Portugal Portuguese Cambodia Cambodian +Portugal Portuguese Chile Chilean +Portugal Portuguese China Chinese +Portugal Portuguese Colombia Colombian +Portugal Portuguese Croatia Croatian +Portugal Portuguese Denmark Danish +Portugal Portuguese Egypt Egyptian +Portugal Portuguese England English +Portugal Portuguese France French +Portugal Portuguese Germany German +Portugal Portuguese Greece Greek +Portugal Portuguese Iceland Icelandic +Portugal Portuguese India Indian +Portugal Portuguese Ireland Irish +Portugal Portuguese Israel Israeli +Portugal Portuguese Italy Italian +Portugal Portuguese Japan Japanese +Portugal Portuguese Korea Korean +Portugal Portuguese Macedonia Macedonian +Portugal Portuguese Malta Maltese +Portugal Portuguese Mexico Mexican +Portugal Portuguese Moldova Moldovan +Portugal Portuguese Netherlands Dutch +Portugal Portuguese Norway Norwegian +Portugal Portuguese Peru Peruvian +Russia Russian Slovakia Slovakian +Russia Russian Spain Spanish +Russia Russian Sweden Swedish +Russia Russian Switzerland Swiss +Russia Russian Thailand Thai +Russia Russian Ukraine Ukrainian +Russia Russian Albania Albanian +Russia Russian Argentina Argentinean +Russia Russian Australia Australian +Russia Russian Austria Austrian +Russia Russian Belarus Belorussian +Russia Russian Brazil Brazilian +Russia Russian Bulgaria Bulgarian +Russia Russian Cambodia Cambodian +Russia Russian Chile Chilean +Russia Russian China Chinese +Russia Russian Colombia Colombian +Russia Russian Croatia Croatian +Russia Russian Denmark Danish +Russia Russian Egypt Egyptian +Russia Russian England English +Russia Russian France French +Russia Russian Germany German +Russia Russian Greece Greek +Russia Russian Iceland Icelandic +Russia Russian India Indian +Russia Russian Ireland Irish +Russia Russian Israel Israeli +Russia Russian Italy Italian +Russia Russian Japan Japanese +Russia Russian Korea Korean +Russia Russian Macedonia Macedonian +Russia Russian Malta Maltese +Russia Russian Mexico Mexican +Russia Russian Moldova Moldovan +Russia Russian Netherlands Dutch +Russia Russian Norway Norwegian +Russia Russian Peru Peruvian +Russia Russian Poland Polish +Slovakia Slovakian Spain Spanish +Slovakia Slovakian Sweden Swedish +Slovakia Slovakian Switzerland Swiss +Slovakia Slovakian Thailand Thai +Slovakia Slovakian Ukraine Ukrainian +Slovakia Slovakian Albania Albanian +Slovakia Slovakian Argentina Argentinean +Slovakia Slovakian Australia Australian +Slovakia Slovakian Austria Austrian +Slovakia Slovakian Belarus Belorussian +Slovakia Slovakian Brazil Brazilian +Slovakia Slovakian Bulgaria Bulgarian +Slovakia Slovakian Cambodia Cambodian +Slovakia Slovakian Chile Chilean +Slovakia Slovakian China Chinese +Slovakia Slovakian Colombia Colombian +Slovakia Slovakian Croatia Croatian +Slovakia Slovakian Denmark Danish +Slovakia Slovakian Egypt Egyptian +Slovakia Slovakian England English +Slovakia Slovakian France French +Slovakia Slovakian Germany German +Slovakia Slovakian Greece Greek +Slovakia Slovakian Iceland Icelandic +Slovakia Slovakian India Indian +Slovakia Slovakian Ireland Irish +Slovakia Slovakian Israel Israeli +Slovakia Slovakian Italy Italian +Slovakia Slovakian Japan Japanese +Slovakia Slovakian Korea Korean +Slovakia Slovakian Macedonia Macedonian +Slovakia Slovakian Malta Maltese +Slovakia Slovakian Mexico Mexican +Slovakia Slovakian Moldova Moldovan +Slovakia Slovakian Netherlands Dutch +Slovakia Slovakian Norway Norwegian +Slovakia Slovakian Peru Peruvian +Slovakia Slovakian Poland Polish +Slovakia Slovakian Portugal Portuguese +Spain Spanish Sweden Swedish +Spain Spanish Switzerland Swiss +Spain Spanish Thailand Thai +Spain Spanish Ukraine Ukrainian +Spain Spanish Albania Albanian +Spain Spanish Argentina Argentinean +Spain Spanish Australia Australian +Spain Spanish Austria Austrian +Spain Spanish Belarus Belorussian +Spain Spanish Brazil Brazilian +Spain Spanish Bulgaria Bulgarian +Spain Spanish Cambodia Cambodian +Spain Spanish Chile Chilean +Spain Spanish China Chinese +Spain Spanish Colombia Colombian +Spain Spanish Croatia Croatian +Spain Spanish Denmark Danish +Spain Spanish Egypt Egyptian +Spain Spanish England English +Spain Spanish France French +Spain Spanish Germany German +Spain Spanish Greece Greek +Spain Spanish Iceland Icelandic +Spain Spanish India Indian +Spain Spanish Ireland Irish +Spain Spanish Israel Israeli +Spain Spanish Italy Italian +Spain Spanish Japan Japanese +Spain Spanish Korea Korean +Spain Spanish Macedonia Macedonian +Spain Spanish Malta Maltese +Spain Spanish Mexico Mexican +Spain Spanish Moldova Moldovan +Spain Spanish Netherlands Dutch +Spain Spanish Norway Norwegian +Spain Spanish Peru Peruvian +Spain Spanish Poland Polish +Spain Spanish Portugal Portuguese +Spain Spanish Russia Russian +Sweden Swedish Switzerland Swiss +Sweden Swedish Thailand Thai +Sweden Swedish Ukraine Ukrainian +Sweden Swedish Albania Albanian +Sweden Swedish Argentina Argentinean +Sweden Swedish Australia Australian +Sweden Swedish Austria Austrian +Sweden Swedish Belarus Belorussian +Sweden Swedish Brazil Brazilian +Sweden Swedish Bulgaria Bulgarian +Sweden Swedish Cambodia Cambodian +Sweden Swedish Chile Chilean +Sweden Swedish China Chinese +Sweden Swedish Colombia Colombian +Sweden Swedish Croatia Croatian +Sweden Swedish Denmark Danish +Sweden Swedish Egypt Egyptian +Sweden Swedish England English +Sweden Swedish France French +Sweden Swedish Germany German +Sweden Swedish Greece Greek +Sweden Swedish Iceland Icelandic +Sweden Swedish India Indian +Sweden Swedish Ireland Irish +Sweden Swedish Israel Israeli +Sweden Swedish Italy Italian +Sweden Swedish Japan Japanese +Sweden Swedish Korea Korean +Sweden Swedish Macedonia Macedonian +Sweden Swedish Malta Maltese +Sweden Swedish Mexico Mexican +Sweden Swedish Moldova Moldovan +Sweden Swedish Netherlands Dutch +Sweden Swedish Norway Norwegian +Sweden Swedish Peru Peruvian +Sweden Swedish Poland Polish +Sweden Swedish Portugal Portuguese +Sweden Swedish Russia Russian +Sweden Swedish Slovakia Slovakian +Switzerland Swiss Thailand Thai +Switzerland Swiss Ukraine Ukrainian +Switzerland Swiss Albania Albanian +Switzerland Swiss Argentina Argentinean +Switzerland Swiss Australia Australian +Switzerland Swiss Austria Austrian +Switzerland Swiss Belarus Belorussian +Switzerland Swiss Brazil Brazilian +Switzerland Swiss Bulgaria Bulgarian +Switzerland Swiss Cambodia Cambodian +Switzerland Swiss Chile Chilean +Switzerland Swiss China Chinese +Switzerland Swiss Colombia Colombian +Switzerland Swiss Croatia Croatian +Switzerland Swiss Denmark Danish +Switzerland Swiss Egypt Egyptian +Switzerland Swiss England English +Switzerland Swiss France French +Switzerland Swiss Germany German +Switzerland Swiss Greece Greek +Switzerland Swiss Iceland Icelandic +Switzerland Swiss India Indian +Switzerland Swiss Ireland Irish +Switzerland Swiss Israel Israeli +Switzerland Swiss Italy Italian +Switzerland Swiss Japan Japanese +Switzerland Swiss Korea Korean +Switzerland Swiss Macedonia Macedonian +Switzerland Swiss Malta Maltese +Switzerland Swiss Mexico Mexican +Switzerland Swiss Moldova Moldovan +Switzerland Swiss Netherlands Dutch +Switzerland Swiss Norway Norwegian +Switzerland Swiss Peru Peruvian +Switzerland Swiss Poland Polish +Switzerland Swiss Portugal Portuguese +Switzerland Swiss Russia Russian +Switzerland Swiss Slovakia Slovakian +Switzerland Swiss Spain Spanish +Thailand Thai Ukraine Ukrainian +Thailand Thai Albania Albanian +Thailand Thai Argentina Argentinean +Thailand Thai Australia Australian +Thailand Thai Austria Austrian +Thailand Thai Belarus Belorussian +Thailand Thai Brazil Brazilian +Thailand Thai Bulgaria Bulgarian +Thailand Thai Cambodia Cambodian +Thailand Thai Chile Chilean +Thailand Thai China Chinese +Thailand Thai Colombia Colombian +Thailand Thai Croatia Croatian +Thailand Thai Denmark Danish +Thailand Thai Egypt Egyptian +Thailand Thai England English +Thailand Thai France French +Thailand Thai Germany German +Thailand Thai Greece Greek +Thailand Thai Iceland Icelandic +Thailand Thai India Indian +Thailand Thai Ireland Irish +Thailand Thai Israel Israeli +Thailand Thai Italy Italian +Thailand Thai Japan Japanese +Thailand Thai Korea Korean +Thailand Thai Macedonia Macedonian +Thailand Thai Malta Maltese +Thailand Thai Mexico Mexican +Thailand Thai Moldova Moldovan +Thailand Thai Netherlands Dutch +Thailand Thai Norway Norwegian +Thailand Thai Peru Peruvian +Thailand Thai Poland Polish +Thailand Thai Portugal Portuguese +Thailand Thai Russia Russian +Thailand Thai Slovakia Slovakian +Thailand Thai Spain Spanish +Thailand Thai Sweden Swedish +Ukraine Ukrainian Albania Albanian +Ukraine Ukrainian Argentina Argentinean +Ukraine Ukrainian Australia Australian +Ukraine Ukrainian Austria Austrian +Ukraine Ukrainian Belarus Belorussian +Ukraine Ukrainian Brazil Brazilian +Ukraine Ukrainian Bulgaria Bulgarian +Ukraine Ukrainian Cambodia Cambodian +Ukraine Ukrainian Chile Chilean +Ukraine Ukrainian China Chinese +Ukraine Ukrainian Colombia Colombian +Ukraine Ukrainian Croatia Croatian +Ukraine Ukrainian Denmark Danish +Ukraine Ukrainian Egypt Egyptian +Ukraine Ukrainian England English +Ukraine Ukrainian France French +Ukraine Ukrainian Germany German +Ukraine Ukrainian Greece Greek +Ukraine Ukrainian Iceland Icelandic +Ukraine Ukrainian India Indian +Ukraine Ukrainian Ireland Irish +Ukraine Ukrainian Israel Israeli +Ukraine Ukrainian Italy Italian +Ukraine Ukrainian Japan Japanese +Ukraine Ukrainian Korea Korean +Ukraine Ukrainian Macedonia Macedonian +Ukraine Ukrainian Malta Maltese +Ukraine Ukrainian Mexico Mexican +Ukraine Ukrainian Moldova Moldovan +Ukraine Ukrainian Netherlands Dutch +Ukraine Ukrainian Norway Norwegian +Ukraine Ukrainian Peru Peruvian +Ukraine Ukrainian Poland Polish +Ukraine Ukrainian Portugal Portuguese +Ukraine Ukrainian Russia Russian +Ukraine Ukrainian Slovakia Slovakian +Ukraine Ukrainian Spain Spanish +Ukraine Ukrainian Sweden Swedish +Ukraine Ukrainian Switzerland Swiss +: gram7-past-tense +dancing danced decreasing decreased +dancing danced describing described +dancing danced enhancing enhanced +dancing danced falling fell +dancing danced feeding fed +dancing danced flying flew +dancing danced generating generated +dancing danced going went +dancing danced hiding hid +dancing danced hitting hit +dancing danced implementing implemented +dancing danced increasing increased +dancing danced jumping jumped +dancing danced knowing knew +dancing danced listening listened +dancing danced looking looked +dancing danced moving moved +dancing danced paying paid +dancing danced playing played +dancing danced predicting predicted +dancing danced reading read +dancing danced running ran +dancing danced saying said +dancing danced screaming screamed +dancing danced seeing saw +dancing danced selling sold +dancing danced shrinking shrank +dancing danced singing sang +dancing danced sitting sat +dancing danced sleeping slept +dancing danced slowing slowed +dancing danced spending spent +dancing danced striking struck +dancing danced swimming swam +dancing danced taking took +dancing danced thinking thought +dancing danced vanishing vanished +dancing danced walking walked +dancing danced writing wrote +decreasing decreased describing described +decreasing decreased enhancing enhanced +decreasing decreased falling fell +decreasing decreased feeding fed +decreasing decreased flying flew +decreasing decreased generating generated +decreasing decreased going went +decreasing decreased hiding hid +decreasing decreased hitting hit +decreasing decreased implementing implemented +decreasing decreased increasing increased +decreasing decreased jumping jumped +decreasing decreased knowing knew +decreasing decreased listening listened +decreasing decreased looking looked +decreasing decreased moving moved +decreasing decreased paying paid +decreasing decreased playing played +decreasing decreased predicting predicted +decreasing decreased reading read +decreasing decreased running ran +decreasing decreased saying said +decreasing decreased screaming screamed +decreasing decreased seeing saw +decreasing decreased selling sold +decreasing decreased shrinking shrank +decreasing decreased singing sang +decreasing decreased sitting sat +decreasing decreased sleeping slept +decreasing decreased slowing slowed +decreasing decreased spending spent +decreasing decreased striking struck +decreasing decreased swimming swam +decreasing decreased taking took +decreasing decreased thinking thought +decreasing decreased vanishing vanished +decreasing decreased walking walked +decreasing decreased writing wrote +decreasing decreased dancing danced +describing described enhancing enhanced +describing described falling fell +describing described feeding fed +describing described flying flew +describing described generating generated +describing described going went +describing described hiding hid +describing described hitting hit +describing described implementing implemented +describing described increasing increased +describing described jumping jumped +describing described knowing knew +describing described listening listened +describing described looking looked +describing described moving moved +describing described paying paid +describing described playing played +describing described predicting predicted +describing described reading read +describing described running ran +describing described saying said +describing described screaming screamed +describing described seeing saw +describing described selling sold +describing described shrinking shrank +describing described singing sang +describing described sitting sat +describing described sleeping slept +describing described slowing slowed +describing described spending spent +describing described striking struck +describing described swimming swam +describing described taking took +describing described thinking thought +describing described vanishing vanished +describing described walking walked +describing described writing wrote +describing described dancing danced +describing described decreasing decreased +enhancing enhanced falling fell +enhancing enhanced feeding fed +enhancing enhanced flying flew +enhancing enhanced generating generated +enhancing enhanced going went +enhancing enhanced hiding hid +enhancing enhanced hitting hit +enhancing enhanced implementing implemented +enhancing enhanced increasing increased +enhancing enhanced jumping jumped +enhancing enhanced knowing knew +enhancing enhanced listening listened +enhancing enhanced looking looked +enhancing enhanced moving moved +enhancing enhanced paying paid +enhancing enhanced playing played +enhancing enhanced predicting predicted +enhancing enhanced reading read +enhancing enhanced running ran +enhancing enhanced saying said +enhancing enhanced screaming screamed +enhancing enhanced seeing saw +enhancing enhanced selling sold +enhancing enhanced shrinking shrank +enhancing enhanced singing sang +enhancing enhanced sitting sat +enhancing enhanced sleeping slept +enhancing enhanced slowing slowed +enhancing enhanced spending spent +enhancing enhanced striking struck +enhancing enhanced swimming swam +enhancing enhanced taking took +enhancing enhanced thinking thought +enhancing enhanced vanishing vanished +enhancing enhanced walking walked +enhancing enhanced writing wrote +enhancing enhanced dancing danced +enhancing enhanced decreasing decreased +enhancing enhanced describing described +falling fell feeding fed +falling fell flying flew +falling fell generating generated +falling fell going went +falling fell hiding hid +falling fell hitting hit +falling fell implementing implemented +falling fell increasing increased +falling fell jumping jumped +falling fell knowing knew +falling fell listening listened +falling fell looking looked +falling fell moving moved +falling fell paying paid +falling fell playing played +falling fell predicting predicted +falling fell reading read +falling fell running ran +falling fell saying said +falling fell screaming screamed +falling fell seeing saw +falling fell selling sold +falling fell shrinking shrank +falling fell singing sang +falling fell sitting sat +falling fell sleeping slept +falling fell slowing slowed +falling fell spending spent +falling fell striking struck +falling fell swimming swam +falling fell taking took +falling fell thinking thought +falling fell vanishing vanished +falling fell walking walked +falling fell writing wrote +falling fell dancing danced +falling fell decreasing decreased +falling fell describing described +falling fell enhancing enhanced +feeding fed flying flew +feeding fed generating generated +feeding fed going went +feeding fed hiding hid +feeding fed hitting hit +feeding fed implementing implemented +feeding fed increasing increased +feeding fed jumping jumped +feeding fed knowing knew +feeding fed listening listened +feeding fed looking looked +feeding fed moving moved +feeding fed paying paid +feeding fed playing played +feeding fed predicting predicted +feeding fed reading read +feeding fed running ran +feeding fed saying said +feeding fed screaming screamed +feeding fed seeing saw +feeding fed selling sold +feeding fed shrinking shrank +feeding fed singing sang +feeding fed sitting sat +feeding fed sleeping slept +feeding fed slowing slowed +feeding fed spending spent +feeding fed striking struck +feeding fed swimming swam +feeding fed taking took +feeding fed thinking thought +feeding fed vanishing vanished +feeding fed walking walked +feeding fed writing wrote +feeding fed dancing danced +feeding fed decreasing decreased +feeding fed describing described +feeding fed enhancing enhanced +feeding fed falling fell +flying flew generating generated +flying flew going went +flying flew hiding hid +flying flew hitting hit +flying flew implementing implemented +flying flew increasing increased +flying flew jumping jumped +flying flew knowing knew +flying flew listening listened +flying flew looking looked +flying flew moving moved +flying flew paying paid +flying flew playing played +flying flew predicting predicted +flying flew reading read +flying flew running ran +flying flew saying said +flying flew screaming screamed +flying flew seeing saw +flying flew selling sold +flying flew shrinking shrank +flying flew singing sang +flying flew sitting sat +flying flew sleeping slept +flying flew slowing slowed +flying flew spending spent +flying flew striking struck +flying flew swimming swam +flying flew taking took +flying flew thinking thought +flying flew vanishing vanished +flying flew walking walked +flying flew writing wrote +flying flew dancing danced +flying flew decreasing decreased +flying flew describing described +flying flew enhancing enhanced +flying flew falling fell +flying flew feeding fed +generating generated going went +generating generated hiding hid +generating generated hitting hit +generating generated implementing implemented +generating generated increasing increased +generating generated jumping jumped +generating generated knowing knew +generating generated listening listened +generating generated looking looked +generating generated moving moved +generating generated paying paid +generating generated playing played +generating generated predicting predicted +generating generated reading read +generating generated running ran +generating generated saying said +generating generated screaming screamed +generating generated seeing saw +generating generated selling sold +generating generated shrinking shrank +generating generated singing sang +generating generated sitting sat +generating generated sleeping slept +generating generated slowing slowed +generating generated spending spent +generating generated striking struck +generating generated swimming swam +generating generated taking took +generating generated thinking thought +generating generated vanishing vanished +generating generated walking walked +generating generated writing wrote +generating generated dancing danced +generating generated decreasing decreased +generating generated describing described +generating generated enhancing enhanced +generating generated falling fell +generating generated feeding fed +generating generated flying flew +going went hiding hid +going went hitting hit +going went implementing implemented +going went increasing increased +going went jumping jumped +going went knowing knew +going went listening listened +going went looking looked +going went moving moved +going went paying paid +going went playing played +going went predicting predicted +going went reading read +going went running ran +going went saying said +going went screaming screamed +going went seeing saw +going went selling sold +going went shrinking shrank +going went singing sang +going went sitting sat +going went sleeping slept +going went slowing slowed +going went spending spent +going went striking struck +going went swimming swam +going went taking took +going went thinking thought +going went vanishing vanished +going went walking walked +going went writing wrote +going went dancing danced +going went decreasing decreased +going went describing described +going went enhancing enhanced +going went falling fell +going went feeding fed +going went flying flew +going went generating generated +hiding hid hitting hit +hiding hid implementing implemented +hiding hid increasing increased +hiding hid jumping jumped +hiding hid knowing knew +hiding hid listening listened +hiding hid looking looked +hiding hid moving moved +hiding hid paying paid +hiding hid playing played +hiding hid predicting predicted +hiding hid reading read +hiding hid running ran +hiding hid saying said +hiding hid screaming screamed +hiding hid seeing saw +hiding hid selling sold +hiding hid shrinking shrank +hiding hid singing sang +hiding hid sitting sat +hiding hid sleeping slept +hiding hid slowing slowed +hiding hid spending spent +hiding hid striking struck +hiding hid swimming swam +hiding hid taking took +hiding hid thinking thought +hiding hid vanishing vanished +hiding hid walking walked +hiding hid writing wrote +hiding hid dancing danced +hiding hid decreasing decreased +hiding hid describing described +hiding hid enhancing enhanced +hiding hid falling fell +hiding hid feeding fed +hiding hid flying flew +hiding hid generating generated +hiding hid going went +hitting hit implementing implemented +hitting hit increasing increased +hitting hit jumping jumped +hitting hit knowing knew +hitting hit listening listened +hitting hit looking looked +hitting hit moving moved +hitting hit paying paid +hitting hit playing played +hitting hit predicting predicted +hitting hit reading read +hitting hit running ran +hitting hit saying said +hitting hit screaming screamed +hitting hit seeing saw +hitting hit selling sold +hitting hit shrinking shrank +hitting hit singing sang +hitting hit sitting sat +hitting hit sleeping slept +hitting hit slowing slowed +hitting hit spending spent +hitting hit striking struck +hitting hit swimming swam +hitting hit taking took +hitting hit thinking thought +hitting hit vanishing vanished +hitting hit walking walked +hitting hit writing wrote +hitting hit dancing danced +hitting hit decreasing decreased +hitting hit describing described +hitting hit enhancing enhanced +hitting hit falling fell +hitting hit feeding fed +hitting hit flying flew +hitting hit generating generated +hitting hit going went +hitting hit hiding hid +implementing implemented increasing increased +implementing implemented jumping jumped +implementing implemented knowing knew +implementing implemented listening listened +implementing implemented looking looked +implementing implemented moving moved +implementing implemented paying paid +implementing implemented playing played +implementing implemented predicting predicted +implementing implemented reading read +implementing implemented running ran +implementing implemented saying said +implementing implemented screaming screamed +implementing implemented seeing saw +implementing implemented selling sold +implementing implemented shrinking shrank +implementing implemented singing sang +implementing implemented sitting sat +implementing implemented sleeping slept +implementing implemented slowing slowed +implementing implemented spending spent +implementing implemented striking struck +implementing implemented swimming swam +implementing implemented taking took +implementing implemented thinking thought +implementing implemented vanishing vanished +implementing implemented walking walked +implementing implemented writing wrote +implementing implemented dancing danced +implementing implemented decreasing decreased +implementing implemented describing described +implementing implemented enhancing enhanced +implementing implemented falling fell +implementing implemented feeding fed +implementing implemented flying flew +implementing implemented generating generated +implementing implemented going went +implementing implemented hiding hid +implementing implemented hitting hit +increasing increased jumping jumped +increasing increased knowing knew +increasing increased listening listened +increasing increased looking looked +increasing increased moving moved +increasing increased paying paid +increasing increased playing played +increasing increased predicting predicted +increasing increased reading read +increasing increased running ran +increasing increased saying said +increasing increased screaming screamed +increasing increased seeing saw +increasing increased selling sold +increasing increased shrinking shrank +increasing increased singing sang +increasing increased sitting sat +increasing increased sleeping slept +increasing increased slowing slowed +increasing increased spending spent +increasing increased striking struck +increasing increased swimming swam +increasing increased taking took +increasing increased thinking thought +increasing increased vanishing vanished +increasing increased walking walked +increasing increased writing wrote +increasing increased dancing danced +increasing increased decreasing decreased +increasing increased describing described +increasing increased enhancing enhanced +increasing increased falling fell +increasing increased feeding fed +increasing increased flying flew +increasing increased generating generated +increasing increased going went +increasing increased hiding hid +increasing increased hitting hit +increasing increased implementing implemented +jumping jumped knowing knew +jumping jumped listening listened +jumping jumped looking looked +jumping jumped moving moved +jumping jumped paying paid +jumping jumped playing played +jumping jumped predicting predicted +jumping jumped reading read +jumping jumped running ran +jumping jumped saying said +jumping jumped screaming screamed +jumping jumped seeing saw +jumping jumped selling sold +jumping jumped shrinking shrank +jumping jumped singing sang +jumping jumped sitting sat +jumping jumped sleeping slept +jumping jumped slowing slowed +jumping jumped spending spent +jumping jumped striking struck +jumping jumped swimming swam +jumping jumped taking took +jumping jumped thinking thought +jumping jumped vanishing vanished +jumping jumped walking walked +jumping jumped writing wrote +jumping jumped dancing danced +jumping jumped decreasing decreased +jumping jumped describing described +jumping jumped enhancing enhanced +jumping jumped falling fell +jumping jumped feeding fed +jumping jumped flying flew +jumping jumped generating generated +jumping jumped going went +jumping jumped hiding hid +jumping jumped hitting hit +jumping jumped implementing implemented +jumping jumped increasing increased +knowing knew listening listened +knowing knew looking looked +knowing knew moving moved +knowing knew paying paid +knowing knew playing played +knowing knew predicting predicted +knowing knew reading read +knowing knew running ran +knowing knew saying said +knowing knew screaming screamed +knowing knew seeing saw +knowing knew selling sold +knowing knew shrinking shrank +knowing knew singing sang +knowing knew sitting sat +knowing knew sleeping slept +knowing knew slowing slowed +knowing knew spending spent +knowing knew striking struck +knowing knew swimming swam +knowing knew taking took +knowing knew thinking thought +knowing knew vanishing vanished +knowing knew walking walked +knowing knew writing wrote +knowing knew dancing danced +knowing knew decreasing decreased +knowing knew describing described +knowing knew enhancing enhanced +knowing knew falling fell +knowing knew feeding fed +knowing knew flying flew +knowing knew generating generated +knowing knew going went +knowing knew hiding hid +knowing knew hitting hit +knowing knew implementing implemented +knowing knew increasing increased +knowing knew jumping jumped +listening listened looking looked +listening listened moving moved +listening listened paying paid +listening listened playing played +listening listened predicting predicted +listening listened reading read +listening listened running ran +listening listened saying said +listening listened screaming screamed +listening listened seeing saw +listening listened selling sold +listening listened shrinking shrank +listening listened singing sang +listening listened sitting sat +listening listened sleeping slept +listening listened slowing slowed +listening listened spending spent +listening listened striking struck +listening listened swimming swam +listening listened taking took +listening listened thinking thought +listening listened vanishing vanished +listening listened walking walked +listening listened writing wrote +listening listened dancing danced +listening listened decreasing decreased +listening listened describing described +listening listened enhancing enhanced +listening listened falling fell +listening listened feeding fed +listening listened flying flew +listening listened generating generated +listening listened going went +listening listened hiding hid +listening listened hitting hit +listening listened implementing implemented +listening listened increasing increased +listening listened jumping jumped +listening listened knowing knew +looking looked moving moved +looking looked paying paid +looking looked playing played +looking looked predicting predicted +looking looked reading read +looking looked running ran +looking looked saying said +looking looked screaming screamed +looking looked seeing saw +looking looked selling sold +looking looked shrinking shrank +looking looked singing sang +looking looked sitting sat +looking looked sleeping slept +looking looked slowing slowed +looking looked spending spent +looking looked striking struck +looking looked swimming swam +looking looked taking took +looking looked thinking thought +looking looked vanishing vanished +looking looked walking walked +looking looked writing wrote +looking looked dancing danced +looking looked decreasing decreased +looking looked describing described +looking looked enhancing enhanced +looking looked falling fell +looking looked feeding fed +looking looked flying flew +looking looked generating generated +looking looked going went +looking looked hiding hid +looking looked hitting hit +looking looked implementing implemented +looking looked increasing increased +looking looked jumping jumped +looking looked knowing knew +looking looked listening listened +moving moved paying paid +moving moved playing played +moving moved predicting predicted +moving moved reading read +moving moved running ran +moving moved saying said +moving moved screaming screamed +moving moved seeing saw +moving moved selling sold +moving moved shrinking shrank +moving moved singing sang +moving moved sitting sat +moving moved sleeping slept +moving moved slowing slowed +moving moved spending spent +moving moved striking struck +moving moved swimming swam +moving moved taking took +moving moved thinking thought +moving moved vanishing vanished +moving moved walking walked +moving moved writing wrote +moving moved dancing danced +moving moved decreasing decreased +moving moved describing described +moving moved enhancing enhanced +moving moved falling fell +moving moved feeding fed +moving moved flying flew +moving moved generating generated +moving moved going went +moving moved hiding hid +moving moved hitting hit +moving moved implementing implemented +moving moved increasing increased +moving moved jumping jumped +moving moved knowing knew +moving moved listening listened +moving moved looking looked +paying paid playing played +paying paid predicting predicted +paying paid reading read +paying paid running ran +paying paid saying said +paying paid screaming screamed +paying paid seeing saw +paying paid selling sold +paying paid shrinking shrank +paying paid singing sang +paying paid sitting sat +paying paid sleeping slept +paying paid slowing slowed +paying paid spending spent +paying paid striking struck +paying paid swimming swam +paying paid taking took +paying paid thinking thought +paying paid vanishing vanished +paying paid walking walked +paying paid writing wrote +paying paid dancing danced +paying paid decreasing decreased +paying paid describing described +paying paid enhancing enhanced +paying paid falling fell +paying paid feeding fed +paying paid flying flew +paying paid generating generated +paying paid going went +paying paid hiding hid +paying paid hitting hit +paying paid implementing implemented +paying paid increasing increased +paying paid jumping jumped +paying paid knowing knew +paying paid listening listened +paying paid looking looked +paying paid moving moved +playing played predicting predicted +playing played reading read +playing played running ran +playing played saying said +playing played screaming screamed +playing played seeing saw +playing played selling sold +playing played shrinking shrank +playing played singing sang +playing played sitting sat +playing played sleeping slept +playing played slowing slowed +playing played spending spent +playing played striking struck +playing played swimming swam +playing played taking took +playing played thinking thought +playing played vanishing vanished +playing played walking walked +playing played writing wrote +playing played dancing danced +playing played decreasing decreased +playing played describing described +playing played enhancing enhanced +playing played falling fell +playing played feeding fed +playing played flying flew +playing played generating generated +playing played going went +playing played hiding hid +playing played hitting hit +playing played implementing implemented +playing played increasing increased +playing played jumping jumped +playing played knowing knew +playing played listening listened +playing played looking looked +playing played moving moved +playing played paying paid +predicting predicted reading read +predicting predicted running ran +predicting predicted saying said +predicting predicted screaming screamed +predicting predicted seeing saw +predicting predicted selling sold +predicting predicted shrinking shrank +predicting predicted singing sang +predicting predicted sitting sat +predicting predicted sleeping slept +predicting predicted slowing slowed +predicting predicted spending spent +predicting predicted striking struck +predicting predicted swimming swam +predicting predicted taking took +predicting predicted thinking thought +predicting predicted vanishing vanished +predicting predicted walking walked +predicting predicted writing wrote +predicting predicted dancing danced +predicting predicted decreasing decreased +predicting predicted describing described +predicting predicted enhancing enhanced +predicting predicted falling fell +predicting predicted feeding fed +predicting predicted flying flew +predicting predicted generating generated +predicting predicted going went +predicting predicted hiding hid +predicting predicted hitting hit +predicting predicted implementing implemented +predicting predicted increasing increased +predicting predicted jumping jumped +predicting predicted knowing knew +predicting predicted listening listened +predicting predicted looking looked +predicting predicted moving moved +predicting predicted paying paid +predicting predicted playing played +reading read running ran +reading read saying said +reading read screaming screamed +reading read seeing saw +reading read selling sold +reading read shrinking shrank +reading read singing sang +reading read sitting sat +reading read sleeping slept +reading read slowing slowed +reading read spending spent +reading read striking struck +reading read swimming swam +reading read taking took +reading read thinking thought +reading read vanishing vanished +reading read walking walked +reading read writing wrote +reading read dancing danced +reading read decreasing decreased +reading read describing described +reading read enhancing enhanced +reading read falling fell +reading read feeding fed +reading read flying flew +reading read generating generated +reading read going went +reading read hiding hid +reading read hitting hit +reading read implementing implemented +reading read increasing increased +reading read jumping jumped +reading read knowing knew +reading read listening listened +reading read looking looked +reading read moving moved +reading read paying paid +reading read playing played +reading read predicting predicted +running ran saying said +running ran screaming screamed +running ran seeing saw +running ran selling sold +running ran shrinking shrank +running ran singing sang +running ran sitting sat +running ran sleeping slept +running ran slowing slowed +running ran spending spent +running ran striking struck +running ran swimming swam +running ran taking took +running ran thinking thought +running ran vanishing vanished +running ran walking walked +running ran writing wrote +running ran dancing danced +running ran decreasing decreased +running ran describing described +running ran enhancing enhanced +running ran falling fell +running ran feeding fed +running ran flying flew +running ran generating generated +running ran going went +running ran hiding hid +running ran hitting hit +running ran implementing implemented +running ran increasing increased +running ran jumping jumped +running ran knowing knew +running ran listening listened +running ran looking looked +running ran moving moved +running ran paying paid +running ran playing played +running ran predicting predicted +running ran reading read +saying said screaming screamed +saying said seeing saw +saying said selling sold +saying said shrinking shrank +saying said singing sang +saying said sitting sat +saying said sleeping slept +saying said slowing slowed +saying said spending spent +saying said striking struck +saying said swimming swam +saying said taking took +saying said thinking thought +saying said vanishing vanished +saying said walking walked +saying said writing wrote +saying said dancing danced +saying said decreasing decreased +saying said describing described +saying said enhancing enhanced +saying said falling fell +saying said feeding fed +saying said flying flew +saying said generating generated +saying said going went +saying said hiding hid +saying said hitting hit +saying said implementing implemented +saying said increasing increased +saying said jumping jumped +saying said knowing knew +saying said listening listened +saying said looking looked +saying said moving moved +saying said paying paid +saying said playing played +saying said predicting predicted +saying said reading read +saying said running ran +screaming screamed seeing saw +screaming screamed selling sold +screaming screamed shrinking shrank +screaming screamed singing sang +screaming screamed sitting sat +screaming screamed sleeping slept +screaming screamed slowing slowed +screaming screamed spending spent +screaming screamed striking struck +screaming screamed swimming swam +screaming screamed taking took +screaming screamed thinking thought +screaming screamed vanishing vanished +screaming screamed walking walked +screaming screamed writing wrote +screaming screamed dancing danced +screaming screamed decreasing decreased +screaming screamed describing described +screaming screamed enhancing enhanced +screaming screamed falling fell +screaming screamed feeding fed +screaming screamed flying flew +screaming screamed generating generated +screaming screamed going went +screaming screamed hiding hid +screaming screamed hitting hit +screaming screamed implementing implemented +screaming screamed increasing increased +screaming screamed jumping jumped +screaming screamed knowing knew +screaming screamed listening listened +screaming screamed looking looked +screaming screamed moving moved +screaming screamed paying paid +screaming screamed playing played +screaming screamed predicting predicted +screaming screamed reading read +screaming screamed running ran +screaming screamed saying said +seeing saw selling sold +seeing saw shrinking shrank +seeing saw singing sang +seeing saw sitting sat +seeing saw sleeping slept +seeing saw slowing slowed +seeing saw spending spent +seeing saw striking struck +seeing saw swimming swam +seeing saw taking took +seeing saw thinking thought +seeing saw vanishing vanished +seeing saw walking walked +seeing saw writing wrote +seeing saw dancing danced +seeing saw decreasing decreased +seeing saw describing described +seeing saw enhancing enhanced +seeing saw falling fell +seeing saw feeding fed +seeing saw flying flew +seeing saw generating generated +seeing saw going went +seeing saw hiding hid +seeing saw hitting hit +seeing saw implementing implemented +seeing saw increasing increased +seeing saw jumping jumped +seeing saw knowing knew +seeing saw listening listened +seeing saw looking looked +seeing saw moving moved +seeing saw paying paid +seeing saw playing played +seeing saw predicting predicted +seeing saw reading read +seeing saw running ran +seeing saw saying said +seeing saw screaming screamed +selling sold shrinking shrank +selling sold singing sang +selling sold sitting sat +selling sold sleeping slept +selling sold slowing slowed +selling sold spending spent +selling sold striking struck +selling sold swimming swam +selling sold taking took +selling sold thinking thought +selling sold vanishing vanished +selling sold walking walked +selling sold writing wrote +selling sold dancing danced +selling sold decreasing decreased +selling sold describing described +selling sold enhancing enhanced +selling sold falling fell +selling sold feeding fed +selling sold flying flew +selling sold generating generated +selling sold going went +selling sold hiding hid +selling sold hitting hit +selling sold implementing implemented +selling sold increasing increased +selling sold jumping jumped +selling sold knowing knew +selling sold listening listened +selling sold looking looked +selling sold moving moved +selling sold paying paid +selling sold playing played +selling sold predicting predicted +selling sold reading read +selling sold running ran +selling sold saying said +selling sold screaming screamed +selling sold seeing saw +shrinking shrank singing sang +shrinking shrank sitting sat +shrinking shrank sleeping slept +shrinking shrank slowing slowed +shrinking shrank spending spent +shrinking shrank striking struck +shrinking shrank swimming swam +shrinking shrank taking took +shrinking shrank thinking thought +shrinking shrank vanishing vanished +shrinking shrank walking walked +shrinking shrank writing wrote +shrinking shrank dancing danced +shrinking shrank decreasing decreased +shrinking shrank describing described +shrinking shrank enhancing enhanced +shrinking shrank falling fell +shrinking shrank feeding fed +shrinking shrank flying flew +shrinking shrank generating generated +shrinking shrank going went +shrinking shrank hiding hid +shrinking shrank hitting hit +shrinking shrank implementing implemented +shrinking shrank increasing increased +shrinking shrank jumping jumped +shrinking shrank knowing knew +shrinking shrank listening listened +shrinking shrank looking looked +shrinking shrank moving moved +shrinking shrank paying paid +shrinking shrank playing played +shrinking shrank predicting predicted +shrinking shrank reading read +shrinking shrank running ran +shrinking shrank saying said +shrinking shrank screaming screamed +shrinking shrank seeing saw +shrinking shrank selling sold +singing sang sitting sat +singing sang sleeping slept +singing sang slowing slowed +singing sang spending spent +singing sang striking struck +singing sang swimming swam +singing sang taking took +singing sang thinking thought +singing sang vanishing vanished +singing sang walking walked +singing sang writing wrote +singing sang dancing danced +singing sang decreasing decreased +singing sang describing described +singing sang enhancing enhanced +singing sang falling fell +singing sang feeding fed +singing sang flying flew +singing sang generating generated +singing sang going went +singing sang hiding hid +singing sang hitting hit +singing sang implementing implemented +singing sang increasing increased +singing sang jumping jumped +singing sang knowing knew +singing sang listening listened +singing sang looking looked +singing sang moving moved +singing sang paying paid +singing sang playing played +singing sang predicting predicted +singing sang reading read +singing sang running ran +singing sang saying said +singing sang screaming screamed +singing sang seeing saw +singing sang selling sold +singing sang shrinking shrank +sitting sat sleeping slept +sitting sat slowing slowed +sitting sat spending spent +sitting sat striking struck +sitting sat swimming swam +sitting sat taking took +sitting sat thinking thought +sitting sat vanishing vanished +sitting sat walking walked +sitting sat writing wrote +sitting sat dancing danced +sitting sat decreasing decreased +sitting sat describing described +sitting sat enhancing enhanced +sitting sat falling fell +sitting sat feeding fed +sitting sat flying flew +sitting sat generating generated +sitting sat going went +sitting sat hiding hid +sitting sat hitting hit +sitting sat implementing implemented +sitting sat increasing increased +sitting sat jumping jumped +sitting sat knowing knew +sitting sat listening listened +sitting sat looking looked +sitting sat moving moved +sitting sat paying paid +sitting sat playing played +sitting sat predicting predicted +sitting sat reading read +sitting sat running ran +sitting sat saying said +sitting sat screaming screamed +sitting sat seeing saw +sitting sat selling sold +sitting sat shrinking shrank +sitting sat singing sang +sleeping slept slowing slowed +sleeping slept spending spent +sleeping slept striking struck +sleeping slept swimming swam +sleeping slept taking took +sleeping slept thinking thought +sleeping slept vanishing vanished +sleeping slept walking walked +sleeping slept writing wrote +sleeping slept dancing danced +sleeping slept decreasing decreased +sleeping slept describing described +sleeping slept enhancing enhanced +sleeping slept falling fell +sleeping slept feeding fed +sleeping slept flying flew +sleeping slept generating generated +sleeping slept going went +sleeping slept hiding hid +sleeping slept hitting hit +sleeping slept implementing implemented +sleeping slept increasing increased +sleeping slept jumping jumped +sleeping slept knowing knew +sleeping slept listening listened +sleeping slept looking looked +sleeping slept moving moved +sleeping slept paying paid +sleeping slept playing played +sleeping slept predicting predicted +sleeping slept reading read +sleeping slept running ran +sleeping slept saying said +sleeping slept screaming screamed +sleeping slept seeing saw +sleeping slept selling sold +sleeping slept shrinking shrank +sleeping slept singing sang +sleeping slept sitting sat +slowing slowed spending spent +slowing slowed striking struck +slowing slowed swimming swam +slowing slowed taking took +slowing slowed thinking thought +slowing slowed vanishing vanished +slowing slowed walking walked +slowing slowed writing wrote +slowing slowed dancing danced +slowing slowed decreasing decreased +slowing slowed describing described +slowing slowed enhancing enhanced +slowing slowed falling fell +slowing slowed feeding fed +slowing slowed flying flew +slowing slowed generating generated +slowing slowed going went +slowing slowed hiding hid +slowing slowed hitting hit +slowing slowed implementing implemented +slowing slowed increasing increased +slowing slowed jumping jumped +slowing slowed knowing knew +slowing slowed listening listened +slowing slowed looking looked +slowing slowed moving moved +slowing slowed paying paid +slowing slowed playing played +slowing slowed predicting predicted +slowing slowed reading read +slowing slowed running ran +slowing slowed saying said +slowing slowed screaming screamed +slowing slowed seeing saw +slowing slowed selling sold +slowing slowed shrinking shrank +slowing slowed singing sang +slowing slowed sitting sat +slowing slowed sleeping slept +spending spent striking struck +spending spent swimming swam +spending spent taking took +spending spent thinking thought +spending spent vanishing vanished +spending spent walking walked +spending spent writing wrote +spending spent dancing danced +spending spent decreasing decreased +spending spent describing described +spending spent enhancing enhanced +spending spent falling fell +spending spent feeding fed +spending spent flying flew +spending spent generating generated +spending spent going went +spending spent hiding hid +spending spent hitting hit +spending spent implementing implemented +spending spent increasing increased +spending spent jumping jumped +spending spent knowing knew +spending spent listening listened +spending spent looking looked +spending spent moving moved +spending spent paying paid +spending spent playing played +spending spent predicting predicted +spending spent reading read +spending spent running ran +spending spent saying said +spending spent screaming screamed +spending spent seeing saw +spending spent selling sold +spending spent shrinking shrank +spending spent singing sang +spending spent sitting sat +spending spent sleeping slept +spending spent slowing slowed +striking struck swimming swam +striking struck taking took +striking struck thinking thought +striking struck vanishing vanished +striking struck walking walked +striking struck writing wrote +striking struck dancing danced +striking struck decreasing decreased +striking struck describing described +striking struck enhancing enhanced +striking struck falling fell +striking struck feeding fed +striking struck flying flew +striking struck generating generated +striking struck going went +striking struck hiding hid +striking struck hitting hit +striking struck implementing implemented +striking struck increasing increased +striking struck jumping jumped +striking struck knowing knew +striking struck listening listened +striking struck looking looked +striking struck moving moved +striking struck paying paid +striking struck playing played +striking struck predicting predicted +striking struck reading read +striking struck running ran +striking struck saying said +striking struck screaming screamed +striking struck seeing saw +striking struck selling sold +striking struck shrinking shrank +striking struck singing sang +striking struck sitting sat +striking struck sleeping slept +striking struck slowing slowed +striking struck spending spent +swimming swam taking took +swimming swam thinking thought +swimming swam vanishing vanished +swimming swam walking walked +swimming swam writing wrote +swimming swam dancing danced +swimming swam decreasing decreased +swimming swam describing described +swimming swam enhancing enhanced +swimming swam falling fell +swimming swam feeding fed +swimming swam flying flew +swimming swam generating generated +swimming swam going went +swimming swam hiding hid +swimming swam hitting hit +swimming swam implementing implemented +swimming swam increasing increased +swimming swam jumping jumped +swimming swam knowing knew +swimming swam listening listened +swimming swam looking looked +swimming swam moving moved +swimming swam paying paid +swimming swam playing played +swimming swam predicting predicted +swimming swam reading read +swimming swam running ran +swimming swam saying said +swimming swam screaming screamed +swimming swam seeing saw +swimming swam selling sold +swimming swam shrinking shrank +swimming swam singing sang +swimming swam sitting sat +swimming swam sleeping slept +swimming swam slowing slowed +swimming swam spending spent +swimming swam striking struck +taking took thinking thought +taking took vanishing vanished +taking took walking walked +taking took writing wrote +taking took dancing danced +taking took decreasing decreased +taking took describing described +taking took enhancing enhanced +taking took falling fell +taking took feeding fed +taking took flying flew +taking took generating generated +taking took going went +taking took hiding hid +taking took hitting hit +taking took implementing implemented +taking took increasing increased +taking took jumping jumped +taking took knowing knew +taking took listening listened +taking took looking looked +taking took moving moved +taking took paying paid +taking took playing played +taking took predicting predicted +taking took reading read +taking took running ran +taking took saying said +taking took screaming screamed +taking took seeing saw +taking took selling sold +taking took shrinking shrank +taking took singing sang +taking took sitting sat +taking took sleeping slept +taking took slowing slowed +taking took spending spent +taking took striking struck +taking took swimming swam +thinking thought vanishing vanished +thinking thought walking walked +thinking thought writing wrote +thinking thought dancing danced +thinking thought decreasing decreased +thinking thought describing described +thinking thought enhancing enhanced +thinking thought falling fell +thinking thought feeding fed +thinking thought flying flew +thinking thought generating generated +thinking thought going went +thinking thought hiding hid +thinking thought hitting hit +thinking thought implementing implemented +thinking thought increasing increased +thinking thought jumping jumped +thinking thought knowing knew +thinking thought listening listened +thinking thought looking looked +thinking thought moving moved +thinking thought paying paid +thinking thought playing played +thinking thought predicting predicted +thinking thought reading read +thinking thought running ran +thinking thought saying said +thinking thought screaming screamed +thinking thought seeing saw +thinking thought selling sold +thinking thought shrinking shrank +thinking thought singing sang +thinking thought sitting sat +thinking thought sleeping slept +thinking thought slowing slowed +thinking thought spending spent +thinking thought striking struck +thinking thought swimming swam +thinking thought taking took +vanishing vanished walking walked +vanishing vanished writing wrote +vanishing vanished dancing danced +vanishing vanished decreasing decreased +vanishing vanished describing described +vanishing vanished enhancing enhanced +vanishing vanished falling fell +vanishing vanished feeding fed +vanishing vanished flying flew +vanishing vanished generating generated +vanishing vanished going went +vanishing vanished hiding hid +vanishing vanished hitting hit +vanishing vanished implementing implemented +vanishing vanished increasing increased +vanishing vanished jumping jumped +vanishing vanished knowing knew +vanishing vanished listening listened +vanishing vanished looking looked +vanishing vanished moving moved +vanishing vanished paying paid +vanishing vanished playing played +vanishing vanished predicting predicted +vanishing vanished reading read +vanishing vanished running ran +vanishing vanished saying said +vanishing vanished screaming screamed +vanishing vanished seeing saw +vanishing vanished selling sold +vanishing vanished shrinking shrank +vanishing vanished singing sang +vanishing vanished sitting sat +vanishing vanished sleeping slept +vanishing vanished slowing slowed +vanishing vanished spending spent +vanishing vanished striking struck +vanishing vanished swimming swam +vanishing vanished taking took +vanishing vanished thinking thought +walking walked writing wrote +walking walked dancing danced +walking walked decreasing decreased +walking walked describing described +walking walked enhancing enhanced +walking walked falling fell +walking walked feeding fed +walking walked flying flew +walking walked generating generated +walking walked going went +walking walked hiding hid +walking walked hitting hit +walking walked implementing implemented +walking walked increasing increased +walking walked jumping jumped +walking walked knowing knew +walking walked listening listened +walking walked looking looked +walking walked moving moved +walking walked paying paid +walking walked playing played +walking walked predicting predicted +walking walked reading read +walking walked running ran +walking walked saying said +walking walked screaming screamed +walking walked seeing saw +walking walked selling sold +walking walked shrinking shrank +walking walked singing sang +walking walked sitting sat +walking walked sleeping slept +walking walked slowing slowed +walking walked spending spent +walking walked striking struck +walking walked swimming swam +walking walked taking took +walking walked thinking thought +walking walked vanishing vanished +writing wrote dancing danced +writing wrote decreasing decreased +writing wrote describing described +writing wrote enhancing enhanced +writing wrote falling fell +writing wrote feeding fed +writing wrote flying flew +writing wrote generating generated +writing wrote going went +writing wrote hiding hid +writing wrote hitting hit +writing wrote implementing implemented +writing wrote increasing increased +writing wrote jumping jumped +writing wrote knowing knew +writing wrote listening listened +writing wrote looking looked +writing wrote moving moved +writing wrote paying paid +writing wrote playing played +writing wrote predicting predicted +writing wrote reading read +writing wrote running ran +writing wrote saying said +writing wrote screaming screamed +writing wrote seeing saw +writing wrote selling sold +writing wrote shrinking shrank +writing wrote singing sang +writing wrote sitting sat +writing wrote sleeping slept +writing wrote slowing slowed +writing wrote spending spent +writing wrote striking struck +writing wrote swimming swam +writing wrote taking took +writing wrote thinking thought +writing wrote vanishing vanished +writing wrote walking walked +: gram8-plural +banana bananas bird birds +banana bananas bottle bottles +banana bananas building buildings +banana bananas car cars +banana bananas cat cats +banana bananas child children +banana bananas cloud clouds +banana bananas color colors +banana bananas computer computers +banana bananas cow cows +banana bananas dog dogs +banana bananas dollar dollars +banana bananas donkey donkeys +banana bananas dream dreams +banana bananas eagle eagles +banana bananas elephant elephants +banana bananas eye eyes +banana bananas finger fingers +banana bananas goat goats +banana bananas hand hands +banana bananas horse horses +banana bananas lion lions +banana bananas machine machines +banana bananas mango mangoes +banana bananas man men +banana bananas melon melons +banana bananas monkey monkeys +banana bananas mouse mice +banana bananas onion onions +banana bananas pear pears +banana bananas pig pigs +banana bananas pineapple pineapples +banana bananas rat rats +banana bananas road roads +banana bananas snake snakes +banana bananas woman women +bird birds bottle bottles +bird birds building buildings +bird birds car cars +bird birds cat cats +bird birds child children +bird birds cloud clouds +bird birds color colors +bird birds computer computers +bird birds cow cows +bird birds dog dogs +bird birds dollar dollars +bird birds donkey donkeys +bird birds dream dreams +bird birds eagle eagles +bird birds elephant elephants +bird birds eye eyes +bird birds finger fingers +bird birds goat goats +bird birds hand hands +bird birds horse horses +bird birds lion lions +bird birds machine machines +bird birds mango mangoes +bird birds man men +bird birds melon melons +bird birds monkey monkeys +bird birds mouse mice +bird birds onion onions +bird birds pear pears +bird birds pig pigs +bird birds pineapple pineapples +bird birds rat rats +bird birds road roads +bird birds snake snakes +bird birds woman women +bird birds banana bananas +bottle bottles building buildings +bottle bottles car cars +bottle bottles cat cats +bottle bottles child children +bottle bottles cloud clouds +bottle bottles color colors +bottle bottles computer computers +bottle bottles cow cows +bottle bottles dog dogs +bottle bottles dollar dollars +bottle bottles donkey donkeys +bottle bottles dream dreams +bottle bottles eagle eagles +bottle bottles elephant elephants +bottle bottles eye eyes +bottle bottles finger fingers +bottle bottles goat goats +bottle bottles hand hands +bottle bottles horse horses +bottle bottles lion lions +bottle bottles machine machines +bottle bottles mango mangoes +bottle bottles man men +bottle bottles melon melons +bottle bottles monkey monkeys +bottle bottles mouse mice +bottle bottles onion onions +bottle bottles pear pears +bottle bottles pig pigs +bottle bottles pineapple pineapples +bottle bottles rat rats +bottle bottles road roads +bottle bottles snake snakes +bottle bottles woman women +bottle bottles banana bananas +bottle bottles bird birds +building buildings car cars +building buildings cat cats +building buildings child children +building buildings cloud clouds +building buildings color colors +building buildings computer computers +building buildings cow cows +building buildings dog dogs +building buildings dollar dollars +building buildings donkey donkeys +building buildings dream dreams +building buildings eagle eagles +building buildings elephant elephants +building buildings eye eyes +building buildings finger fingers +building buildings goat goats +building buildings hand hands +building buildings horse horses +building buildings lion lions +building buildings machine machines +building buildings mango mangoes +building buildings man men +building buildings melon melons +building buildings monkey monkeys +building buildings mouse mice +building buildings onion onions +building buildings pear pears +building buildings pig pigs +building buildings pineapple pineapples +building buildings rat rats +building buildings road roads +building buildings snake snakes +building buildings woman women +building buildings banana bananas +building buildings bird birds +building buildings bottle bottles +car cars cat cats +car cars child children +car cars cloud clouds +car cars color colors +car cars computer computers +car cars cow cows +car cars dog dogs +car cars dollar dollars +car cars donkey donkeys +car cars dream dreams +car cars eagle eagles +car cars elephant elephants +car cars eye eyes +car cars finger fingers +car cars goat goats +car cars hand hands +car cars horse horses +car cars lion lions +car cars machine machines +car cars mango mangoes +car cars man men +car cars melon melons +car cars monkey monkeys +car cars mouse mice +car cars onion onions +car cars pear pears +car cars pig pigs +car cars pineapple pineapples +car cars rat rats +car cars road roads +car cars snake snakes +car cars woman women +car cars banana bananas +car cars bird birds +car cars bottle bottles +car cars building buildings +cat cats child children +cat cats cloud clouds +cat cats color colors +cat cats computer computers +cat cats cow cows +cat cats dog dogs +cat cats dollar dollars +cat cats donkey donkeys +cat cats dream dreams +cat cats eagle eagles +cat cats elephant elephants +cat cats eye eyes +cat cats finger fingers +cat cats goat goats +cat cats hand hands +cat cats horse horses +cat cats lion lions +cat cats machine machines +cat cats mango mangoes +cat cats man men +cat cats melon melons +cat cats monkey monkeys +cat cats mouse mice +cat cats onion onions +cat cats pear pears +cat cats pig pigs +cat cats pineapple pineapples +cat cats rat rats +cat cats road roads +cat cats snake snakes +cat cats woman women +cat cats banana bananas +cat cats bird birds +cat cats bottle bottles +cat cats building buildings +cat cats car cars +child children cloud clouds +child children color colors +child children computer computers +child children cow cows +child children dog dogs +child children dollar dollars +child children donkey donkeys +child children dream dreams +child children eagle eagles +child children elephant elephants +child children eye eyes +child children finger fingers +child children goat goats +child children hand hands +child children horse horses +child children lion lions +child children machine machines +child children mango mangoes +child children man men +child children melon melons +child children monkey monkeys +child children mouse mice +child children onion onions +child children pear pears +child children pig pigs +child children pineapple pineapples +child children rat rats +child children road roads +child children snake snakes +child children woman women +child children banana bananas +child children bird birds +child children bottle bottles +child children building buildings +child children car cars +child children cat cats +cloud clouds color colors +cloud clouds computer computers +cloud clouds cow cows +cloud clouds dog dogs +cloud clouds dollar dollars +cloud clouds donkey donkeys +cloud clouds dream dreams +cloud clouds eagle eagles +cloud clouds elephant elephants +cloud clouds eye eyes +cloud clouds finger fingers +cloud clouds goat goats +cloud clouds hand hands +cloud clouds horse horses +cloud clouds lion lions +cloud clouds machine machines +cloud clouds mango mangoes +cloud clouds man men +cloud clouds melon melons +cloud clouds monkey monkeys +cloud clouds mouse mice +cloud clouds onion onions +cloud clouds pear pears +cloud clouds pig pigs +cloud clouds pineapple pineapples +cloud clouds rat rats +cloud clouds road roads +cloud clouds snake snakes +cloud clouds woman women +cloud clouds banana bananas +cloud clouds bird birds +cloud clouds bottle bottles +cloud clouds building buildings +cloud clouds car cars +cloud clouds cat cats +cloud clouds child children +color colors computer computers +color colors cow cows +color colors dog dogs +color colors dollar dollars +color colors donkey donkeys +color colors dream dreams +color colors eagle eagles +color colors elephant elephants +color colors eye eyes +color colors finger fingers +color colors goat goats +color colors hand hands +color colors horse horses +color colors lion lions +color colors machine machines +color colors mango mangoes +color colors man men +color colors melon melons +color colors monkey monkeys +color colors mouse mice +color colors onion onions +color colors pear pears +color colors pig pigs +color colors pineapple pineapples +color colors rat rats +color colors road roads +color colors snake snakes +color colors woman women +color colors banana bananas +color colors bird birds +color colors bottle bottles +color colors building buildings +color colors car cars +color colors cat cats +color colors child children +color colors cloud clouds +computer computers cow cows +computer computers dog dogs +computer computers dollar dollars +computer computers donkey donkeys +computer computers dream dreams +computer computers eagle eagles +computer computers elephant elephants +computer computers eye eyes +computer computers finger fingers +computer computers goat goats +computer computers hand hands +computer computers horse horses +computer computers lion lions +computer computers machine machines +computer computers mango mangoes +computer computers man men +computer computers melon melons +computer computers monkey monkeys +computer computers mouse mice +computer computers onion onions +computer computers pear pears +computer computers pig pigs +computer computers pineapple pineapples +computer computers rat rats +computer computers road roads +computer computers snake snakes +computer computers woman women +computer computers banana bananas +computer computers bird birds +computer computers bottle bottles +computer computers building buildings +computer computers car cars +computer computers cat cats +computer computers child children +computer computers cloud clouds +computer computers color colors +cow cows dog dogs +cow cows dollar dollars +cow cows donkey donkeys +cow cows dream dreams +cow cows eagle eagles +cow cows elephant elephants +cow cows eye eyes +cow cows finger fingers +cow cows goat goats +cow cows hand hands +cow cows horse horses +cow cows lion lions +cow cows machine machines +cow cows mango mangoes +cow cows man men +cow cows melon melons +cow cows monkey monkeys +cow cows mouse mice +cow cows onion onions +cow cows pear pears +cow cows pig pigs +cow cows pineapple pineapples +cow cows rat rats +cow cows road roads +cow cows snake snakes +cow cows woman women +cow cows banana bananas +cow cows bird birds +cow cows bottle bottles +cow cows building buildings +cow cows car cars +cow cows cat cats +cow cows child children +cow cows cloud clouds +cow cows color colors +cow cows computer computers +dog dogs dollar dollars +dog dogs donkey donkeys +dog dogs dream dreams +dog dogs eagle eagles +dog dogs elephant elephants +dog dogs eye eyes +dog dogs finger fingers +dog dogs goat goats +dog dogs hand hands +dog dogs horse horses +dog dogs lion lions +dog dogs machine machines +dog dogs mango mangoes +dog dogs man men +dog dogs melon melons +dog dogs monkey monkeys +dog dogs mouse mice +dog dogs onion onions +dog dogs pear pears +dog dogs pig pigs +dog dogs pineapple pineapples +dog dogs rat rats +dog dogs road roads +dog dogs snake snakes +dog dogs woman women +dog dogs banana bananas +dog dogs bird birds +dog dogs bottle bottles +dog dogs building buildings +dog dogs car cars +dog dogs cat cats +dog dogs child children +dog dogs cloud clouds +dog dogs color colors +dog dogs computer computers +dog dogs cow cows +dollar dollars donkey donkeys +dollar dollars dream dreams +dollar dollars eagle eagles +dollar dollars elephant elephants +dollar dollars eye eyes +dollar dollars finger fingers +dollar dollars goat goats +dollar dollars hand hands +dollar dollars horse horses +dollar dollars lion lions +dollar dollars machine machines +dollar dollars mango mangoes +dollar dollars man men +dollar dollars melon melons +dollar dollars monkey monkeys +dollar dollars mouse mice +dollar dollars onion onions +dollar dollars pear pears +dollar dollars pig pigs +dollar dollars pineapple pineapples +dollar dollars rat rats +dollar dollars road roads +dollar dollars snake snakes +dollar dollars woman women +dollar dollars banana bananas +dollar dollars bird birds +dollar dollars bottle bottles +dollar dollars building buildings +dollar dollars car cars +dollar dollars cat cats +dollar dollars child children +dollar dollars cloud clouds +dollar dollars color colors +dollar dollars computer computers +dollar dollars cow cows +dollar dollars dog dogs +donkey donkeys dream dreams +donkey donkeys eagle eagles +donkey donkeys elephant elephants +donkey donkeys eye eyes +donkey donkeys finger fingers +donkey donkeys goat goats +donkey donkeys hand hands +donkey donkeys horse horses +donkey donkeys lion lions +donkey donkeys machine machines +donkey donkeys mango mangoes +donkey donkeys man men +donkey donkeys melon melons +donkey donkeys monkey monkeys +donkey donkeys mouse mice +donkey donkeys onion onions +donkey donkeys pear pears +donkey donkeys pig pigs +donkey donkeys pineapple pineapples +donkey donkeys rat rats +donkey donkeys road roads +donkey donkeys snake snakes +donkey donkeys woman women +donkey donkeys banana bananas +donkey donkeys bird birds +donkey donkeys bottle bottles +donkey donkeys building buildings +donkey donkeys car cars +donkey donkeys cat cats +donkey donkeys child children +donkey donkeys cloud clouds +donkey donkeys color colors +donkey donkeys computer computers +donkey donkeys cow cows +donkey donkeys dog dogs +donkey donkeys dollar dollars +dream dreams eagle eagles +dream dreams elephant elephants +dream dreams eye eyes +dream dreams finger fingers +dream dreams goat goats +dream dreams hand hands +dream dreams horse horses +dream dreams lion lions +dream dreams machine machines +dream dreams mango mangoes +dream dreams man men +dream dreams melon melons +dream dreams monkey monkeys +dream dreams mouse mice +dream dreams onion onions +dream dreams pear pears +dream dreams pig pigs +dream dreams pineapple pineapples +dream dreams rat rats +dream dreams road roads +dream dreams snake snakes +dream dreams woman women +dream dreams banana bananas +dream dreams bird birds +dream dreams bottle bottles +dream dreams building buildings +dream dreams car cars +dream dreams cat cats +dream dreams child children +dream dreams cloud clouds +dream dreams color colors +dream dreams computer computers +dream dreams cow cows +dream dreams dog dogs +dream dreams dollar dollars +dream dreams donkey donkeys +eagle eagles elephant elephants +eagle eagles eye eyes +eagle eagles finger fingers +eagle eagles goat goats +eagle eagles hand hands +eagle eagles horse horses +eagle eagles lion lions +eagle eagles machine machines +eagle eagles mango mangoes +eagle eagles man men +eagle eagles melon melons +eagle eagles monkey monkeys +eagle eagles mouse mice +eagle eagles onion onions +eagle eagles pear pears +eagle eagles pig pigs +eagle eagles pineapple pineapples +eagle eagles rat rats +eagle eagles road roads +eagle eagles snake snakes +eagle eagles woman women +eagle eagles banana bananas +eagle eagles bird birds +eagle eagles bottle bottles +eagle eagles building buildings +eagle eagles car cars +eagle eagles cat cats +eagle eagles child children +eagle eagles cloud clouds +eagle eagles color colors +eagle eagles computer computers +eagle eagles cow cows +eagle eagles dog dogs +eagle eagles dollar dollars +eagle eagles donkey donkeys +eagle eagles dream dreams +elephant elephants eye eyes +elephant elephants finger fingers +elephant elephants goat goats +elephant elephants hand hands +elephant elephants horse horses +elephant elephants lion lions +elephant elephants machine machines +elephant elephants mango mangoes +elephant elephants man men +elephant elephants melon melons +elephant elephants monkey monkeys +elephant elephants mouse mice +elephant elephants onion onions +elephant elephants pear pears +elephant elephants pig pigs +elephant elephants pineapple pineapples +elephant elephants rat rats +elephant elephants road roads +elephant elephants snake snakes +elephant elephants woman women +elephant elephants banana bananas +elephant elephants bird birds +elephant elephants bottle bottles +elephant elephants building buildings +elephant elephants car cars +elephant elephants cat cats +elephant elephants child children +elephant elephants cloud clouds +elephant elephants color colors +elephant elephants computer computers +elephant elephants cow cows +elephant elephants dog dogs +elephant elephants dollar dollars +elephant elephants donkey donkeys +elephant elephants dream dreams +elephant elephants eagle eagles +eye eyes finger fingers +eye eyes goat goats +eye eyes hand hands +eye eyes horse horses +eye eyes lion lions +eye eyes machine machines +eye eyes mango mangoes +eye eyes man men +eye eyes melon melons +eye eyes monkey monkeys +eye eyes mouse mice +eye eyes onion onions +eye eyes pear pears +eye eyes pig pigs +eye eyes pineapple pineapples +eye eyes rat rats +eye eyes road roads +eye eyes snake snakes +eye eyes woman women +eye eyes banana bananas +eye eyes bird birds +eye eyes bottle bottles +eye eyes building buildings +eye eyes car cars +eye eyes cat cats +eye eyes child children +eye eyes cloud clouds +eye eyes color colors +eye eyes computer computers +eye eyes cow cows +eye eyes dog dogs +eye eyes dollar dollars +eye eyes donkey donkeys +eye eyes dream dreams +eye eyes eagle eagles +eye eyes elephant elephants +finger fingers goat goats +finger fingers hand hands +finger fingers horse horses +finger fingers lion lions +finger fingers machine machines +finger fingers mango mangoes +finger fingers man men +finger fingers melon melons +finger fingers monkey monkeys +finger fingers mouse mice +finger fingers onion onions +finger fingers pear pears +finger fingers pig pigs +finger fingers pineapple pineapples +finger fingers rat rats +finger fingers road roads +finger fingers snake snakes +finger fingers woman women +finger fingers banana bananas +finger fingers bird birds +finger fingers bottle bottles +finger fingers building buildings +finger fingers car cars +finger fingers cat cats +finger fingers child children +finger fingers cloud clouds +finger fingers color colors +finger fingers computer computers +finger fingers cow cows +finger fingers dog dogs +finger fingers dollar dollars +finger fingers donkey donkeys +finger fingers dream dreams +finger fingers eagle eagles +finger fingers elephant elephants +finger fingers eye eyes +goat goats hand hands +goat goats horse horses +goat goats lion lions +goat goats machine machines +goat goats mango mangoes +goat goats man men +goat goats melon melons +goat goats monkey monkeys +goat goats mouse mice +goat goats onion onions +goat goats pear pears +goat goats pig pigs +goat goats pineapple pineapples +goat goats rat rats +goat goats road roads +goat goats snake snakes +goat goats woman women +goat goats banana bananas +goat goats bird birds +goat goats bottle bottles +goat goats building buildings +goat goats car cars +goat goats cat cats +goat goats child children +goat goats cloud clouds +goat goats color colors +goat goats computer computers +goat goats cow cows +goat goats dog dogs +goat goats dollar dollars +goat goats donkey donkeys +goat goats dream dreams +goat goats eagle eagles +goat goats elephant elephants +goat goats eye eyes +goat goats finger fingers +hand hands horse horses +hand hands lion lions +hand hands machine machines +hand hands mango mangoes +hand hands man men +hand hands melon melons +hand hands monkey monkeys +hand hands mouse mice +hand hands onion onions +hand hands pear pears +hand hands pig pigs +hand hands pineapple pineapples +hand hands rat rats +hand hands road roads +hand hands snake snakes +hand hands woman women +hand hands banana bananas +hand hands bird birds +hand hands bottle bottles +hand hands building buildings +hand hands car cars +hand hands cat cats +hand hands child children +hand hands cloud clouds +hand hands color colors +hand hands computer computers +hand hands cow cows +hand hands dog dogs +hand hands dollar dollars +hand hands donkey donkeys +hand hands dream dreams +hand hands eagle eagles +hand hands elephant elephants +hand hands eye eyes +hand hands finger fingers +hand hands goat goats +horse horses lion lions +horse horses machine machines +horse horses mango mangoes +horse horses man men +horse horses melon melons +horse horses monkey monkeys +horse horses mouse mice +horse horses onion onions +horse horses pear pears +horse horses pig pigs +horse horses pineapple pineapples +horse horses rat rats +horse horses road roads +horse horses snake snakes +horse horses woman women +horse horses banana bananas +horse horses bird birds +horse horses bottle bottles +horse horses building buildings +horse horses car cars +horse horses cat cats +horse horses child children +horse horses cloud clouds +horse horses color colors +horse horses computer computers +horse horses cow cows +horse horses dog dogs +horse horses dollar dollars +horse horses donkey donkeys +horse horses dream dreams +horse horses eagle eagles +horse horses elephant elephants +horse horses eye eyes +horse horses finger fingers +horse horses goat goats +horse horses hand hands +lion lions machine machines +lion lions mango mangoes +lion lions man men +lion lions melon melons +lion lions monkey monkeys +lion lions mouse mice +lion lions onion onions +lion lions pear pears +lion lions pig pigs +lion lions pineapple pineapples +lion lions rat rats +lion lions road roads +lion lions snake snakes +lion lions woman women +lion lions banana bananas +lion lions bird birds +lion lions bottle bottles +lion lions building buildings +lion lions car cars +lion lions cat cats +lion lions child children +lion lions cloud clouds +lion lions color colors +lion lions computer computers +lion lions cow cows +lion lions dog dogs +lion lions dollar dollars +lion lions donkey donkeys +lion lions dream dreams +lion lions eagle eagles +lion lions elephant elephants +lion lions eye eyes +lion lions finger fingers +lion lions goat goats +lion lions hand hands +lion lions horse horses +machine machines mango mangoes +machine machines man men +machine machines melon melons +machine machines monkey monkeys +machine machines mouse mice +machine machines onion onions +machine machines pear pears +machine machines pig pigs +machine machines pineapple pineapples +machine machines rat rats +machine machines road roads +machine machines snake snakes +machine machines woman women +machine machines banana bananas +machine machines bird birds +machine machines bottle bottles +machine machines building buildings +machine machines car cars +machine machines cat cats +machine machines child children +machine machines cloud clouds +machine machines color colors +machine machines computer computers +machine machines cow cows +machine machines dog dogs +machine machines dollar dollars +machine machines donkey donkeys +machine machines dream dreams +machine machines eagle eagles +machine machines elephant elephants +machine machines eye eyes +machine machines finger fingers +machine machines goat goats +machine machines hand hands +machine machines horse horses +machine machines lion lions +mango mangoes man men +mango mangoes melon melons +mango mangoes monkey monkeys +mango mangoes mouse mice +mango mangoes onion onions +mango mangoes pear pears +mango mangoes pig pigs +mango mangoes pineapple pineapples +mango mangoes rat rats +mango mangoes road roads +mango mangoes snake snakes +mango mangoes woman women +mango mangoes banana bananas +mango mangoes bird birds +mango mangoes bottle bottles +mango mangoes building buildings +mango mangoes car cars +mango mangoes cat cats +mango mangoes child children +mango mangoes cloud clouds +mango mangoes color colors +mango mangoes computer computers +mango mangoes cow cows +mango mangoes dog dogs +mango mangoes dollar dollars +mango mangoes donkey donkeys +mango mangoes dream dreams +mango mangoes eagle eagles +mango mangoes elephant elephants +mango mangoes eye eyes +mango mangoes finger fingers +mango mangoes goat goats +mango mangoes hand hands +mango mangoes horse horses +mango mangoes lion lions +mango mangoes machine machines +man men melon melons +man men monkey monkeys +man men mouse mice +man men onion onions +man men pear pears +man men pig pigs +man men pineapple pineapples +man men rat rats +man men road roads +man men snake snakes +man men woman women +man men banana bananas +man men bird birds +man men bottle bottles +man men building buildings +man men car cars +man men cat cats +man men child children +man men cloud clouds +man men color colors +man men computer computers +man men cow cows +man men dog dogs +man men dollar dollars +man men donkey donkeys +man men dream dreams +man men eagle eagles +man men elephant elephants +man men eye eyes +man men finger fingers +man men goat goats +man men hand hands +man men horse horses +man men lion lions +man men machine machines +man men mango mangoes +melon melons monkey monkeys +melon melons mouse mice +melon melons onion onions +melon melons pear pears +melon melons pig pigs +melon melons pineapple pineapples +melon melons rat rats +melon melons road roads +melon melons snake snakes +melon melons woman women +melon melons banana bananas +melon melons bird birds +melon melons bottle bottles +melon melons building buildings +melon melons car cars +melon melons cat cats +melon melons child children +melon melons cloud clouds +melon melons color colors +melon melons computer computers +melon melons cow cows +melon melons dog dogs +melon melons dollar dollars +melon melons donkey donkeys +melon melons dream dreams +melon melons eagle eagles +melon melons elephant elephants +melon melons eye eyes +melon melons finger fingers +melon melons goat goats +melon melons hand hands +melon melons horse horses +melon melons lion lions +melon melons machine machines +melon melons mango mangoes +melon melons man men +monkey monkeys mouse mice +monkey monkeys onion onions +monkey monkeys pear pears +monkey monkeys pig pigs +monkey monkeys pineapple pineapples +monkey monkeys rat rats +monkey monkeys road roads +monkey monkeys snake snakes +monkey monkeys woman women +monkey monkeys banana bananas +monkey monkeys bird birds +monkey monkeys bottle bottles +monkey monkeys building buildings +monkey monkeys car cars +monkey monkeys cat cats +monkey monkeys child children +monkey monkeys cloud clouds +monkey monkeys color colors +monkey monkeys computer computers +monkey monkeys cow cows +monkey monkeys dog dogs +monkey monkeys dollar dollars +monkey monkeys donkey donkeys +monkey monkeys dream dreams +monkey monkeys eagle eagles +monkey monkeys elephant elephants +monkey monkeys eye eyes +monkey monkeys finger fingers +monkey monkeys goat goats +monkey monkeys hand hands +monkey monkeys horse horses +monkey monkeys lion lions +monkey monkeys machine machines +monkey monkeys mango mangoes +monkey monkeys man men +monkey monkeys melon melons +mouse mice onion onions +mouse mice pear pears +mouse mice pig pigs +mouse mice pineapple pineapples +mouse mice rat rats +mouse mice road roads +mouse mice snake snakes +mouse mice woman women +mouse mice banana bananas +mouse mice bird birds +mouse mice bottle bottles +mouse mice building buildings +mouse mice car cars +mouse mice cat cats +mouse mice child children +mouse mice cloud clouds +mouse mice color colors +mouse mice computer computers +mouse mice cow cows +mouse mice dog dogs +mouse mice dollar dollars +mouse mice donkey donkeys +mouse mice dream dreams +mouse mice eagle eagles +mouse mice elephant elephants +mouse mice eye eyes +mouse mice finger fingers +mouse mice goat goats +mouse mice hand hands +mouse mice horse horses +mouse mice lion lions +mouse mice machine machines +mouse mice mango mangoes +mouse mice man men +mouse mice melon melons +mouse mice monkey monkeys +onion onions pear pears +onion onions pig pigs +onion onions pineapple pineapples +onion onions rat rats +onion onions road roads +onion onions snake snakes +onion onions woman women +onion onions banana bananas +onion onions bird birds +onion onions bottle bottles +onion onions building buildings +onion onions car cars +onion onions cat cats +onion onions child children +onion onions cloud clouds +onion onions color colors +onion onions computer computers +onion onions cow cows +onion onions dog dogs +onion onions dollar dollars +onion onions donkey donkeys +onion onions dream dreams +onion onions eagle eagles +onion onions elephant elephants +onion onions eye eyes +onion onions finger fingers +onion onions goat goats +onion onions hand hands +onion onions horse horses +onion onions lion lions +onion onions machine machines +onion onions mango mangoes +onion onions man men +onion onions melon melons +onion onions monkey monkeys +onion onions mouse mice +pear pears pig pigs +pear pears pineapple pineapples +pear pears rat rats +pear pears road roads +pear pears snake snakes +pear pears woman women +pear pears banana bananas +pear pears bird birds +pear pears bottle bottles +pear pears building buildings +pear pears car cars +pear pears cat cats +pear pears child children +pear pears cloud clouds +pear pears color colors +pear pears computer computers +pear pears cow cows +pear pears dog dogs +pear pears dollar dollars +pear pears donkey donkeys +pear pears dream dreams +pear pears eagle eagles +pear pears elephant elephants +pear pears eye eyes +pear pears finger fingers +pear pears goat goats +pear pears hand hands +pear pears horse horses +pear pears lion lions +pear pears machine machines +pear pears mango mangoes +pear pears man men +pear pears melon melons +pear pears monkey monkeys +pear pears mouse mice +pear pears onion onions +pig pigs pineapple pineapples +pig pigs rat rats +pig pigs road roads +pig pigs snake snakes +pig pigs woman women +pig pigs banana bananas +pig pigs bird birds +pig pigs bottle bottles +pig pigs building buildings +pig pigs car cars +pig pigs cat cats +pig pigs child children +pig pigs cloud clouds +pig pigs color colors +pig pigs computer computers +pig pigs cow cows +pig pigs dog dogs +pig pigs dollar dollars +pig pigs donkey donkeys +pig pigs dream dreams +pig pigs eagle eagles +pig pigs elephant elephants +pig pigs eye eyes +pig pigs finger fingers +pig pigs goat goats +pig pigs hand hands +pig pigs horse horses +pig pigs lion lions +pig pigs machine machines +pig pigs mango mangoes +pig pigs man men +pig pigs melon melons +pig pigs monkey monkeys +pig pigs mouse mice +pig pigs onion onions +pig pigs pear pears +pineapple pineapples rat rats +pineapple pineapples road roads +pineapple pineapples snake snakes +pineapple pineapples woman women +pineapple pineapples banana bananas +pineapple pineapples bird birds +pineapple pineapples bottle bottles +pineapple pineapples building buildings +pineapple pineapples car cars +pineapple pineapples cat cats +pineapple pineapples child children +pineapple pineapples cloud clouds +pineapple pineapples color colors +pineapple pineapples computer computers +pineapple pineapples cow cows +pineapple pineapples dog dogs +pineapple pineapples dollar dollars +pineapple pineapples donkey donkeys +pineapple pineapples dream dreams +pineapple pineapples eagle eagles +pineapple pineapples elephant elephants +pineapple pineapples eye eyes +pineapple pineapples finger fingers +pineapple pineapples goat goats +pineapple pineapples hand hands +pineapple pineapples horse horses +pineapple pineapples lion lions +pineapple pineapples machine machines +pineapple pineapples mango mangoes +pineapple pineapples man men +pineapple pineapples melon melons +pineapple pineapples monkey monkeys +pineapple pineapples mouse mice +pineapple pineapples onion onions +pineapple pineapples pear pears +pineapple pineapples pig pigs +rat rats road roads +rat rats snake snakes +rat rats woman women +rat rats banana bananas +rat rats bird birds +rat rats bottle bottles +rat rats building buildings +rat rats car cars +rat rats cat cats +rat rats child children +rat rats cloud clouds +rat rats color colors +rat rats computer computers +rat rats cow cows +rat rats dog dogs +rat rats dollar dollars +rat rats donkey donkeys +rat rats dream dreams +rat rats eagle eagles +rat rats elephant elephants +rat rats eye eyes +rat rats finger fingers +rat rats goat goats +rat rats hand hands +rat rats horse horses +rat rats lion lions +rat rats machine machines +rat rats mango mangoes +rat rats man men +rat rats melon melons +rat rats monkey monkeys +rat rats mouse mice +rat rats onion onions +rat rats pear pears +rat rats pig pigs +rat rats pineapple pineapples +road roads snake snakes +road roads woman women +road roads banana bananas +road roads bird birds +road roads bottle bottles +road roads building buildings +road roads car cars +road roads cat cats +road roads child children +road roads cloud clouds +road roads color colors +road roads computer computers +road roads cow cows +road roads dog dogs +road roads dollar dollars +road roads donkey donkeys +road roads dream dreams +road roads eagle eagles +road roads elephant elephants +road roads eye eyes +road roads finger fingers +road roads goat goats +road roads hand hands +road roads horse horses +road roads lion lions +road roads machine machines +road roads mango mangoes +road roads man men +road roads melon melons +road roads monkey monkeys +road roads mouse mice +road roads onion onions +road roads pear pears +road roads pig pigs +road roads pineapple pineapples +road roads rat rats +snake snakes woman women +snake snakes banana bananas +snake snakes bird birds +snake snakes bottle bottles +snake snakes building buildings +snake snakes car cars +snake snakes cat cats +snake snakes child children +snake snakes cloud clouds +snake snakes color colors +snake snakes computer computers +snake snakes cow cows +snake snakes dog dogs +snake snakes dollar dollars +snake snakes donkey donkeys +snake snakes dream dreams +snake snakes eagle eagles +snake snakes elephant elephants +snake snakes eye eyes +snake snakes finger fingers +snake snakes goat goats +snake snakes hand hands +snake snakes horse horses +snake snakes lion lions +snake snakes machine machines +snake snakes mango mangoes +snake snakes man men +snake snakes melon melons +snake snakes monkey monkeys +snake snakes mouse mice +snake snakes onion onions +snake snakes pear pears +snake snakes pig pigs +snake snakes pineapple pineapples +snake snakes rat rats +snake snakes road roads +woman women banana bananas +woman women bird birds +woman women bottle bottles +woman women building buildings +woman women car cars +woman women cat cats +woman women child children +woman women cloud clouds +woman women color colors +woman women computer computers +woman women cow cows +woman women dog dogs +woman women dollar dollars +woman women donkey donkeys +woman women dream dreams +woman women eagle eagles +woman women elephant elephants +woman women eye eyes +woman women finger fingers +woman women goat goats +woman women hand hands +woman women horse horses +woman women lion lions +woman women machine machines +woman women mango mangoes +woman women man men +woman women melon melons +woman women monkey monkeys +woman women mouse mice +woman women onion onions +woman women pear pears +woman women pig pigs +woman women pineapple pineapples +woman women rat rats +woman women road roads +woman women snake snakes +: gram9-plural-verbs +decrease decreases describe describes +decrease decreases eat eats +decrease decreases enhance enhances +decrease decreases estimate estimates +decrease decreases find finds +decrease decreases generate generates +decrease decreases go goes +decrease decreases implement implements +decrease decreases increase increases +decrease decreases listen listens +decrease decreases play plays +decrease decreases predict predicts +decrease decreases provide provides +decrease decreases say says +decrease decreases scream screams +decrease decreases search searches +decrease decreases see sees +decrease decreases shuffle shuffles +decrease decreases sing sings +decrease decreases sit sits +decrease decreases slow slows +decrease decreases speak speaks +decrease decreases swim swims +decrease decreases talk talks +decrease decreases think thinks +decrease decreases vanish vanishes +decrease decreases walk walks +decrease decreases work works +decrease decreases write writes +describe describes eat eats +describe describes enhance enhances +describe describes estimate estimates +describe describes find finds +describe describes generate generates +describe describes go goes +describe describes implement implements +describe describes increase increases +describe describes listen listens +describe describes play plays +describe describes predict predicts +describe describes provide provides +describe describes say says +describe describes scream screams +describe describes search searches +describe describes see sees +describe describes shuffle shuffles +describe describes sing sings +describe describes sit sits +describe describes slow slows +describe describes speak speaks +describe describes swim swims +describe describes talk talks +describe describes think thinks +describe describes vanish vanishes +describe describes walk walks +describe describes work works +describe describes write writes +describe describes decrease decreases +eat eats enhance enhances +eat eats estimate estimates +eat eats find finds +eat eats generate generates +eat eats go goes +eat eats implement implements +eat eats increase increases +eat eats listen listens +eat eats play plays +eat eats predict predicts +eat eats provide provides +eat eats say says +eat eats scream screams +eat eats search searches +eat eats see sees +eat eats shuffle shuffles +eat eats sing sings +eat eats sit sits +eat eats slow slows +eat eats speak speaks +eat eats swim swims +eat eats talk talks +eat eats think thinks +eat eats vanish vanishes +eat eats walk walks +eat eats work works +eat eats write writes +eat eats decrease decreases +eat eats describe describes +enhance enhances estimate estimates +enhance enhances find finds +enhance enhances generate generates +enhance enhances go goes +enhance enhances implement implements +enhance enhances increase increases +enhance enhances listen listens +enhance enhances play plays +enhance enhances predict predicts +enhance enhances provide provides +enhance enhances say says +enhance enhances scream screams +enhance enhances search searches +enhance enhances see sees +enhance enhances shuffle shuffles +enhance enhances sing sings +enhance enhances sit sits +enhance enhances slow slows +enhance enhances speak speaks +enhance enhances swim swims +enhance enhances talk talks +enhance enhances think thinks +enhance enhances vanish vanishes +enhance enhances walk walks +enhance enhances work works +enhance enhances write writes +enhance enhances decrease decreases +enhance enhances describe describes +enhance enhances eat eats +estimate estimates find finds +estimate estimates generate generates +estimate estimates go goes +estimate estimates implement implements +estimate estimates increase increases +estimate estimates listen listens +estimate estimates play plays +estimate estimates predict predicts +estimate estimates provide provides +estimate estimates say says +estimate estimates scream screams +estimate estimates search searches +estimate estimates see sees +estimate estimates shuffle shuffles +estimate estimates sing sings +estimate estimates sit sits +estimate estimates slow slows +estimate estimates speak speaks +estimate estimates swim swims +estimate estimates talk talks +estimate estimates think thinks +estimate estimates vanish vanishes +estimate estimates walk walks +estimate estimates work works +estimate estimates write writes +estimate estimates decrease decreases +estimate estimates describe describes +estimate estimates eat eats +estimate estimates enhance enhances +find finds generate generates +find finds go goes +find finds implement implements +find finds increase increases +find finds listen listens +find finds play plays +find finds predict predicts +find finds provide provides +find finds say says +find finds scream screams +find finds search searches +find finds see sees +find finds shuffle shuffles +find finds sing sings +find finds sit sits +find finds slow slows +find finds speak speaks +find finds swim swims +find finds talk talks +find finds think thinks +find finds vanish vanishes +find finds walk walks +find finds work works +find finds write writes +find finds decrease decreases +find finds describe describes +find finds eat eats +find finds enhance enhances +find finds estimate estimates +generate generates go goes +generate generates implement implements +generate generates increase increases +generate generates listen listens +generate generates play plays +generate generates predict predicts +generate generates provide provides +generate generates say says +generate generates scream screams +generate generates search searches +generate generates see sees +generate generates shuffle shuffles +generate generates sing sings +generate generates sit sits +generate generates slow slows +generate generates speak speaks +generate generates swim swims +generate generates talk talks +generate generates think thinks +generate generates vanish vanishes +generate generates walk walks +generate generates work works +generate generates write writes +generate generates decrease decreases +generate generates describe describes +generate generates eat eats +generate generates enhance enhances +generate generates estimate estimates +generate generates find finds +go goes implement implements +go goes increase increases +go goes listen listens +go goes play plays +go goes predict predicts +go goes provide provides +go goes say says +go goes scream screams +go goes search searches +go goes see sees +go goes shuffle shuffles +go goes sing sings +go goes sit sits +go goes slow slows +go goes speak speaks +go goes swim swims +go goes talk talks +go goes think thinks +go goes vanish vanishes +go goes walk walks +go goes work works +go goes write writes +go goes decrease decreases +go goes describe describes +go goes eat eats +go goes enhance enhances +go goes estimate estimates +go goes find finds +go goes generate generates +implement implements increase increases +implement implements listen listens +implement implements play plays +implement implements predict predicts +implement implements provide provides +implement implements say says +implement implements scream screams +implement implements search searches +implement implements see sees +implement implements shuffle shuffles +implement implements sing sings +implement implements sit sits +implement implements slow slows +implement implements speak speaks +implement implements swim swims +implement implements talk talks +implement implements think thinks +implement implements vanish vanishes +implement implements walk walks +implement implements work works +implement implements write writes +implement implements decrease decreases +implement implements describe describes +implement implements eat eats +implement implements enhance enhances +implement implements estimate estimates +implement implements find finds +implement implements generate generates +implement implements go goes +increase increases listen listens +increase increases play plays +increase increases predict predicts +increase increases provide provides +increase increases say says +increase increases scream screams +increase increases search searches +increase increases see sees +increase increases shuffle shuffles +increase increases sing sings +increase increases sit sits +increase increases slow slows +increase increases speak speaks +increase increases swim swims +increase increases talk talks +increase increases think thinks +increase increases vanish vanishes +increase increases walk walks +increase increases work works +increase increases write writes +increase increases decrease decreases +increase increases describe describes +increase increases eat eats +increase increases enhance enhances +increase increases estimate estimates +increase increases find finds +increase increases generate generates +increase increases go goes +increase increases implement implements +listen listens play plays +listen listens predict predicts +listen listens provide provides +listen listens say says +listen listens scream screams +listen listens search searches +listen listens see sees +listen listens shuffle shuffles +listen listens sing sings +listen listens sit sits +listen listens slow slows +listen listens speak speaks +listen listens swim swims +listen listens talk talks +listen listens think thinks +listen listens vanish vanishes +listen listens walk walks +listen listens work works +listen listens write writes +listen listens decrease decreases +listen listens describe describes +listen listens eat eats +listen listens enhance enhances +listen listens estimate estimates +listen listens find finds +listen listens generate generates +listen listens go goes +listen listens implement implements +listen listens increase increases +play plays predict predicts +play plays provide provides +play plays say says +play plays scream screams +play plays search searches +play plays see sees +play plays shuffle shuffles +play plays sing sings +play plays sit sits +play plays slow slows +play plays speak speaks +play plays swim swims +play plays talk talks +play plays think thinks +play plays vanish vanishes +play plays walk walks +play plays work works +play plays write writes +play plays decrease decreases +play plays describe describes +play plays eat eats +play plays enhance enhances +play plays estimate estimates +play plays find finds +play plays generate generates +play plays go goes +play plays implement implements +play plays increase increases +play plays listen listens +predict predicts provide provides +predict predicts say says +predict predicts scream screams +predict predicts search searches +predict predicts see sees +predict predicts shuffle shuffles +predict predicts sing sings +predict predicts sit sits +predict predicts slow slows +predict predicts speak speaks +predict predicts swim swims +predict predicts talk talks +predict predicts think thinks +predict predicts vanish vanishes +predict predicts walk walks +predict predicts work works +predict predicts write writes +predict predicts decrease decreases +predict predicts describe describes +predict predicts eat eats +predict predicts enhance enhances +predict predicts estimate estimates +predict predicts find finds +predict predicts generate generates +predict predicts go goes +predict predicts implement implements +predict predicts increase increases +predict predicts listen listens +predict predicts play plays +provide provides say says +provide provides scream screams +provide provides search searches +provide provides see sees +provide provides shuffle shuffles +provide provides sing sings +provide provides sit sits +provide provides slow slows +provide provides speak speaks +provide provides swim swims +provide provides talk talks +provide provides think thinks +provide provides vanish vanishes +provide provides walk walks +provide provides work works +provide provides write writes +provide provides decrease decreases +provide provides describe describes +provide provides eat eats +provide provides enhance enhances +provide provides estimate estimates +provide provides find finds +provide provides generate generates +provide provides go goes +provide provides implement implements +provide provides increase increases +provide provides listen listens +provide provides play plays +provide provides predict predicts +say says scream screams +say says search searches +say says see sees +say says shuffle shuffles +say says sing sings +say says sit sits +say says slow slows +say says speak speaks +say says swim swims +say says talk talks +say says think thinks +say says vanish vanishes +say says walk walks +say says work works +say says write writes +say says decrease decreases +say says describe describes +say says eat eats +say says enhance enhances +say says estimate estimates +say says find finds +say says generate generates +say says go goes +say says implement implements +say says increase increases +say says listen listens +say says play plays +say says predict predicts +say says provide provides +scream screams search searches +scream screams see sees +scream screams shuffle shuffles +scream screams sing sings +scream screams sit sits +scream screams slow slows +scream screams speak speaks +scream screams swim swims +scream screams talk talks +scream screams think thinks +scream screams vanish vanishes +scream screams walk walks +scream screams work works +scream screams write writes +scream screams decrease decreases +scream screams describe describes +scream screams eat eats +scream screams enhance enhances +scream screams estimate estimates +scream screams find finds +scream screams generate generates +scream screams go goes +scream screams implement implements +scream screams increase increases +scream screams listen listens +scream screams play plays +scream screams predict predicts +scream screams provide provides +scream screams say says +search searches see sees +search searches shuffle shuffles +search searches sing sings +search searches sit sits +search searches slow slows +search searches speak speaks +search searches swim swims +search searches talk talks +search searches think thinks +search searches vanish vanishes +search searches walk walks +search searches work works +search searches write writes +search searches decrease decreases +search searches describe describes +search searches eat eats +search searches enhance enhances +search searches estimate estimates +search searches find finds +search searches generate generates +search searches go goes +search searches implement implements +search searches increase increases +search searches listen listens +search searches play plays +search searches predict predicts +search searches provide provides +search searches say says +search searches scream screams +see sees shuffle shuffles +see sees sing sings +see sees sit sits +see sees slow slows +see sees speak speaks +see sees swim swims +see sees talk talks +see sees think thinks +see sees vanish vanishes +see sees walk walks +see sees work works +see sees write writes +see sees decrease decreases +see sees describe describes +see sees eat eats +see sees enhance enhances +see sees estimate estimates +see sees find finds +see sees generate generates +see sees go goes +see sees implement implements +see sees increase increases +see sees listen listens +see sees play plays +see sees predict predicts +see sees provide provides +see sees say says +see sees scream screams +see sees search searches +shuffle shuffles sing sings +shuffle shuffles sit sits +shuffle shuffles slow slows +shuffle shuffles speak speaks +shuffle shuffles swim swims +shuffle shuffles talk talks +shuffle shuffles think thinks +shuffle shuffles vanish vanishes +shuffle shuffles walk walks +shuffle shuffles work works +shuffle shuffles write writes +shuffle shuffles decrease decreases +shuffle shuffles describe describes +shuffle shuffles eat eats +shuffle shuffles enhance enhances +shuffle shuffles estimate estimates +shuffle shuffles find finds +shuffle shuffles generate generates +shuffle shuffles go goes +shuffle shuffles implement implements +shuffle shuffles increase increases +shuffle shuffles listen listens +shuffle shuffles play plays +shuffle shuffles predict predicts +shuffle shuffles provide provides +shuffle shuffles say says +shuffle shuffles scream screams +shuffle shuffles search searches +shuffle shuffles see sees +sing sings sit sits +sing sings slow slows +sing sings speak speaks +sing sings swim swims +sing sings talk talks +sing sings think thinks +sing sings vanish vanishes +sing sings walk walks +sing sings work works +sing sings write writes +sing sings decrease decreases +sing sings describe describes +sing sings eat eats +sing sings enhance enhances +sing sings estimate estimates +sing sings find finds +sing sings generate generates +sing sings go goes +sing sings implement implements +sing sings increase increases +sing sings listen listens +sing sings play plays +sing sings predict predicts +sing sings provide provides +sing sings say says +sing sings scream screams +sing sings search searches +sing sings see sees +sing sings shuffle shuffles +sit sits slow slows +sit sits speak speaks +sit sits swim swims +sit sits talk talks +sit sits think thinks +sit sits vanish vanishes +sit sits walk walks +sit sits work works +sit sits write writes +sit sits decrease decreases +sit sits describe describes +sit sits eat eats +sit sits enhance enhances +sit sits estimate estimates +sit sits find finds +sit sits generate generates +sit sits go goes +sit sits implement implements +sit sits increase increases +sit sits listen listens +sit sits play plays +sit sits predict predicts +sit sits provide provides +sit sits say says +sit sits scream screams +sit sits search searches +sit sits see sees +sit sits shuffle shuffles +sit sits sing sings +slow slows speak speaks +slow slows swim swims +slow slows talk talks +slow slows think thinks +slow slows vanish vanishes +slow slows walk walks +slow slows work works +slow slows write writes +slow slows decrease decreases +slow slows describe describes +slow slows eat eats +slow slows enhance enhances +slow slows estimate estimates +slow slows find finds +slow slows generate generates +slow slows go goes +slow slows implement implements +slow slows increase increases +slow slows listen listens +slow slows play plays +slow slows predict predicts +slow slows provide provides +slow slows say says +slow slows scream screams +slow slows search searches +slow slows see sees +slow slows shuffle shuffles +slow slows sing sings +slow slows sit sits +speak speaks swim swims +speak speaks talk talks +speak speaks think thinks +speak speaks vanish vanishes +speak speaks walk walks +speak speaks work works +speak speaks write writes +speak speaks decrease decreases +speak speaks describe describes +speak speaks eat eats +speak speaks enhance enhances +speak speaks estimate estimates +speak speaks find finds +speak speaks generate generates +speak speaks go goes +speak speaks implement implements +speak speaks increase increases +speak speaks listen listens +speak speaks play plays +speak speaks predict predicts +speak speaks provide provides +speak speaks say says +speak speaks scream screams +speak speaks search searches +speak speaks see sees +speak speaks shuffle shuffles +speak speaks sing sings +speak speaks sit sits +speak speaks slow slows +swim swims talk talks +swim swims think thinks +swim swims vanish vanishes +swim swims walk walks +swim swims work works +swim swims write writes +swim swims decrease decreases +swim swims describe describes +swim swims eat eats +swim swims enhance enhances +swim swims estimate estimates +swim swims find finds +swim swims generate generates +swim swims go goes +swim swims implement implements +swim swims increase increases +swim swims listen listens +swim swims play plays +swim swims predict predicts +swim swims provide provides +swim swims say says +swim swims scream screams +swim swims search searches +swim swims see sees +swim swims shuffle shuffles +swim swims sing sings +swim swims sit sits +swim swims slow slows +swim swims speak speaks +talk talks think thinks +talk talks vanish vanishes +talk talks walk walks +talk talks work works +talk talks write writes +talk talks decrease decreases +talk talks describe describes +talk talks eat eats +talk talks enhance enhances +talk talks estimate estimates +talk talks find finds +talk talks generate generates +talk talks go goes +talk talks implement implements +talk talks increase increases +talk talks listen listens +talk talks play plays +talk talks predict predicts +talk talks provide provides +talk talks say says +talk talks scream screams +talk talks search searches +talk talks see sees +talk talks shuffle shuffles +talk talks sing sings +talk talks sit sits +talk talks slow slows +talk talks speak speaks +talk talks swim swims +think thinks vanish vanishes +think thinks walk walks +think thinks work works +think thinks write writes +think thinks decrease decreases +think thinks describe describes +think thinks eat eats +think thinks enhance enhances +think thinks estimate estimates +think thinks find finds +think thinks generate generates +think thinks go goes +think thinks implement implements +think thinks increase increases +think thinks listen listens +think thinks play plays +think thinks predict predicts +think thinks provide provides +think thinks say says +think thinks scream screams +think thinks search searches +think thinks see sees +think thinks shuffle shuffles +think thinks sing sings +think thinks sit sits +think thinks slow slows +think thinks speak speaks +think thinks swim swims +think thinks talk talks +vanish vanishes walk walks +vanish vanishes work works +vanish vanishes write writes +vanish vanishes decrease decreases +vanish vanishes describe describes +vanish vanishes eat eats +vanish vanishes enhance enhances +vanish vanishes estimate estimates +vanish vanishes find finds +vanish vanishes generate generates +vanish vanishes go goes +vanish vanishes implement implements +vanish vanishes increase increases +vanish vanishes listen listens +vanish vanishes play plays +vanish vanishes predict predicts +vanish vanishes provide provides +vanish vanishes say says +vanish vanishes scream screams +vanish vanishes search searches +vanish vanishes see sees +vanish vanishes shuffle shuffles +vanish vanishes sing sings +vanish vanishes sit sits +vanish vanishes slow slows +vanish vanishes speak speaks +vanish vanishes swim swims +vanish vanishes talk talks +vanish vanishes think thinks +walk walks work works +walk walks write writes +walk walks decrease decreases +walk walks describe describes +walk walks eat eats +walk walks enhance enhances +walk walks estimate estimates +walk walks find finds +walk walks generate generates +walk walks go goes +walk walks implement implements +walk walks increase increases +walk walks listen listens +walk walks play plays +walk walks predict predicts +walk walks provide provides +walk walks say says +walk walks scream screams +walk walks search searches +walk walks see sees +walk walks shuffle shuffles +walk walks sing sings +walk walks sit sits +walk walks slow slows +walk walks speak speaks +walk walks swim swims +walk walks talk talks +walk walks think thinks +walk walks vanish vanishes +work works write writes +work works decrease decreases +work works describe describes +work works eat eats +work works enhance enhances +work works estimate estimates +work works find finds +work works generate generates +work works go goes +work works implement implements +work works increase increases +work works listen listens +work works play plays +work works predict predicts +work works provide provides +work works say says +work works scream screams +work works search searches +work works see sees +work works shuffle shuffles +work works sing sings +work works sit sits +work works slow slows +work works speak speaks +work works swim swims +work works talk talks +work works think thinks +work works vanish vanishes +work works walk walks +write writes decrease decreases +write writes describe describes +write writes eat eats +write writes enhance enhances +write writes estimate estimates +write writes find finds +write writes generate generates +write writes go goes +write writes implement implements +write writes increase increases +write writes listen listens +write writes play plays +write writes predict predicts +write writes provide provides +write writes say says +write writes scream screams +write writes search searches +write writes see sees +write writes shuffle shuffles +write writes sing sings +write writes sit sits +write writes slow slows +write writes speak speaks +write writes swim swims +write writes talk talks +write writes think thinks +write writes vanish vanishes +write writes walk walks +write writes work works diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 145fd3d479..124047abb8 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -292,6 +292,13 @@ def testLocking(self): self.assertFalse((unlocked1 == model.syn0[1]).all()) # unlocked vector should vary self.assertTrue((locked0 == model.syn0[0]).all()) # locked vector should not vary + def testAccuracy(self): + """Test Word2Vec accuracy and KeyedVectors accuracy give the same result""" + model = word2vec.Word2Vec(LeeCorpus()) + w2v_accuracy = model.accuracy(datapath('questions-words.txt')) + kv_accuracy = model.kv.accuracy(datapath('questions-words.txt')) + self.assertEqual(w2v_accuracy, kv_accuracy) + def model_sanity(self, model, train=True): """Even tiny models trained on LeeCorpus should pass these sanity checks""" # run extra before/after training tests if train=True @@ -484,7 +491,6 @@ def test_sentences_should_not_be_a_generator(self): gen = (s for s in sentences) self.assertRaises(TypeError, word2vec.Word2Vec, (gen,)) - class TestWMD(unittest.TestCase): def testNonzero(self): '''Test basic functionality with a test sentence.''' From 4c54d9b885f5a710e19ba73931bc1760bd262be6 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 11:42:28 +0530 Subject: [PATCH 18/26] minor bug in finalized vocab check --- gensim/models/word2vec.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 9d01ac220a..d42eac714b 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -718,7 +718,7 @@ def train(self, sentences, total_words=None, word_count=0, if not self.kv.vocab: raise RuntimeError("you must first build vocabulary before training the model") - if not hasattr(self.kv, 'syn0'): + if self.kv.syn0 == []: raise RuntimeError("you must first finalize vocabulary before training the model") if total_words is None and total_examples is None: From a28f9f15fff3c77d4576330cd5e141a7b37c2609 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Fri, 9 Sep 2016 11:54:55 +0530 Subject: [PATCH 19/26] warnings for direct syn0/syn0norm access --- gensim/models/word2vec.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index d42eac714b..40d0f904c5 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1222,26 +1222,32 @@ def __getitem__(self, words): @property def syn0norm(self): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') return self.kv.syn0norm @syn0norm.setter def syn0norm(self, value): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') self.kv.syn0norm = value @syn0norm.deleter def syn0norm(self): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') del self.kv.syn0norm @property def syn0(self): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') return self.kv.syn0 @syn0.setter def syn0(self, value): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') self.kv.syn0 = value @syn0.deleter def syn0(self): + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') del self.kv.syn0 @property From bf1182e8f6b43c14194949875557ddfce001f443 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Sat, 10 Sep 2016 14:06:06 +0530 Subject: [PATCH 20/26] fixes use of most_similar in accuracy --- gensim/models/keyedvectors.py | 4 ++-- gensim/models/word2vec.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gensim/models/keyedvectors.py b/gensim/models/keyedvectors.py index 1f02436b67..bd15a0a404 100644 --- a/gensim/models/keyedvectors.py +++ b/gensim/models/keyedvectors.py @@ -390,7 +390,7 @@ def log_accuracy(section): (section['section'], 100.0 * correct / (correct + incorrect), correct, correct + incorrect)) - def accuracy(self, questions, restrict_vocab=30000, case_insensitive=True): + def accuracy(self, questions, restrict_vocab=30000, most_similar=most_similar, case_insensitive=True): """ Compute accuracy of the model. `questions` is a filename where lines are 4-tuples of words, split into sections by ": SECTION NAME" lines. @@ -445,7 +445,7 @@ def accuracy(self, questions, restrict_vocab=30000, case_insensitive=True): ignore = set([a, b, c]) # input words to be ignored predicted = None # find the most likely prediction, ignoring OOV words and input words - sims = self.most_similar(positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) + sims = most_similar(self, positive=[b, c], negative=[a], topn=False, restrict_vocab=restrict_vocab) self.vocab = original_vocab for index in matutils.argsort(sims, reverse=True): predicted = self.index2word[index].upper() if case_insensitive else self.index2word[index] diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 40d0f904c5..7dc788072f 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1311,8 +1311,9 @@ def estimate_memory(self, vocab_size=None, report=None): def log_accuracy(section): return KeyedVectors.log_accuracy(section) - def accuracy(self, questions, restrict_vocab=30000, case_insensitive=True): - return self.kv.accuracy(questions, restrict_vocab, case_insensitive) + def accuracy(self, questions, restrict_vocab=30000, most_similar=None, case_insensitive=True): + most_similar = most_similar or KeyedVectors.most_similar + return self.kv.accuracy(questions, restrict_vocab, most_similar, case_insensitive) def __str__(self): return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.kv.index2word), self.vector_size, self.alpha) From 5a6b97b0b4a62e1c1b6202400ed4ac24e31a2b50 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Sat, 10 Sep 2016 20:03:29 +0530 Subject: [PATCH 21/26] changes logging level to ERROR in word2vec tests --- gensim/test/test_word2vec.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 124047abb8..422b05b078 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -33,6 +33,8 @@ module_path = os.path.dirname(__file__) # needed because sample data files are located in the same folder datapath = lambda fname: os.path.join(module_path, 'test_data', fname) +logger = logging.getLogger() +logger.level = logging.ERROR class LeeCorpus(object): def __iter__(self): From cfb2e1ccd402c8afef1e4c1b650776510dfd23c0 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Mon, 12 Sep 2016 11:54:04 +0530 Subject: [PATCH 22/26] renames kv to wv in word2vec --- gensim/models/doc2vec.py | 16 +-- gensim/models/word2vec.py | 236 +++++++++++++++++------------------ gensim/test/test_word2vec.py | 28 ++--- 3 files changed, 140 insertions(+), 140 deletions(-) diff --git a/gensim/models/doc2vec.py b/gensim/models/doc2vec.py index d43ca6a37f..e55b3f603c 100644 --- a/gensim/models/doc2vec.py +++ b/gensim/models/doc2vec.py @@ -130,7 +130,7 @@ def train_document_dm(model, doc_words, doctag_indexes, alpha, work=None, neu1=N """ if word_vectors is None: - word_vectors = model.kv.syn0 + word_vectors = model.wv.syn0 if word_locks is None: word_locks = model.syn0_lockf if doctag_vectors is None: @@ -138,8 +138,8 @@ def train_document_dm(model, doc_words, doctag_indexes, alpha, work=None, neu1=N if doctag_locks is None: doctag_locks = model.docvecs.doctag_syn0_lockf - word_vocabs = [model.kv.vocab[w] for w in doc_words if w in model.kv.vocab and - model.kv.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.wv.vocab[w] for w in doc_words if w in model.wv.vocab and + model.wv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original doc2vec code @@ -185,7 +185,7 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, """ if word_vectors is None: - word_vectors = model.kv.syn0 + word_vectors = model.wv.syn0 if word_locks is None: word_locks = model.syn0_lockf if doctag_vectors is None: @@ -193,13 +193,13 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, if doctag_locks is None: doctag_locks = model.docvecs.doctag_syn0_lockf - word_vocabs = [model.kv.vocab[w] for w in doc_words if w in model.kv.vocab and - model.kv.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.wv.vocab[w] for w in doc_words if w in model.wv.vocab and + model.wv.vocab[w].sample_int > model.random.rand() * 2**32] doctag_len = len(doctag_indexes) if doctag_len != model.dm_tag_count: return 0 # skip doc without expected number of doctag(s) (TODO: warn/pad?) - null_word = model.kv.vocab['\0'] + null_word = model.wv.vocab['\0'] pre_pad_count = model.window post_pad_count = model.window padded_document_indexes = ( @@ -214,7 +214,7 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, + padded_document_indexes[(pos + 1):(pos + 1 + post_pad_count)] # following words ) word_context_len = len(word_context_indexes) - predict_word = model.kv.vocab[model.kv.index2word[padded_document_indexes[pos]]] + predict_word = model.wv.vocab[model.wv.index2word[padded_document_indexes[pos]]] # numpy advanced-indexing copies; concatenate, flatten to 1d l1 = concatenate((doctag_vectors[doctag_indexes], word_vectors[word_context_indexes])).ravel() neu1e = train_cbow_pair(model, predict_word, None, l1, alpha, diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 7dc788072f..38942a63fb 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -122,8 +122,8 @@ def train_batch_sg(model, sentences, alpha, work=None): """ result = 0 for sentence in sentences: - word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab and - model.kv.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.wv.vocab[w] for w in sentence if w in model.wv.vocab and + model.wv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original word2vec code @@ -132,7 +132,7 @@ def train_batch_sg(model, sentences, alpha, work=None): for pos2, word2 in enumerate(word_vocabs[start:(pos + model.window + 1 - reduced_window)], start): # don't train on the `word` itself if pos2 != pos: - train_sg_pair(model, model.kv.index2word[word.index], word2.index, alpha) + train_sg_pair(model, model.wv.index2word[word.index], word2.index, alpha) result += len(word_vocabs) return result @@ -149,14 +149,14 @@ def train_batch_cbow(model, sentences, alpha, work=None, neu1=None): """ result = 0 for sentence in sentences: - word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab and - model.kv.vocab[w].sample_int > model.random.rand() * 2**32] + word_vocabs = [model.wv.vocab[w] for w in sentence if w in model.wv.vocab and + model.wv.vocab[w].sample_int > model.random.rand() * 2**32] for pos, word in enumerate(word_vocabs): reduced_window = model.random.randint(model.window) # `b` in the original word2vec code start = max(0, pos - model.window + reduced_window) window_pos = enumerate(word_vocabs[start:(pos + model.window + 1 - reduced_window)], start) word2_indices = [word2.index for pos2, word2 in window_pos if (word2 is not None and pos2 != pos)] - l1 = np_sum(model.kv.syn0[word2_indices], axis=0) # 1 x vector_size + l1 = np_sum(model.wv.syn0[word2_indices], axis=0) # 1 x vector_size if word2_indices and model.cbow_mean: l1 /= len(word2_indices) train_cbow_pair(model, word, word2_indices, l1, alpha) @@ -179,7 +179,7 @@ def score_sentence_sg(model, sentence, work=None): if model.negative: raise RuntimeError("scoring is only available for HS=True") - word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab] + word_vocabs = [model.wv.vocab[w] for w in sentence if w in model.wv.vocab] for pos, word in enumerate(word_vocabs): if word is None: continue # OOV word in the input sentence => skip @@ -208,7 +208,7 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): if model.negative: raise RuntimeError("scoring is only available for HS=True") - word_vocabs = [model.kv.vocab[w] for w in sentence if w in model.kv.vocab] + word_vocabs = [model.wv.vocab[w] for w in sentence if w in model.wv.vocab] for pos, word in enumerate(word_vocabs): if word is None: continue # OOV word in the input sentence => skip @@ -216,7 +216,7 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): start = max(0, pos - model.window) window_pos = enumerate(word_vocabs[start:(pos + model.window + 1)], start) word2_indices = [word2.index for pos2, word2 in window_pos if (word2 is not None and pos2 != pos)] - l1 = np_sum(model.kv.syn0[word2_indices], axis=0) # 1 x layer1_size + l1 = np_sum(model.wv.syn0[word2_indices], axis=0) # 1 x layer1_size if word2_indices and model.cbow_mean: l1 /= len(word2_indices) log_prob_sentence += score_cbow_pair(model, word, word2_indices, l1) @@ -227,13 +227,13 @@ def score_sentence_cbow(model, sentence, alpha, work=None, neu1=None): def train_sg_pair(model, word, context_index, alpha, learn_vectors=True, learn_hidden=True, context_vectors=None, context_locks=None): if context_vectors is None: - context_vectors = model.kv.syn0 + context_vectors = model.wv.syn0 if context_locks is None: context_locks = model.syn0_lockf - if word not in model.kv.vocab: + if word not in model.wv.vocab: return - predict_word = model.kv.vocab[word] # target word (NN output) + predict_word = model.wv.vocab[word] # target word (NN output) l1 = context_vectors[context_index] # input word (NN input/projection layer) lock_factor = context_locks[context_index] @@ -264,7 +264,7 @@ def train_sg_pair(model, word, context_index, alpha, learn_vectors=True, learn_h neu1e += dot(gb, l2b) # save error if learn_vectors: - l1 += neu1e * lock_factor # learn input -> hidden (mutates model.kv.syn0[word2.index], if that is l1) + l1 += neu1e * lock_factor # learn input -> hidden (mutates model.wv.syn0[word2.index], if that is l1) return neu1e @@ -298,13 +298,13 @@ def train_cbow_pair(model, word, input_word_indices, l1, alpha, learn_vectors=Tr if not model.cbow_mean and input_word_indices: neu1e /= len(input_word_indices) for i in input_word_indices: - model.kv.syn0[i] += neu1e * model.syn0_lockf[i] + model.wv.syn0[i] += neu1e * model.syn0_lockf[i] return neu1e def score_sg_pair(model, word, word2): - l1 = model.kv.syn0[word2.index] + l1 = model.wv.syn0[word2.index] l2a = deepcopy(model.syn1[word.point]) # 2d matrix, codelen x layer1_size sgn = (-1.0)**word.code # ch function, 0-> 1, 1 -> -1 lprob = -log(1.0 + exp(-sgn*dot(l1, l2a.T))) @@ -418,7 +418,7 @@ def __init__( texts are longer than 10000 words, but the standard cython code truncates to that maximum.) """ - self.kv = KeyedVectors() # kv --> KeyedVectors + self.wv = KeyedVectors() # wv --> KeyedVectors self.sg = int(sg) self.cum_table = None # for negative sampling self.vector_size = int(size) @@ -464,13 +464,13 @@ def make_cum_table(self, power=0.75, domain=2**31 - 1): Called internally from 'build_vocab()'. """ - vocab_size = len(self.kv.index2word) + vocab_size = len(self.wv.index2word) self.cum_table = zeros(vocab_size, dtype=uint32) # compute sum of all power (Z in paper) - train_words_pow = float(sum([self.kv.vocab[word].count**power for word in self.kv.vocab])) + train_words_pow = float(sum([self.wv.vocab[word].count**power for word in self.wv.vocab])) cumulative = 0.0 for word_index in range(vocab_size): - cumulative += self.kv.vocab[self.kv.index2word[word_index]].count**power / train_words_pow + cumulative += self.wv.vocab[self.wv.index2word[word_index]].count**power / train_words_pow self.cum_table[word_index] = round(cumulative * domain) if len(self.cum_table) > 0: assert self.cum_table[-1] == domain @@ -481,27 +481,27 @@ def create_binary_tree(self): will have shorter binary codes. Called internally from `build_vocab()`. """ - logger.info("constructing a huffman tree from %i words", len(self.kv.vocab)) + logger.info("constructing a huffman tree from %i words", len(self.wv.vocab)) # build the huffman tree - heap = list(itervalues(self.kv.vocab)) + heap = list(itervalues(self.wv.vocab)) heapq.heapify(heap) - for i in xrange(len(self.kv.vocab) - 1): + for i in xrange(len(self.wv.vocab) - 1): min1, min2 = heapq.heappop(heap), heapq.heappop(heap) - heapq.heappush(heap, Vocab(count=min1.count + min2.count, index=i + len(self.kv.vocab), left=min1, right=min2)) + heapq.heappush(heap, Vocab(count=min1.count + min2.count, index=i + len(self.wv.vocab), left=min1, right=min2)) # recurse over the tree, assigning a binary code to each vocabulary word if heap: max_depth, stack = 0, [(heap[0], [], [])] while stack: node, codes, points = stack.pop() - if node.index < len(self.kv.vocab): + if node.index < len(self.wv.vocab): # leaf node => store its path from the root node.code, node.point = codes, points max_depth = max(len(codes), max_depth) else: # inner node => continue recursion - points = array(list(points) + [node.index - len(self.kv.vocab)], dtype=uint32) + points = array(list(points) + [node.index - len(self.wv.vocab)], dtype=uint32) stack.append((node.left, array(list(codes) + [0], dtype=uint8), points)) stack.append((node.right, array(list(codes) + [1], dtype=uint8), points)) @@ -566,11 +566,11 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab # Discard words less-frequent than min_count if not dry_run: - self.kv.index2word = [] + self.wv.index2word = [] # make stored settings match these applied settings self.min_count = min_count self.sample = sample - self.kv.vocab = {} + self.wv.vocab = {} drop_unique, drop_total, retain_total, original_total = 0, 0, 0, 0 retain_words = [] for word, v in iteritems(self.raw_vocab): @@ -579,8 +579,8 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab retain_total += v original_total += v if not dry_run: - self.kv.vocab[word] = Vocab(count=v, index=len(self.kv.index2word)) - self.kv.index2word.append(word) + self.wv.vocab[word] = Vocab(count=v, index=len(self.wv.index2word)) + self.wv.index2word.append(word) else: drop_unique += 1 drop_total += v @@ -612,7 +612,7 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab word_probability = 1.0 downsample_total += v if not dry_run: - self.kv.vocab[w].sample_int = int(round(word_probability * 2**32)) + self.wv.vocab[w].sample_int = int(round(word_probability * 2**32)) if not dry_run and not keep_raw_vocab: logger.info("deleting the raw counts dictionary of %i items", len(self.raw_vocab)) @@ -633,7 +633,7 @@ def scale_vocab(self, min_count=None, sample=None, dry_run=False, keep_raw_vocab def finalize_vocab(self): """Build tables and model weights based on final vocabulary settings.""" - if not self.kv.index2word: + if not self.wv.index2word: self.scale_vocab() if self.sorted_vocab: self.sort_vocab() @@ -647,27 +647,27 @@ def finalize_vocab(self): # create null pseudo-word for padding when using concatenative L1 (run-of-words) # this word is only ever input – never predicted – so count, huffman-point, etc doesn't matter word, v = '\0', Vocab(count=1, sample_int=0) - v.index = len(self.kv.vocab) - self.kv.index2word.append(word) - self.kv.vocab[word] = v + v.index = len(self.wv.vocab) + self.wv.index2word.append(word) + self.wv.vocab[word] = v # set initial input/projection and hidden weights self.reset_weights() def sort_vocab(self): """Sort the vocabulary so the most frequent words have the lowest indexes.""" - if self.kv.syn0: + if self.wv.syn0: raise RuntimeError("must sort before initializing vectors/weights") - self.kv.index2word.sort(key=lambda word: self.kv.vocab[word].count, reverse=True) - for i, word in enumerate(self.kv.index2word): - self.kv.vocab[word].index = i + self.wv.index2word.sort(key=lambda word: self.wv.vocab[word].count, reverse=True) + for i, word in enumerate(self.wv.index2word): + self.wv.vocab[word].index = i def reset_from(self, other_model): """ Borrow shareable pre-built structures (like vocab) from the other_model. Useful if testing multiple models in parallel on the same corpus. """ - self.kv.vocab = other_model.vocab - self.kv.index2word = other_model.index2word + self.wv.vocab = other_model.vocab + self.wv.index2word = other_model.index2word self.cum_table = other_model.cum_table self.corpus_count = other_model.corpus_count self.reset_weights() @@ -713,12 +713,12 @@ def train(self, sentences, total_words=None, word_count=0, logger.info( "training model with %i workers on %i vocabulary and %i features, " "using sg=%s hs=%s sample=%s negative=%s", - self.workers, len(self.kv.vocab), self.layer1_size, self.sg, + self.workers, len(self.wv.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) - if not self.kv.vocab: + if not self.wv.vocab: raise RuntimeError("you must first build vocabulary before training the model") - if self.kv.syn0 == []: + if self.wv.syn0 == []: raise RuntimeError("you must first finalize vocabulary before training the model") if total_words is None and total_examples is None: @@ -905,9 +905,9 @@ def score(self, sentences, total_sentences=int(1e6), chunksize=100, queue_factor logger.info( "scoring sentences with %i workers on %i vocabulary and %i features, " "using sg=%s hs=%s sample=%s and negative=%s", - self.workers, len(self.kv.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) + self.workers, len(self.wv.vocab), self.layer1_size, self.sg, self.hs, self.sample, self.negative) - if not self.kv.vocab: + if not self.wv.vocab: raise RuntimeError("you must first build vocabulary before scoring new data") if not self.hs: @@ -994,23 +994,23 @@ def worker_loop(): return sentence_scores[:sentence_count] def clear_sims(self): - self.kv.syn0norm = None + self.wv.syn0norm = None def reset_weights(self): """Reset all projection weights to an initial (untrained) state, but keep the existing vocabulary.""" logger.info("resetting layer weights") - self.kv.syn0 = empty((len(self.kv.vocab), self.vector_size), dtype=REAL) + self.wv.syn0 = empty((len(self.wv.vocab), self.vector_size), dtype=REAL) # randomize weights vector by vector, rather than materializing a huge random matrix in RAM at once - for i in xrange(len(self.kv.vocab)): + for i in xrange(len(self.wv.vocab)): # construct deterministic seed from word AND seed argument - self.kv.syn0[i] = self.seeded_vector(self.kv.index2word[i] + str(self.seed)) + self.wv.syn0[i] = self.seeded_vector(self.wv.index2word[i] + str(self.seed)) if self.hs: - self.syn1 = zeros((len(self.kv.vocab), self.layer1_size), dtype=REAL) + self.syn1 = zeros((len(self.wv.vocab), self.layer1_size), dtype=REAL) if self.negative: - self.syn1neg = zeros((len(self.kv.vocab), self.layer1_size), dtype=REAL) - self.kv.syn0norm = None + self.syn1neg = zeros((len(self.wv.vocab), self.layer1_size), dtype=REAL) + self.wv.syn0norm = None - self.syn0_lockf = ones(len(self.kv.vocab), dtype=REAL) # zeros suppress learning + self.syn0_lockf = ones(len(self.wv.vocab), dtype=REAL) # zeros suppress learning def seeded_vector(self, seed_string): """Create one 'random' vector (but deterministic by seed_string)""" @@ -1032,15 +1032,15 @@ def save_word2vec_format(self, fname, fvocab=None, binary=False): if fvocab is not None: logger.info("storing vocabulary in %s" % (fvocab)) with utils.smart_open(fvocab, 'wb') as vout: - for word, vocab in sorted(iteritems(self.kv.vocab), key=lambda item: -item[1].count): + for word, vocab in sorted(iteritems(self.wv.vocab), key=lambda item: -item[1].count): vout.write(utils.to_utf8("%s %s\n" % (word, vocab.count))) - logger.info("storing %sx%s projection weights into %s" % (len(self.kv.vocab), self.vector_size, fname)) - assert (len(self.kv.vocab), self.vector_size) == self.kv.syn0.shape + logger.info("storing %sx%s projection weights into %s" % (len(self.wv.vocab), self.vector_size, fname)) + assert (len(self.wv.vocab), self.vector_size) == self.wv.syn0.shape with utils.smart_open(fname, 'wb') as fout: - fout.write(utils.to_utf8("%s %s\n" % self.kv.syn0.shape)) + fout.write(utils.to_utf8("%s %s\n" % self.wv.syn0.shape)) # store in sorted order: most frequent words at the top - for word, vocab in sorted(iteritems(self.kv.vocab), key=lambda item: -item[1].count): - row = self.kv.syn0[vocab.index] + for word, vocab in sorted(iteritems(self.wv.vocab), key=lambda item: -item[1].count): + row = self.wv.syn0[vocab.index] if binary: fout.write(utils.to_utf8(word) + b" " + row.tostring()) else: @@ -1093,25 +1093,25 @@ def load_word2vec_format(cls, fname, fvocab=None, binary=False, encoding='utf8', if limit: vocab_size = min(vocab_size, limit) result = cls(size=vector_size) - result.kv.syn0 = zeros((vocab_size, vector_size), dtype=datatype) + result.wv.syn0 = zeros((vocab_size, vector_size), dtype=datatype) def add_word(word, weights): - word_id = len(result.kv.vocab) - if word in result.kv.vocab: + word_id = len(result.wv.vocab) + if word in result.wv.vocab: logger.warning("duplicate word '%s' in %s, ignoring all but first", word, fname) return if counts is None: # most common scenario: no vocab file given. just make up some bogus counts, in descending order - result.kv.vocab[word] = Vocab(index=word_id, count=vocab_size - word_id) + result.wv.vocab[word] = Vocab(index=word_id, count=vocab_size - word_id) elif word in counts: # use count from the vocab file - result.kv.vocab[word] = Vocab(index=word_id, count=counts[word]) + result.wv.vocab[word] = Vocab(index=word_id, count=counts[word]) else: # vocab file given, but word is missing -- set count to None (TODO: or raise?) logger.warning("vocabulary file is incomplete: '%s' is missing", word) - result.kv.vocab[word] = Vocab(index=word_id, count=None) - result.kv.syn0[word_id] = weights - result.kv.index2word.append(word) + result.wv.vocab[word] = Vocab(index=word_id, count=None) + result.wv.syn0[word_id] = weights + result.wv.index2word.append(word) if binary: binary_len = dtype(REAL).itemsize * vector_size @@ -1139,15 +1139,15 @@ def add_word(word, weights): raise ValueError("invalid vector on line %s (is this really the text format?)" % (line_no)) word, weights = parts[0], list(map(REAL, parts[1:])) add_word(word, weights) - if result.kv.syn0.shape[0] != len(result.kv.vocab): + if result.wv.syn0.shape[0] != len(result.wv.vocab): logger.info( "duplicate words detected, shrinking matrix size from %i to %i", - result.kv.syn0.shape[0], len(result.kv.vocab) + result.wv.syn0.shape[0], len(result.wv.vocab) ) - result.kv.syn0 = ascontiguousarray(result.kv.syn0[: len(result.kv.vocab)]) - assert (len(result.kv.vocab), result.vector_size) == result.kv.syn0.shape + result.wv.syn0 = ascontiguousarray(result.wv.syn0[: len(result.wv.vocab)]) + assert (len(result.wv.vocab), result.vector_size) == result.wv.syn0.shape - logger.info("loaded %s matrix from %s" % (result.kv.syn0.shape, fname)) + logger.info("loaded %s matrix from %s" % (result.wv.syn0.shape, fname)) return result def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='utf8', unicode_errors='strict'): @@ -1184,104 +1184,104 @@ def intersect_word2vec_format(self, fname, lockf=0.0, binary=False, encoding='ut word.append(ch) word = utils.to_unicode(b''.join(word), encoding=encoding, errors=unicode_errors) weights = fromstring(fin.read(binary_len), dtype=REAL) - if word in self.kv.vocab: + if word in self.wv.vocab: overlap_count += 1 - self.kv.syn0[self.kv.vocab[word].index] = weights - self.syn0_lockf[self.kv.vocab[word].index] = lockf # lock-factor: 0.0 stops further changes + self.wv.syn0[self.wv.vocab[word].index] = weights + self.syn0_lockf[self.wv.vocab[word].index] = lockf # lock-factor: 0.0 stops further changes else: for line_no, line in enumerate(fin): parts = utils.to_unicode(line.rstrip(), encoding=encoding, errors=unicode_errors).split(" ") if len(parts) != vector_size + 1: raise ValueError("invalid vector on line %s (is this really the text format?)" % (line_no)) word, weights = parts[0], list(map(REAL, parts[1:])) - if word in self.kv.vocab: + if word in self.wv.vocab: overlap_count += 1 - self.kv.syn0[self.kv.vocab[word].index] = weights - logger.info("merged %d vectors into %s matrix from %s" % (overlap_count, self.kv.syn0.shape, fname)) + self.wv.syn0[self.wv.vocab[word].index] = weights + logger.info("merged %d vectors into %s matrix from %s" % (overlap_count, self.wv.syn0.shape, fname)) def most_similar(self, positive=[], negative=[], topn=10, restrict_vocab=None, indexer=None): - return self.kv.most_similar(positive, negative, topn, restrict_vocab, indexer) + return self.wv.most_similar(positive, negative, topn, restrict_vocab, indexer) def wmdistance(self, document1, document2): - return self.kv.wmdistance(document1, document2) + return self.wv.wmdistance(document1, document2) def most_similar_cosmul(self, positive=[], negative=[], topn=10): - return self.kv.most_similar_cosmul(positive, negative, topn) + return self.wv.most_similar_cosmul(positive, negative, topn) def similar_by_word(self, word, topn=10, restrict_vocab=None): - return self.kv.similar_by_word(word, topn, restrict_vocab) + return self.wv.similar_by_word(word, topn, restrict_vocab) def similar_by_vector(self, vector, topn=10, restrict_vocab=None): - return self.kv.similar_by_vector(vector, topn, restrict_vocab) + return self.wv.similar_by_vector(vector, topn, restrict_vocab) def doesnt_match(self, words): - return self.kv.doesnt_match(words) + return self.wv.doesnt_match(words) def __getitem__(self, words): - return self.kv.__getitem__(words) + return self.wv.__getitem__(words) @property def syn0norm(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') - return self.kv.syn0norm + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0norm') + return self.wv.syn0norm @syn0norm.setter def syn0norm(self, value): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') - self.kv.syn0norm = value + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0norm') + self.wv.syn0norm = value @syn0norm.deleter def syn0norm(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0norm') - del self.kv.syn0norm + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0norm') + del self.wv.syn0norm @property def syn0(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') - return self.kv.syn0 + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + return self.wv.syn0 @syn0.setter def syn0(self, value): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') - self.kv.syn0 = value + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + self.wv.syn0 = value @syn0.deleter def syn0(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.kv.syn0') - del self.kv.syn0 + logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + del self.wv.syn0 @property def vocab(self): - return self.kv.vocab + return self.wv.vocab @vocab.setter def vocab(self, value): - self.kv.vocab = value + self.wv.vocab = value @vocab.deleter def vocab(self): - del self.kv.vocab + del self.wv.vocab @property def index2word(self): - return self.kv.index2word + return self.wv.index2word @index2word.setter def index2word(self, value): - self.kv.index2word = value + self.wv.index2word = value @index2word.deleter def index2word(self): - del self.kv.index2word + del self.wv.index2word def __contains__(self, word): - return self.kv.__contains__(word) + return self.wv.__contains__(word) def similarity(self, w1, w2): - return self.kv.similarity(w1, w2) + return self.wv.similarity(w1, w2) def n_similarity(self, ws1, ws2): - return self.kv.n_similarity(ws1, ws2) + return self.wv.n_similarity(ws1, ws2) def init_sims(self, replace=False): """ @@ -1290,11 +1290,11 @@ def init_sims(self, replace=False): """ if replace and hasattr(self, 'syn1'): del self.syn1 - return self.kv.init_sims(replace) + return self.wv.init_sims(replace) def estimate_memory(self, vocab_size=None, report=None): """Estimate required memory for a model using current settings and provided vocabulary size.""" - vocab_size = vocab_size or len(self.kv.vocab) + vocab_size = vocab_size or len(self.wv.vocab) report = report or {} report['vocab'] = vocab_size * (700 if self.hs else 500) report['syn0'] = vocab_size * self.vector_size * dtype(REAL).itemsize @@ -1313,10 +1313,10 @@ def log_accuracy(section): def accuracy(self, questions, restrict_vocab=30000, most_similar=None, case_insensitive=True): most_similar = most_similar or KeyedVectors.most_similar - return self.kv.accuracy(questions, restrict_vocab, most_similar, case_insensitive) + return self.wv.accuracy(questions, restrict_vocab, most_similar, case_insensitive) def __str__(self): - return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.kv.index2word), self.vector_size, self.alpha) + return "%s(vocab=%s, size=%s, alpha=%s)" % (self.__class__.__name__, len(self.wv.index2word), self.vector_size, self.alpha) def save(self, *args, **kwargs): # don't bother storing the cached normalized vectors, recalculable table @@ -1336,14 +1336,14 @@ def load(cls, *args, **kwargs): model.make_cum_table() # rebuild cum_table from vocabulary if not hasattr(model, 'corpus_count'): model.corpus_count = None - for v in model.kv.vocab.values(): + for v in model.wv.vocab.values(): if hasattr(v, 'sample_int'): break # already 0.12.0+ style int probabilities elif hasattr(v, 'sample_probability'): v.sample_int = int(round(v.sample_probability * 2**32)) del v.sample_probability if not hasattr(model, 'syn0_lockf') and hasattr(model, 'syn0'): - model.syn0_lockf = ones(len(model.kv.syn0), dtype=REAL) + model.syn0_lockf = ones(len(model.wv.syn0), dtype=REAL) if not hasattr(model, 'random'): model.random = random.RandomState(model.seed) if not hasattr(model, 'train_count'): @@ -1353,12 +1353,12 @@ def load(cls, *args, **kwargs): def _load_specials(self, *args, **kwargs): # loading from a pre-KeyedVectors word2vec model - if not hasattr(self, 'kv'): - kv = KeyedVectors() - kv.syn0 = self.__dict__.get('syn0', []) - kv.vocab = self.__dict__.get('vocab', {}) - kv.index2word = self.__dict__.get('index2word', []) - self.kv = kv + if not hasattr(self, 'wv'): + wv = KeyedVectors() + wv.syn0 = self.__dict__.get('syn0', []) + wv.vocab = self.__dict__.get('vocab', {}) + wv.index2word = self.__dict__.get('index2word', []) + self.wv = wv super(Word2Vec, self)._load_specials(*args, **kwargs) class BrownCorpus(object): diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 422b05b078..1360693480 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -75,11 +75,11 @@ def testPersistence(self): model.save(testfile()) self.models_equal(model, word2vec.Word2Vec.load(testfile())) # test persistence of the KeyedVectors of a model - kv = model.kv - kv.save(testfile()) - loaded_kv = keyedvectors.KeyedVectors.load(testfile()) - self.assertTrue(numpy.allclose(kv.syn0, loaded_kv.syn0)) - self.assertEqual(len(kv.vocab), len(loaded_kv.vocab)) + wv = model.wv + wv.save(testfile()) + loaded_wv = keyedvectors.KeyedVectors.load(testfile()) + self.assertTrue(numpy.allclose(wv.syn0, loaded_wv.syn0)) + self.assertEqual(len(wv.vocab), len(loaded_wv.vocab)) def testPersistenceWithConstructorRule(self): """Test storing/loading the entire model with a vocab trimming rule passed in the constructor.""" @@ -112,10 +112,10 @@ def testSyn0NormNotSaved(self): model.init_sims() model.save(testfile()) loaded_model = word2vec.Word2Vec.load(testfile()) - self.assertTrue(loaded_model.kv.syn0norm is None) + self.assertTrue(loaded_model.wv.syn0norm is None) - kv = model.kv - kv.save(testfile()) + wv = model.wv + wv.save(testfile()) loaded_kv = keyedvectors.KeyedVectors.load(testfile()) self.assertTrue(loaded_kv.syn0norm is None) @@ -124,18 +124,18 @@ def testLoadPreKeyedVectorModel(self): # Model stored in one file model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv')) - self.assertTrue(model.syn0.shape == (len(model.kv.vocab), model.vector_size)) - self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), model.vector_size)) + self.assertTrue(model.syn0.shape == (len(model.wv.vocab), model.vector_size)) + self.assertTrue(model.syn1neg.shape == (len(model.wv.vocab), model.vector_size)) # Model stored in multiple files model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv_sep')) - self.assertTrue(model.syn0.shape == (len(model.kv.vocab), model.vector_size)) - self.assertTrue(model.syn1neg.shape == (len(model.kv.vocab), model.vector_size)) + self.assertTrue(model.syn0.shape == (len(model.wv.vocab), model.vector_size)) + self.assertTrue(model.syn1neg.shape == (len(model.wv.vocab), model.vector_size)) def testLoadPreKeyedVectorModelCFormat(self): """Test loading pre-KeyedVectors word2vec model saved in word2vec format""" model = word2vec.Word2Vec.load_word2vec_format(datapath('word2vec_pre_kv_c')) - self.assertTrue(model.syn0.shape[0] == len(model.kv.vocab)) + self.assertTrue(model.syn0.shape[0] == len(model.wv.vocab)) def testPersistenceWord2VecFormat(self): """Test storing/loading the entire model in word2vec format.""" @@ -298,7 +298,7 @@ def testAccuracy(self): """Test Word2Vec accuracy and KeyedVectors accuracy give the same result""" model = word2vec.Word2Vec(LeeCorpus()) w2v_accuracy = model.accuracy(datapath('questions-words.txt')) - kv_accuracy = model.kv.accuracy(datapath('questions-words.txt')) + kv_accuracy = model.wv.accuracy(datapath('questions-words.txt')) self.assertEqual(w2v_accuracy, kv_accuracy) def model_sanity(self, model, train=True): From b002765803a0dc69dadd328f08f91df27f5c921d Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Mon, 12 Sep 2016 16:48:02 +0530 Subject: [PATCH 23/26] minor bugs with checking existence of syn0 --- gensim/models/word2vec.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index 38942a63fb..c535947ee5 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -655,7 +655,7 @@ def finalize_vocab(self): def sort_vocab(self): """Sort the vocabulary so the most frequent words have the lowest indexes.""" - if self.wv.syn0: + if len(self.wv.syn0): raise RuntimeError("must sort before initializing vectors/weights") self.wv.index2word.sort(key=lambda word: self.wv.vocab[word].count, reverse=True) for i, word in enumerate(self.wv.index2word): @@ -718,7 +718,7 @@ def train(self, sentences, total_words=None, word_count=0, if not self.wv.vocab: raise RuntimeError("you must first build vocabulary before training the model") - if self.wv.syn0 == []: + if not len(self.wv.syn0): raise RuntimeError("you must first finalize vocabulary before training the model") if total_words is None and total_examples is None: From 27c0a145a6b7d4da05548cbfb271d68ff0624236 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Mon, 12 Sep 2016 17:25:15 +0530 Subject: [PATCH 24/26] replaces syn0 and syn0norm with wv.syn0 and wv.syn0norm in tests and cython files --- gensim/models/doc2vec_inner.pyx | 6 ++--- gensim/models/word2vec.py | 6 ++--- gensim/models/word2vec_inner.pyx | 8 +++--- gensim/similarities/docsim.py | 2 +- gensim/similarities/index.py | 2 +- gensim/test/test_doc2vec.py | 2 +- gensim/test/test_similarities.py | 2 +- gensim/test/test_word2vec.py | 44 ++++++++++++++++---------------- 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/gensim/models/doc2vec_inner.pyx b/gensim/models/doc2vec_inner.pyx index 6c171568a2..0a4b2f7f6c 100644 --- a/gensim/models/doc2vec_inner.pyx +++ b/gensim/models/doc2vec_inner.pyx @@ -268,7 +268,7 @@ def train_document_dbow(model, doc_words, doctag_indexes, alpha, work=None, # default vectors, locks from syn0/doctag_syn0 if word_vectors is None: - word_vectors = model.syn0 + word_vectors = model.wv.syn0 _word_vectors = (np.PyArray_DATA(word_vectors)) if doctag_vectors is None: doctag_vectors = model.docvecs.doctag_syn0 @@ -405,7 +405,7 @@ def train_document_dm(model, doc_words, doctag_indexes, alpha, work=None, neu1=N # default vectors, locks from syn0/doctag_syn0 if word_vectors is None: - word_vectors = model.syn0 + word_vectors = model.wv.syn0 _word_vectors = (np.PyArray_DATA(word_vectors)) if doctag_vectors is None: doctag_vectors = model.docvecs.doctag_syn0 @@ -567,7 +567,7 @@ def train_document_dm_concat(model, doc_words, doctag_indexes, alpha, work=None, # default vectors, locks from syn0/doctag_syn0 if word_vectors is None: - word_vectors = model.syn0 + word_vectors = model.wv.syn0 _word_vectors = (np.PyArray_DATA(word_vectors)) if doctag_vectors is None: doctag_vectors = model.docvecs.doctag_syn0 diff --git a/gensim/models/word2vec.py b/gensim/models/word2vec.py index c535947ee5..da40ecfd5d 100644 --- a/gensim/models/word2vec.py +++ b/gensim/models/word2vec.py @@ -1237,17 +1237,17 @@ def syn0norm(self): @property def syn0(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + logger.warning('direct access to syn0 will not be supported in future gensim releases, please use model.wv.syn0') return self.wv.syn0 @syn0.setter def syn0(self, value): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + logger.warning('direct access to syn0 will not be supported in future gensim releases, please use model.wv.syn0') self.wv.syn0 = value @syn0.deleter def syn0(self): - logger.warning('direct access to syn0norm will not be supported in future gensim releases, please use model.wv.syn0') + logger.warning('direct access to syn0 will not be supported in future gensim releases, please use model.wv.syn0') del self.wv.syn0 @property diff --git a/gensim/models/word2vec_inner.pyx b/gensim/models/word2vec_inner.pyx index 7592e7b03d..d9c91e27ea 100755 --- a/gensim/models/word2vec_inner.pyx +++ b/gensim/models/word2vec_inner.pyx @@ -259,7 +259,7 @@ def train_batch_sg(model, sentences, alpha, _work): cdef int negative = model.negative cdef int sample = (model.sample != 0) - cdef REAL_t *syn0 = (np.PyArray_DATA(model.syn0)) + cdef REAL_t *syn0 = (np.PyArray_DATA(model.wv.syn0)) cdef REAL_t *word_locks = (np.PyArray_DATA(model.syn0_lockf)) cdef REAL_t *work cdef REAL_t _alpha = alpha @@ -363,7 +363,7 @@ def train_batch_cbow(model, sentences, alpha, _work, _neu1): cdef int sample = (model.sample != 0) cdef int cbow_mean = model.cbow_mean - cdef REAL_t *syn0 = (np.PyArray_DATA(model.syn0)) + cdef REAL_t *syn0 = (np.PyArray_DATA(model.wv.syn0)) cdef REAL_t *word_locks = (np.PyArray_DATA(model.syn0_lockf)) cdef REAL_t *work cdef REAL_t _alpha = alpha @@ -462,7 +462,7 @@ def train_batch_cbow(model, sentences, alpha, _work, _neu1): # Score is only implemented for hierarchical softmax def score_sentence_sg(model, sentence, _work): - cdef REAL_t *syn0 = (np.PyArray_DATA(model.syn0)) + cdef REAL_t *syn0 = (np.PyArray_DATA(model.wv.syn0)) cdef REAL_t *work cdef int size = model.layer1_size @@ -542,7 +542,7 @@ def score_sentence_cbow(model, sentence, _work, _neu1): cdef int cbow_mean = model.cbow_mean - cdef REAL_t *syn0 = (np.PyArray_DATA(model.syn0)) + cdef REAL_t *syn0 = (np.PyArray_DATA(model.wv.syn0)) cdef REAL_t *work cdef REAL_t *neu1 cdef int size = model.layer1_size diff --git a/gensim/similarities/docsim.py b/gensim/similarities/docsim.py index 8a6b119ff0..d61c64636e 100755 --- a/gensim/similarities/docsim.py +++ b/gensim/similarities/docsim.py @@ -634,7 +634,7 @@ def get_similarities(self, query): return result def __str__(self): - return "%s<%i docs, %i features>" % (self.__class__.__name__, len(self), self.w2v_model.syn0.shape[1]) + return "%s<%i docs, %i features>" % (self.__class__.__name__, len(self), self.w2v_model.wv.syn0.shape[1]) #endclass WmdSimilarity class SparseMatrixSimilarity(interfaces.SimilarityABC): diff --git a/gensim/similarities/index.py b/gensim/similarities/index.py index 9cbb4ca384..c6af10636f 100644 --- a/gensim/similarities/index.py +++ b/gensim/similarities/index.py @@ -30,7 +30,7 @@ def build_from_word2vec(self): """Build an Annoy index using word vectors from a Word2Vec model""" self.model.init_sims() - return self._build_from_model(self.model.syn0norm, self.model.index2word + return self._build_from_model(self.model.wv.syn0norm, self.model.index2word , self.model.vector_size) def build_from_doc2vec(self): diff --git a/gensim/test/test_doc2vec.py b/gensim/test/test_doc2vec.py index 42264c0b4b..885d2d56e9 100644 --- a/gensim/test/test_doc2vec.py +++ b/gensim/test/test_doc2vec.py @@ -270,7 +270,7 @@ def test_mixed_tag_types(self): def models_equal(self, model, model2): # check words/hidden-weights self.assertEqual(len(model.vocab), len(model2.vocab)) - self.assertTrue(np.allclose(model.syn0, model2.syn0)) + self.assertTrue(np.allclose(model.wv.syn0, model2.wv.syn0)) if model.hs: self.assertTrue(np.allclose(model.syn1, model2.syn1)) if model.negative: diff --git a/gensim/test/test_similarities.py b/gensim/test/test_similarities.py index b492b4a9b4..4023e40ba8 100644 --- a/gensim/test/test_similarities.py +++ b/gensim/test/test_similarities.py @@ -445,7 +445,7 @@ def setUp(self): self.model = word2vec.Word2Vec(texts, min_count=1) self.model.init_sims() self.index = AnnoyIndexer(self.model, 10) - self.vector = self.model.syn0norm[0] + self.vector = self.model.wv.syn0norm[0] def testVectorIsSimilarToItself(self): label = self.model.index2word[0] diff --git a/gensim/test/test_word2vec.py b/gensim/test/test_word2vec.py index 1360693480..5b8650b778 100644 --- a/gensim/test/test_word2vec.py +++ b/gensim/test/test_word2vec.py @@ -124,18 +124,18 @@ def testLoadPreKeyedVectorModel(self): # Model stored in one file model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv')) - self.assertTrue(model.syn0.shape == (len(model.wv.vocab), model.vector_size)) + self.assertTrue(model.wv.syn0.shape == (len(model.wv.vocab), model.vector_size)) self.assertTrue(model.syn1neg.shape == (len(model.wv.vocab), model.vector_size)) # Model stored in multiple files model = word2vec.Word2Vec.load(datapath('word2vec_pre_kv_sep')) - self.assertTrue(model.syn0.shape == (len(model.wv.vocab), model.vector_size)) + self.assertTrue(model.wv.syn0.shape == (len(model.wv.vocab), model.vector_size)) self.assertTrue(model.syn1neg.shape == (len(model.wv.vocab), model.vector_size)) def testLoadPreKeyedVectorModelCFormat(self): """Test loading pre-KeyedVectors word2vec model saved in word2vec format""" model = word2vec.Word2Vec.load_word2vec_format(datapath('word2vec_pre_kv_c')) - self.assertTrue(model.syn0.shape[0] == len(model.wv.vocab)) + self.assertTrue(model.wv.syn0.shape[0] == len(model.wv.vocab)) def testPersistenceWord2VecFormat(self): """Test storing/loading the entire model in word2vec format.""" @@ -148,11 +148,11 @@ def testPersistenceWord2VecFormat(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True) norm_only_model.init_sims(replace=True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'])) - self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'])) + self.assertTrue(numpy.allclose(model.wv.syn0norm[model.vocab['human'].index], norm_only_model['human'])) limited_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, limit=3) - self.assertEquals(len(limited_model.syn0), 3) + self.assertEquals(len(limited_model.wv.syn0), 3) half_precision_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=True, datatype=numpy.float16) - self.assertEquals(binary_model.syn0.nbytes, half_precision_model.syn0.nbytes * 2) + self.assertEquals(binary_model.wv.syn0.nbytes, half_precision_model.wv.syn0.nbytes * 2) def testTooShortBinaryWord2VecFormat(self): tfile = testfile() @@ -185,7 +185,7 @@ def testPersistenceWord2VecFormatNonBinary(self): norm_only_model = word2vec.Word2Vec.load_word2vec_format(testfile(), binary=False) norm_only_model.init_sims(True) self.assertFalse(numpy.allclose(model['human'], norm_only_model['human'], atol=1e-6)) - self.assertTrue(numpy.allclose(model.syn0norm[model.vocab['human'].index], norm_only_model['human'], atol=1e-4)) + self.assertTrue(numpy.allclose(model.wv.syn0norm[model.vocab['human'].index], norm_only_model['human'], atol=1e-4)) def testPersistenceWord2VecFormatWithVocab(self): """Test storing/loading the entire model and vocabulary in word2vec format.""" @@ -251,7 +251,7 @@ def testTraining(self): model = word2vec.Word2Vec(size=2, min_count=1, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.wv.syn0.shape == (len(model.vocab), 2)) self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) model.train(sentences) @@ -259,7 +259,7 @@ def testTraining(self): # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.wv.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -285,14 +285,14 @@ def testLocking(self): model.build_vocab(corpus) # remember two vectors - locked0 = numpy.copy(model.syn0[0]) - unlocked1 = numpy.copy(model.syn0[1]) + locked0 = numpy.copy(model.wv.syn0[0]) + unlocked1 = numpy.copy(model.wv.syn0[1]) # lock the vector in slot 0 against change model.syn0_lockf[0] = 0.0 model.train(corpus) - self.assertFalse((unlocked1 == model.syn0[1]).all()) # unlocked vector should vary - self.assertTrue((locked0 == model.syn0[0]).all()) # locked vector should not vary + self.assertFalse((unlocked1 == model.wv.syn0[1]).all()) # unlocked vector should vary + self.assertTrue((locked0 == model.wv.syn0[0]).all()) # locked vector should not vary def testAccuracy(self): """Test Word2Vec accuracy and KeyedVectors accuracy give the same result""" @@ -306,9 +306,9 @@ def model_sanity(self, model, train=True): # run extra before/after training tests if train=True if train: model.build_vocab(list_corpus) - orig0 = numpy.copy(model.syn0[0]) + orig0 = numpy.copy(model.wv.syn0[0]) model.train(list_corpus) - self.assertFalse((orig0 == model.syn0[1]).all()) # vector should vary after training + self.assertFalse((orig0 == model.wv.syn0[1]).all()) # vector should vary after training sims = model.most_similar('war', topn=len(model.index2word)) t_rank = [word for word, score in sims].index('terrorism') # in >200 calibration runs w/ calling parameters, 'terrorism' in 50-most_sim for 'war' @@ -346,7 +346,7 @@ def testTrainingCbow(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=1, negative=0) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.wv.syn0.shape == (len(model.vocab), 2)) self.assertTrue(model.syn1.shape == (len(model.vocab), 2)) model.train(sentences) @@ -354,7 +354,7 @@ def testTrainingCbow(self): # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.wv.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -369,7 +369,7 @@ def testTrainingSgNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.wv.syn0.shape == (len(model.vocab), 2)) self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) model.train(sentences) @@ -377,7 +377,7 @@ def testTrainingSgNegative(self): # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.wv.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -392,7 +392,7 @@ def testTrainingCbowNegative(self): # build vocabulary, don't train yet model = word2vec.Word2Vec(size=2, min_count=1, sg=0, hs=0, negative=2) model.build_vocab(sentences) - self.assertTrue(model.syn0.shape == (len(model.vocab), 2)) + self.assertTrue(model.wv.syn0.shape == (len(model.vocab), 2)) self.assertTrue(model.syn1neg.shape == (len(model.vocab), 2)) model.train(sentences) @@ -400,7 +400,7 @@ def testTrainingCbowNegative(self): # self.assertTrue(sims[0][0] == 'trees', sims) # most similar # test querying for "most similar" by vector - graph_vector = model.syn0norm[model.vocab['graph'].index] + graph_vector = model.wv.syn0norm[model.vocab['graph'].index] sims2 = model.most_similar(positive=[graph_vector], topn=11) sims2 = [(w, sim) for w, sim in sims2 if w != 'graph'] # ignore 'graph' itself self.assertEqual(sims, sims2) @@ -452,7 +452,7 @@ def testRNG(self): def models_equal(self, model, model2): self.assertEqual(len(model.vocab), len(model2.vocab)) - self.assertTrue(numpy.allclose(model.syn0, model2.syn0)) + self.assertTrue(numpy.allclose(model.wv.syn0, model2.wv.syn0)) if model.hs: self.assertTrue(numpy.allclose(model.syn1, model2.syn1)) if model.negative: From 81f8cbb71d6ec4ceb5e51c0ce569632e01f3b4cc Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Mon, 12 Sep 2016 19:04:33 +0530 Subject: [PATCH 25/26] adds changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8a1afb1ce1..8562239fb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ Changes ======= +0.13.3, TDB +* Vectors for word2vec and doc2vec extracted out into `KeyedVectors`, save/load and similarity calcs can be run independent of model + - Maintains backwards compatibility, `w2v_model.syn0` and `w2v_model.syn0norm` raise a warning + 0.13.2, 2016-08-19 * wordtopics has changed to word_topics in ldamallet, and fixed issue #764. (@bhargavvader, [#771](https://github.com/RaRe-Technologies/gensim/pull/771)) From 1b282ab1875e1a82ff1d024b8e387299bee566a9 Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Sun, 16 Oct 2016 11:48:13 +0530 Subject: [PATCH 26/26] updates tests for loading word2vec models for different python versions --- gensim/test/test_data/word2vec_pre_kv | Bin 345204 -> 0 bytes gensim/test/test_data/word2vec_pre_kv_py2 | Bin 0 -> 146505 bytes gensim/test/test_data/word2vec_pre_kv_py3 | Bin 0 -> 154696 bytes gensim/test/test_data/word2vec_pre_kv_sep | Bin 124557 -> 0 bytes .../test_data/word2vec_pre_kv_sep.syn0.npy | Bin 70080 -> 0 bytes .../test_data/word2vec_pre_kv_sep.syn1neg.npy | Bin 70080 -> 0 bytes gensim/test/test_data/word2vec_pre_kv_sep_py2 | Bin 0 -> 111368 bytes ... => word2vec_pre_kv_sep_py2.syn0_lockf.npy} | Bin .../word2vec_pre_kv_sep_py2.syn1neg.npy | Bin 0 -> 14080 bytes .../word2vec_pre_kv_sep_py2.wv.syn0.npy | Bin 0 -> 14080 bytes gensim/test/test_data/word2vec_pre_kv_sep_py3 | Bin 0 -> 104235 bytes .../word2vec_pre_kv_sep_py3.syn0_lockf.npy | Bin 0 -> 7080 bytes .../word2vec_pre_kv_sep_py3.syn1neg.npy | Bin 0 -> 14080 bytes .../word2vec_pre_kv_sep_py3.wv.syn0.npy | Bin 0 -> 14080 bytes gensim/test/test_word2vec.py | 17 ++++++++++++----- 15 files changed, 12 insertions(+), 5 deletions(-) delete mode 100644 gensim/test/test_data/word2vec_pre_kv create mode 100644 gensim/test/test_data/word2vec_pre_kv_py2 create mode 100644 gensim/test/test_data/word2vec_pre_kv_py3 delete mode 100644 gensim/test/test_data/word2vec_pre_kv_sep delete mode 100644 gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy delete mode 100644 gensim/test/test_data/word2vec_pre_kv_sep.syn1neg.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py2 rename gensim/test/test_data/{word2vec_pre_kv_sep.syn0_lockf.npy => word2vec_pre_kv_sep_py2.syn0_lockf.npy} (100%) create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py2.syn1neg.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py2.wv.syn0.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py3 create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py3.syn0_lockf.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py3.syn1neg.npy create mode 100644 gensim/test/test_data/word2vec_pre_kv_sep_py3.wv.syn0.npy diff --git a/gensim/test/test_data/word2vec_pre_kv b/gensim/test/test_data/word2vec_pre_kv deleted file mode 100644 index e02a6e367eab338a016224187718a086a2e3cef2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345204 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

ur;s8pNGAHajj;S_Z9 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�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

&hh>J(6#bm(7k|-#I*pPP-{HlgWjw@Q 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�-2b&*dehQQNuNfVWaSj36Y5Cda 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 literal 0 HcmV?d00001 diff --git a/gensim/test/test_data/word2vec_pre_kv_sep b/gensim/test/test_data/word2vec_pre_kv_sep deleted file mode 100644 index eb5fc3c223e8d9c9fc07b086ba70324b25d9fe3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124557 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%0D4;5_9|ssF%@Mjui3Y77YF{YQ>Iny-(UpR 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 Qk?{P+bvFl_H%xZ2$lO diff --git a/gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy b/gensim/test/test_data/word2vec_pre_kv_sep.syn0.npy deleted file mode 100644 index 9839a82edc5bce8c04cf44844b637f3e944d3b9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70080 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 X^@KG`Y-nZ4DP_X?LMfUmJ;46}oAyE* diff --git a/gensim/test/test_data/word2vec_pre_kv_sep.syn1neg.npy b/gensim/test/test_data/word2vec_pre_kv_sep.syn1neg.npy deleted file mode 100644 index aa9a545a83acbc853a282ab280c3e44ba3d35fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70080 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ÓXpx4}r(wYX##i$|>O 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 k+ac%l%Lmr@MF9oKs&6uktdW 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 B!)5>g diff --git a/gensim/test/test_data/word2vec_pre_kv_sep_py2 b/gensim/test/test_data/word2vec_pre_kv_sep_py2 new file mode 100644 index 0000000000000000000000000000000000000000..1567cf058d68fa0f796a7db47c3fc8e1bbb4d668 GIT binary patch literal 111368 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 literal 0 HcmV?d00001 diff --git a/gensim/test/test_data/word2vec_pre_kv_sep_py2.wv.syn0.npy b/gensim/test/test_data/word2vec_pre_kv_sep_py2.wv.syn0.npy new file mode 100644 index 0000000000000000000000000000000000000000..ec26fabbf48ea9534417e5818c2ede98f7130135 GIT binary patch literal 14080 zcmXAwc~nhr*oI3=bH74m;CSX@e5XMSRy^XVfli!OQgSz%&o1=hUr-t57XPO z_y3=+=i_d&=c~=)m8WMp*Lkuz!5y7OF{6De-dN#J68Z}DOG zY6gVv61Tj$L5u1jQF8PKALfUPStBG=8n;DsSE%8E{_Dg9ixVt!j}mv&Rk`TOq4jy_6Fw&JH*sg z^^_mATm0I1g%i517n>f}Q(HYs%$j$JrI%vGpiA#qE3-}f@OTS-R%{e+n%7f#W{5bd z&p`$Z4-qSWU*eo|-r{M$a++uPiQlePa#zfMqWbxZjQr~_=H=aF#h66#(w#ECZ`>^! zb;)3S=bhr)D@9xr<0c-|kZ}8nAhBgf7{4j{i_Ut%%)0FFk8Tl- zvL#Ho;4l7YPNqij0¥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 Y?mR*lSUZ9;@cXxMp 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 literal 0 HcmV?d00001 diff --git a/gensim/test/test_data/word2vec_pre_kv_sep_py3.syn0_lockf.npy b/gensim/test/test_data/word2vec_pre_kv_sep_py3.syn0_lockf.npy new file mode 100644 index 0000000000000000000000000000000000000000..54304746fd77fc6579719138da3e2e646f479252 GIT binary patch literal 7080 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�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 nA$&A26^&dn#4nisD@bN2;`hIsjfAdiskjJx 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