#   bash_completion - programmable completion functions for bash 3.x
#		      (backwards compatible with bash 2.05b)
#
#   $Id: bash_completion,v 1.872 2006/03/01 16:20:18 ianmacd Exp $
#
#   Copyright (C) Ian Macdonald <ian@caliban.org>
#
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2, or (at your option)
#   any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software Foundation,
#   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#   The latest version of this software can be obtained here:
#
#   http://www.caliban.org/bash/index.shtml#completion
#
#   RELEASE: 20060301

[ -n "${BASH_COMPLETION_DEBUG:-}" ] && set -v || set +v

# Alter the following to reflect the location of this file.
#
{
  # These declarations must go within braces in order to be able to silence
  # readonly variable errors.
  BASH_COMPLETION="${BASH_COMPLETION:-/etc/bash_completion}"
  BASH_COMPLETION_DIR="${BASH_COMPLETION_DIR:=/etc/bash_completion.d}"
} 2>/dev/null || :
readonly BASH_COMPLETION BASH_COMPLETION_DIR

# Set a couple of useful vars
#
UNAME=$( uname -s )
# strip OS type and version under Cygwin (e.g. CYGWIN_NT-5.1 => Cygwin)
UNAME=${UNAME/CYGWIN_*/Cygwin}
RELEASE=$( uname -r )

# features supported by bash 2.05 and higher
if [ ${BASH_VERSINFO[0]} -eq 2 ] && [[ ${BASH_VERSINFO[1]} > 04 ]] ||
   [ ${BASH_VERSINFO[0]} -gt 2 ]; then
	declare -r bash205=$BASH_VERSION 2>/dev/null || :
	default="-o default"
	dirnames="-o dirnames"
	filenames="-o filenames"
fi
# features supported by bash 2.05b and higher
if [ ${BASH_VERSINFO[0]} -eq 2 ] && [[ ${BASH_VERSINFO[1]} = "05b" ]] ||
   [ ${BASH_VERSINFO[0]} -gt 2 ]; then
	declare -r bash205b=$BASH_VERSION 2>/dev/null || :
	nospace="-o nospace"
fi
# features supported by bash 3.0 and higher
if [ ${BASH_VERSINFO[0]} -gt 2 ]; then
	declare -r bash3=$BASH_VERSION 2>/dev/null || :
	bashdefault="-o bashdefault"
	plusdirs="-o plusdirs"
fi

# Turn on extended globbing and programmable completion
shopt -s extglob progcomp

# A lot of the following one-liners were taken directly from the
# completion examples provided with the bash 2.04 source distribution

# Make directory commands see only directories
complete -d pushd

# The following section lists completions that are redefined later
# Do NOT break these over multiple lines.
#
# START exclude -- do NOT remove this line
complete -f -X '!*.?(t)bz?(2)' bunzip2 bzcat bzcmp bzdiff bzegrep bzfgrep bzgrep
complete -f -X '!*.@(zip|ZIP|jar|JAR|exe|EXE|pk3|war|wsz|ear|zargo|xpi|sxw|ott)' unzip zipinfo
complete -f -X '*.Z' compress znew
complete -f -X '!*.@(Z|gz|tgz|Gz|dz)' gunzip zcmp zdiff zcat zegrep zfgrep zgrep zless zmore
complete -f -X '!*.Z' uncompress
complete -f -X '!*.@(gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX)' ee display
complete -f -X '!*.@(gif|jp?(e)g|tif?(f)|png|p[bgp]m|bmp|x[bp]m|rle|rgb|pcx|fits|pm|GIF|JPG|JP?(E)G|TIF?(F)|PNG|P[BGP]M|BMP|X[BP]M|RLE|RGB|PCX|FITS|PM)' xv qiv
complete -f -X '!*.@(@(?(e)ps|?(E)PS|pdf|PDF)?(.gz|.GZ|.bz2|.BZ2|.Z))' gv ggv kghostview
complete -f -X '!*.@(dvi|DVI)?(.@(gz|Z|bz2))' xdvi
complete -f -X '!*.@(dvi|DVI)' dvips dviselect dvitype kdvi dvipdf advi
complete -f -X '!*.@(pdf|PDF)' acroread gpdf xpdf kpdf
complete -f -X '!*.@(@(?(e)ps|?(E)PS)?(.gz|.GZ)|pdf|PDF|dvi|DVI|gif|jp?(e)g|miff|tif?(f)|pn[gm]|p[bgp]m|bmp|xpm|ico|xwd|tga|pcx|GIF|JP?(E)G|MIFF|TIF?(F)|PN[GM]|P[BGP]M|BMP|XPM|ICO|XWD|TGA|PCX)' evince
complete -f -X '!*.@(?(e)ps|?(E)PS)' ps2pdf
complete -f -X '!*.texi*' makeinfo texi2html
complete -f -X '!*.@(?(la)tex|?(LA)TEX|texi|TEXI|dtx|DTX|ins|INS)' tex latex slitex jadetex pdfjadetex pdftex pdflatex texi2dvi
complete -f -X '!*.@(mp3|MP3)' mpg123 mpg321 madplay
complete -f -X '!*.@(mp?(e)g|MP?(E)G|wma|avi|AVI|asf|vob|VOB|bin|dat|vcd|ps|pes|fli|viv|rm|ram|yuv|mov|MOV|qt|QT|wmv|mp3|MP3|ogg|OGG|ogm|OGM|mp4|MP4|wav|WAV|asx|ASX|mng|MNG)' xine aaxine fbxine kaffeine
complete -f -X '!*.@(avi|asf|wmv)' aviplay
complete -f -X '!*.@(rm?(j)|ra?(m)|smi?(l))' realplay
complete -f -X '!*.@(mpg|mpeg|avi|mov|qt)' xanim
complete -f -X '!*.@(ogg|OGG|m3u|flac|spx)' ogg123
complete -f -X '!*.@(mp3|MP3|ogg|OGG|pls|m3u)' gqmpeg freeamp
complete -f -X '!*.fig' xfig
complete -f -X '!*.@(mid?(i)|MID?(I))' playmidi
complete -f -X '!*.@(mid?(i)|MID?(I)|rmi|RMI|rcp|RCP|[gr]36|[GR]36|g18|G18|mod|MOD|xm|XM|it|IT|x3m|X3M)' timidity
complete -f -X '*.@(o|so|so.!(conf)|a|t@(ar?(.@(Z|gz|bz?(2)))|gz|bz?(2))|rpm|zip|ZIP|gif|GIF|jp?(e)g|JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' vi vim gvim rvim view rview rgvim rgview gview
complete -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' emacs
complete -f -X '!*.@(exe|EXE|com|COM|scr|SCR|exe.so)' wine
complete -f -X '!*.@(zip|ZIP|z|Z|gz|GZ|tgz|TGZ)' bzme
complete -f -X '!*.@(?([xX]|[sS])[hH][tT][mM]?([lL]))' netscape mozilla lynx opera galeon curl dillo elinks amaya
complete -f -X '!*.@(sxw|stw|sxg|sgl|doc|dot|rtf|txt|htm|html|odt|ott|odm)' oowriter
complete -f -X '!*.@(sxi|sti|pps|ppt|pot|odp|otp)' ooimpress
complete -f -X '!*.@(sxc|stc|xls|xlw|xlt|csv|ods|ots)' oocalc
complete -f -X '!*.@(sxd|std|sda|sdd|odg|otg)' oodraw
complete -f -X '!*.@(sxm|smf|mml|odf)' oomath
complete -f -X '!*.odb' oobase
complete -f -X '!*.rpm' rpm2cpio
# FINISH exclude -- do not remove this line

# start of section containing compspecs that can be handled within bash

# user commands see only users
complete -u su usermod userdel passwd chage write chfn groups slay w

# group commands see only groups
[ -n "$bash205" ] && complete -g groupmod groupdel newgrp 2>/dev/null

# bg completes with stopped jobs
complete -A stopped -P '%' bg

# other job commands
complete -j -P '%' fg jobs disown

# readonly and unset complete with shell variables
complete -v readonly unset

# set completes with set options
complete -A setopt set

# shopt completes with shopt options
complete -A shopt shopt

# helptopics
complete -A helptopic help

# unalias completes with aliases
complete -a unalias

# bind completes with readline bindings (make this more intelligent)
complete -A binding bind

# type and which complete on commands
complete -c command type which

# builtin completes on builtins
complete -b builtin

# start of section containing completion functions called by other functions

# This function checks whether we have a given program on the system.
# No need for bulky functions in memory if we don't.
#
have()
{
	unset -v have
	PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null &&
		have="yes"
}

# use GNU sed if we have it, since its extensions are still used in our code
#
[ $UNAME != Linux ] && have gsed && alias sed=gsed

# This function checks whether a given readline variable
# is `on'.
#
_rl_enabled() 
{
    [[ "$( bind -v )" = *$1+([[:space:]])on* ]]
}


# This function performs file and directory completion. It's better than
# simply using 'compgen -f', because it honours spaces in filenames.
# If passed -d, it completes only on directories. If passed anything else,
# it's assumed to be a file glob to complete on.
#
_filedir()
{
	local IFS=$'\t\n' xspec #glob

	_expand || return 0

	#glob=$(set +o|grep noglob) # save glob setting.
	#set -f		 # disable pathname expansion (globbing)

	if [ "${1:-}" = -d ]; then
		COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -d -- $cur ) )
		#eval "$glob"    # restore glob setting.
		return 0
	fi

	xspec=${1:+"!*.$1"}	# set only if glob passed in as $1
	COMPREPLY=( ${COMPREPLY[@]:-} $( compgen -f -X "$xspec" -- "$cur" ) \
		    $( compgen -d -- "$cur" ) )
	#eval "$glob"    # restore glob setting.
}

# This function completes on signal names
#
_signals()
{
	local i

	# standard signal completion is rather braindead, so we need
	# to hack around to get what we want here, which is to
	# complete on a dash, followed by the signal name minus
	# the SIG prefix
	COMPREPLY=( $( compgen -A signal SIG${cur#-} ))
	for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do
		COMPREPLY[i]=-${COMPREPLY[i]#SIG}
	done
}

# This function completes on configured network interfaces
#
_configured_interfaces()
{
	if [ -f /etc/debian_version ]; then
		# Debian system
		COMPREPLY=( $( sed -ne 's|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^iface|^i