diff --git a/.config/antibody/zsh_plugins.txt b/.config/antibody/zsh_plugins.txt index 095bebe7..d66785b8 100644 --- a/.config/antibody/zsh_plugins.txt +++ b/.config/antibody/zsh_plugins.txt @@ -7,6 +7,6 @@ zsh-users/zsh-history-substring-search zsh-users/zsh-autosuggestions le0me55i/zsh-extract romkatv/powerlevel10k -# Aloxaf/fzf-tab +Aloxaf/fzf-tab rupa/z diff --git a/.config/htop/htoprc b/.config/htop/htoprc index c0f8e042..cb4a9f35 100644 --- a/.config/htop/htoprc +++ b/.config/htop/htoprc @@ -1,10 +1,9 @@ # Beware! This file is rewritten by htop when settings are changed in the interface. # The parser is also very primitive, and not human-friendly. fields=0 48 17 18 38 39 40 2 46 47 49 1 -sort_key=46 +sort_key=47 sort_direction=1 -tree_sort_key=47 -tree_sort_direction=1 +hide_threads=0 hide_kernel_threads=1 hide_userland_threads=1 shadow_other_users=0 @@ -13,20 +12,12 @@ show_program_path=1 highlight_base_name=1 highlight_megabytes=1 highlight_threads=1 -highlight_changes=0 -highlight_changes_delay_secs=5 -find_comm_in_cmdline=1 -strip_exe_from_cmdline=1 -show_merged_command=0 tree_view=0 -tree_view_always_by_pid=0 header_margin=1 detailed_cpu_time=0 -cpu_count_from_one=1 +cpu_count_from_zero=0 show_cpu_usage=1 show_cpu_frequency=0 -show_cpu_temperature=0 -degree_fahrenheit=0 update_process_names=0 account_guest_in_cpu_meter=0 color_scheme=0 @@ -36,4 +27,3 @@ left_meters=LeftCPUs2 CPU Battery Blank Blank Blank Memory NetworkIO DiskIO left_meter_modes=1 1 1 2 2 2 3 4 4 right_meters=RightCPUs2 Memory Swap Blank Blank Blank LoadAverage Uptime Tasks right_meter_modes=1 1 1 2 2 2 3 4 4 -hide_function_bar=0 diff --git a/.config/imapfilter/config.lua b/.config/imapfilter/config.lua index e086a571..7bfa5669 100644 --- a/.config/imapfilter/config.lua +++ b/.config/imapfilter/config.lua @@ -38,7 +38,6 @@ hotmail = IMAP { } -- Block fucking Aleksandr. LEAVE ME ALONE DUDE - function fuckAleksandr() mailboxes, folders = domain:list_all("/") for _, v in pairs(mailboxes) do @@ -47,6 +46,16 @@ function fuckAleksandr() end end -print("Fuck Aleksandr") +-- Block annoying university advertisement e-mails +function blockUni(blacklist) + mailboxes, folders = domain:list_all("/") + for _, v in pairs(mailboxes) do + for _, u in pairs(blacklist) do + messages = domain[v]:contain_body(u) + messages:delete_messages() + end + end +end + fuckAleksandr {} -print("Done fucking Aleksandr") +blockUni {"Hult", "hult"} diff --git a/.config/mimeapps.list b/.config/mimeapps.list index fe3d88c5..3dcb2508 100644 --- a/.config/mimeapps.list +++ b/.config/mimeapps.list @@ -17,9 +17,14 @@ application/x-shellscript=vim.desktop inode/directory=lf.desktop application/x-gnome-saved-search=lf.desktop application/pdf=zathura.desktop +application/epub=zathura.desktop video/webm=mpv.desktop application/zip=engrampa.desktop x-scheme-handler/tg=userapp-Telegram Desktop-RUP9V0.desktop x-scheme-handler/mailto=neomutt.desktop message/rfc822=userapp-neomutt.desktop application/x-directory=lf.desktop +x-scheme-handler/discord-474605546457137157=discord-474605546457137157.desktop + +[Added Associations] +application/rtf=nvim.desktop; diff --git a/.config/mpDris2/mpDris2.conf b/.config/mpDris2/mpDris2.conf new file mode 100644 index 00000000..ee7b90db --- /dev/null +++ b/.config/mpDris2/mpDris2.conf @@ -0,0 +1,8 @@ +[Connection] +host = 127.0.0.1 +port = 6600 +music_dir = /home/yigit/Music + +[Bling] +notify = False +mmkeys = False diff --git a/.config/mutt/keys.muttrc b/.config/mutt/keys.muttrc index 04023863..fb0ffcba 100644 --- a/.config/mutt/keys.muttrc +++ b/.config/mutt/keys.muttrc @@ -66,3 +66,12 @@ bind index,pager \Co sidebar-open bind index,pager \Cp sidebar-prev-new bind index,pager \Cn sidebar-next-new bind index,pager B sidebar-toggle-visible + +# File attach +macro compose A \ +" lf-ueberzug -selection-path=/tmp/muttattach\ +push W" + +macro compose W \ +"`cat /tmp/muttattach`"\ + diff --git a/.config/vim/plugin/plugins.vim b/.config/vim/plugin/plugins.vim index 7d6f590a..978db79d 100644 --- a/.config/vim/plugin/plugins.vim +++ b/.config/vim/plugin/plugins.vim @@ -5,6 +5,7 @@ Plug 'kaicataldo/material.vim' Plug 'itchyny/lightline.vim' Plug 'mengelbrecht/lightline-bufferline' Plug 'lambdalisue/nerdfont.vim' +Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } } " Addons Plug 'scrooloose/nerdtree' diff --git a/.config/weechat/sec.conf b/.config/weechat/sec.conf index 93e4c872..b5130455 100644 --- a/.config/weechat/sec.conf +++ b/.config/weechat/sec.conf @@ -17,7 +17,7 @@ salt = on [data] __passphrase__ = on -oftc_password = "936C665BADDD99B55848AE19992B3873FBE68A074B1CE52CED6844A3CA3560376116A605980F02C7F9C8ED139044FBDA77090ED6953197" -sec.data.oftc_password = "E03D86B8F0B9601B5EC92FEA1A564671F3CFEBF7B63539878A6BC028FB906790199D450D342F019C493DB31BF6BC59C144270F1C7495FDB6739626B615404CF59FDD" -freenode = "06841832E731EB8D00293CCB6334BD328B117D661E99279ADE699F8331387315C713F852E3C65AB3AF6A3D6A401F05B456CE6032DBF30B8F244799" -rizon_password = "3F6AAECFAA67DBC3636B60B3E05695F354158BB329F90F51320808BF06A3088D6C727CCA642332A96E0DF79CA15176B07B89E38D31F553D72B6D1C1E117F7EBDDFEE" +oftc_password = "6FFD2A3519D4EF0A5D536F3EAD0717147EF2A93A31DC5844ABB53C21D5BFA4F4FDC4B28C6DA9AEA0B054170930E0772524C7624269E448" +sec.data.oftc_password = "110CA4CD81D793862408231A441E72221A58E37AD083F3B3904C36BD8381C9F34B8607CB5236FDF51C6788E452B6C5DDAED582FBFB96A68D025008E43C738613BCFC" +freenode = "F99A5C9A8F4B3503935C8D304FD6306D92ACCA9737BDAC958C28BB84824EAD608171F122641CC75774B99979A506979987AE5E26D4A769D3CFD13B" +rizon_password = "114694D58027869628E47C77A9C4FECBC13AD1A4AE558B161B8ADCF3E027270E4210B61D5D2009BDCB5A127275DFFC15BB4EFF422FF192415EC22D348FB484A455CE" diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 3a8a0427..da3c7217 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -129,6 +129,12 @@ key[Shift-Tab]="${terminfo[kcbt]}" [[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history [[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete +zstyle ':completion:*:git-checkout:*' sort false +zstyle ':completion:*:descriptions' format '[%d]' +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls -1 --color $realpath' +zstyle ':fzf-tab:*' switch-group ',' '.' + # Finally, make sure the terminal is in application mode, when zle is # active. Only then are the values from $terminfo valid. if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then diff --git a/.local/bin/backup b/.local/bin/backup index c75b9017..2b333402 100755 --- a/.local/bin/backup +++ b/.local/bin/backup @@ -15,7 +15,7 @@ alias ssh_cmd="ssh -i \"$SSH_KEY\" $SSH_USER@$SSH_HOST" DEVICE=tatooine OPT="-aPh" SNAP="$RSYNC_PROFILE/$DEVICE/" -date=$(date "+%I:%M-%d.%m.%Y") +date=$(date "+%d.%m.%Y_%I:%M") # You should enter absolute paths DIRS="/home/yigit /etc diff --git a/.local/bin/dmenu-books b/.local/bin/dmenu-books new file mode 100755 index 00000000..4c894972 --- /dev/null +++ b/.local/bin/dmenu-books @@ -0,0 +1,36 @@ +#!/bin/sh + +# This is a small script to open a book from your calibre library +# Using dmenu. + +LIBRARY="$HOME/Library" + +if [ "$(date -r "$XDG_CACHE_HOME/calibrelib" "+%d-%m-%Y")" = "$(date '+%d-%m-%Y')" ]; then + books_raw=$(cat "$XDG_CACHE_HOME/calibrelib") +else + books_raw=$(calibredb --with-library "$LIBRARY" list --for-machine --fields="title,authors,formats") +fi + +id="$(echo "$books_raw" |\ + jq -r '.[]|(.id | tostring) + " | " + .title + " | " + .authors' |\ + dmenu -i -l 12 -p "Search Book: " |\ + cut -d "|" -f 1)" + +entry="$(echo "$books_raw" | jq -a ".[]|select(.id | contains($id))")" + +formats="$(echo "$entry" | \ + jq -r ".formats|.[]" |\ + sed -r "s/.*\.([^\.]*)$/\1/g")" + +if [ "$(echo "$formats" | wc -l)" -lt 2 ]; then + xdg-open "$(echo "$entry" | \ + jq -r ".formats|.[0]")" + exit +fi + +index=$(( $(echo "$formats" | grep -n -F $(echo "$formats" | \ + dmenu -p "Select format:" ) | cut -d ":" -f 1) - 1)) + +xdg-open "$(echo "$entry" | \ + jq -r ".formats|.[$line]")" + diff --git a/.local/bin/dmenu-mconnect b/.local/bin/dmenu-mconnect index 9f91638e..cf9dc57e 100755 --- a/.local/bin/dmenu-mconnect +++ b/.local/bin/dmenu-mconnect @@ -106,16 +106,13 @@ show_menu () { recipient=$(echo '14039199518' | dmenu -i -p "Recipient's phone #") mconnectctl send-sms "$2" "$message" "$recipient" ;; *'Send URL' ) - message=$(echo 'Clipboard' | dmenu -i -p "Enter Url:") + message=$(dmenu -i -p "Enter Url:" < /dev/null) if [ "$message" = "Clipboard" ]; then message=$(sselp) fi mconnectctl share-url "$2" "$message";; *'Send Text' ) - message=$(echo 'Clipboard' | dmenu -i -p "Enter Text:") - if [ "$message" = "Clipboard" ]; then - message=$(sselp) - fi + message=$(dmenu -i -p "Enter Text:" < /dev/null) mconnectctl share-text "$2" "$message";; *'Disconnect' ) mconnectctl disallow-device "$2" diff --git a/.local/bin/nyan.sh b/.local/bin/nyan.sh new file mode 100755 index 00000000..2dfd95bc --- /dev/null +++ b/.local/bin/nyan.sh @@ -0,0 +1,1003 @@ +#!/usr/bin/env bash + +NYAN=('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbmbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmbmb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'mbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbccccccccbbbbbbbbcccccccakkkkkkkkkkkkkkkkkabbbbbbbbbbbbbbbbbbbbbbbbb' +'cccccccccccccccccccccccccakkklllllllllllllkkkabbbbbbbbbbbbbbbbbbbbbbbb' +'cccccccccccccccccccccccccakkllllllhllhlllllkkabbbbbbbbbbbbbbbbbbbbbbbb' +'ccceeeeeeeecccccccceeeeeeakllhllllllllllllllkabbbbbbbbbbbbbbbbbbbbbbbb' +'eeeeeeeeeeeeeeeeeeeeeeeeeakllllllllllaallhllkabaabbbbbbbbbbbbbbbbbbbbb' +'eeeeeeeeeeeeeeeeeeeeeeeeeaklllllllllajjallllkaajjabbbbbbbbbbbbbbbbbbbb' +'eeeffffffffeeeeeeeeaaaaffakllllllhllajjjalllkajjjabbbbbbbbbbbbbbbbbbbb' +'fffffffffffffffffffajjaafaklllllllllajjjjaaaajjjjabbbbbbbbbbbbbbbbbbbb' +'fffffffffffffffffffaajjaaaklllhlllllajjjjjjjjjjjjabbbbbbbbbbbbbbbbbbbb' +'fffddddddddffffffffdaajjaaklllllllhajjjjjjjjjjjjjjabbbbbbbbbbbbbbbbbbb' +'dddddddddddddddddddddaajjaklhllllllajjjmajjjjjmajjabbbbbbbbbbbbbbbbbbb' +'ddddddddddddddddddddddaaaakllllllllajjjaajjjajaajjabbbbbbbbbbbbbbbbbbb' +'dddiiiiiiiiddddddddiiiiiaaklllllhllajnnjjjjjjjjjnnabbbbbbbbbbbbbbbbbbb' +'iiiiiiiiiiiiiiiiiiiiiiiiiakklhlllllajnnjajjajjajnnabbbbbbbbbbbbbbbbbbb' +'iiiiiiiiiiiiiiiiiiiiiiiiiakkklllllllajjjaaaaaaajjabbbbbbbbbbbbbbbbbbbb' +'iiiggggggggmiiiiiiigggggaaakkkkkkkkkkajjjjjjjjjjabbbbbbbbbbbbbbbbbbbbb' +'gggggggggggggggggggggggajjjaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbb' +'gggggggggggggggggggggggajjaabajjabbbbbajjabajjabbbbbbbbbbbbbbbbbbbbbbb' +'gggbbbbbmbbgggmggggbbbbaaaabbaaabbbbbbbaaabbaabbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbm' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmmbmmbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbmbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +'oooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooommommooboboooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooomobbobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'bobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooloaoooooooboaoooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooolaojaooooobaojaooooooooooooooooooo' +'oooooooooooooooooooffffooooooooooooolaoojaooooaoojaooooooooooooooooooo' +'ooooooooooooooooooofaaffoooooooooooolaooojoooaooojaooooooooooooooooooo' +'oooooooooooooooooooojoaffooooooooooolaooooooooooojaooooooooooooooooooo' +'oooooooooooooooooooajjaaooooooooooolaooooooooooooojaoooooooooooooooooo' +'ooooooooooooooooooooajjoooooooooooolaoojmaoooojmaojaoooooooooooooooooo' +'oooooooooooooooooooooaojjoooooooooolaoojoaoojajoaojaoooooooooooooooooo' +'oooooooooooooooooooooooaooooooooooolajonoooooooojonaoooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooolajonjaojaojajonaoooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooolaoojooooooaojaooooooooooooooooooo' +'oooooooooooioooooooooooogooooooooooookaooooooooojaoooooooooooooooooooo' +'ooooooooooooooooooooooogaoooooooooooooooooooooooaooooooooooooooooooooo' +'ooooooooooooooooooooooogaojooooooooooobaojabaojaoooooooooooooooooooooo' +'ooooomoobooooogoooooooobooooobooaoooooobooaoboaaoooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomoob' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooommomommoobbobbooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooommomommoobbobbooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooobooobooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooomooooomoboooooboooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooobooobooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommom' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'ooooooooooooooooooooooooooobbbbbbbbbbbbbbbbbooooooooooooooooooooooooom' +'ccobbbbbbbocccccccobbbbbbbbaaaaaaaaaaaaaaaaabooooooooooooooooooooooooo' +'ooooooooooooooooooooooooocaookkkkkkkkkkkkkooaboooooooooooooooooooooooo' +'ooooooooooooooooooooooooooookoooooloolooookooooooooooooooooooooooooooo' +'eeocccccccoeeeeeeeoccccccookoloooohoohoooookoooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooohoooooooolloloooooobboooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooolaalhooooobaabooooooooooooooooooo' +'ffoeeeeeeeofffffffoeeeeeeoooooooolooooooaloooobaoooooooooooooooooooooo' +'ooooooooooooooooooooffooooooooooohoooooooallkoaooooooooooooooooooooooo' +'oooooooooooooooooooffffoooooooloooooooooooaaaaoooooooooooooooooooooooo' +'ddofffffffodddddddoffffffooooohooololaooooooooooooaboooooooooooooooooo' +'ooooooooooooooooooooddddaooolooooohooooojjooooojjooooooooooooooooooooo' +'oooooooooooooooooooooooaaooohooooooooooomoooojomoooooooooooooooooooooo' +'iiodddddddoiiiiiiioaajjjjooooooolooooojjaaoooaoaajjooooooooooooooooooo' +'oooooooooooooooooooajjjaaoololoohoooooooojoojoojoooooooooooooooooooooo' +'ooooooooooooooooooooaaaaoooolhooooooajnnoojjojjoonnaoooooooooooooooooo' +'ggoiiiiiiiogggggggoiiiiiiokoollllllllajooaaaaaaaojaooooooooooooooooooo' +'oooooooooooooooooooooooogaakkkkkkkkkkkojjjjjjjjjjaoooooooooooooooooooo' +'omoooooooooooooooooooooogaooaoaaoaaaaaaoaaoaoaaoaooooooooooooooooooooo' +'mbmgggggggobbbbbbboggggggojjaoojjaooooooojjaoojjaooooooooooooooooooooo' +'omoooooooooooooooooooooooaaaoooaaaoooooooaaaooaaaooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooomoobooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooomooomoooooobooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooomooooomoobbobobboooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooomooomoooooobooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooomooooomoobbobobboooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooomooomoooooobooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooobooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooomooboooooboooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooobooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooob' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooob' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooomobbob' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooob' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooob' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooaoooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooojjooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooodoooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooaooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooajjoioooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooaaoooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ogooooooooooooooooooooooajoooooooooooooooooooooooooooooooooooooooooooo' +'bogoooooooooooooooooooooajoabajoaboooooajoabajoabooooooooooooooooooooo' +'obooooooooooooooooooooooaoobooaoobooooooaooboaoobooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooomoooooooobooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooomooomoooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooomooooomooboooooboooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooomooomoooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooomoooooooobooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooomooooooooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooboooboooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooomooooomoobooooobooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooboooboooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooomooooooooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooomooooomoobooooobooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooboooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooomooooooooboooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooomomoobooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooomoooooooboooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooboooboooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooomooooomobooooobooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooboooboooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooomoooooooboooooooo' +'bbocccccccobbbbbbboccccccccooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ccoeeeeeeeocccccccoeeeeeeooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooaoloooooooaoboooooooooooooooooooo' +'eeofffffffoeeeeeeeoffffffoooooooooooajoaloooooajoabooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooajooaloooojooabooooooooooooooooooo' +'oooooooooooooooooooaaaaoooooooooooooajoooaooojoooabooooooooooooooooooo' +'ffodddddddofffffffajjjaaaoooooooooooajoooooooooooabooooooooooooooooooo' +'ooooooooooooooooooaajjjjoooooooooooajoooooooooooooaboooooooooooooooooo' +'ooooooooooooooooooooaooaoooooooooooajoomajoooomajoaboooooooooooooooooo' +'ddoiiiiiiiodddddddoiiiiaaooooooooooajooaojooajaojoaboooooooooooooooooo' +'oooooooooooooooooooiiiiiiooooooooooajnojoooooooonoaboooooooooooooooooo' +'oooooooooooooooooooiiiiooooooooooooajnojajoajoajnoaboooooooooooooooooo' +'iiogggggggoiiiiiiiogggggaoooooooooooajooaoooooojoabooooooooooooooooooo' +'oooooooooooooooooooooooaaooooooooooooajoooooooooaboooooooooooooooooooo' +'ooooooooooooooooooooooajjoaooooooooooooooooooooobooooooooooooooooooooo' +'ggobbbbbbbogggggggobbbajjabojjabbooooajjabojjabboooooooooooooooooooooo' +'ooooooooooooooooooooooaaobboaaobboooooaaobbaaobboooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooboooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooboooboooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooommomommoobooooobooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooboooboooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooboooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooomooboooooboooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooomooboooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooommommooboboooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooboooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooomoobooooobooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooboooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooaaooooooooaaooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooajjaooooooajjaoooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooojaooooojooooooooooooooooooooooo' +'ooooooooooooooooooooaaoooooooooooooooooojaaaajoooooooooooooooooooooooo' +'oooooooooooooooooooojjooooooooooooooooooojjjjooooooooooooooooooooooooo' +'oooooooooooooooooofaoooooooooooooooajoooooooooooojaooooooooooooooooooo' +'ooooooooooooooooooddaooojoooooooooooooomaooooomaoooooooooooooooooooooo' +'oooooooooooooooooooodoojoooooooooooooooaooooaoaooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooonnjjooojojjnnoooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooaooaooaooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooolajjooaaoaaoojabooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooolaoojjjjjjjoabooooooooooooooooooom' +'oooooooooooooooooooooooojooooooooooookaaaaaaaaaaboooooooooooooooooooom' +'oooooooooooooooooooooooooooooooooooooooooooojobboooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommom' +'oooooooooooooooooooooooooooaoobooooooaoobooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooommommoobbobobboooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'omomoobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'mooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'omoobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'mooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooommomommoobbobbooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooobooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooomoooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomomooboooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooomoooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaoooooooooooooooooooooooooo' +'ccobbbbbbbocccccccobbbbbbbakkkkkkkkkkkkkkkkkaooooooooooooooooooooooooo' +'oooooooooooooooooooooooooakoolllllllllllllookaoooooooooooooooooooooooo' +'oooooooooooooooooooooooooooolooooohoohoooolooooooooooooooooooooooooooo' +'eeocccccccoeeeeeeeoccccccoolohoooolooloooooloooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooolooooooooooohoooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooloooooooooooooooooooooooooooo' +'ffoeeeeeeeofffffffoaaaaeeoooooooohoooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooajjaaoooooooooloooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooaojaaooooohooooooooooooooooooooooooooooooooooooooo' +'ddofffffffodddddddofaajjoooooolooohooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooodaaooooohooooolooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooodoaaooolooooooooooooooooooooooooooooooooooooooooo' +'iiodddddddoiiiiiiiodddddoooooooohooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooookohoolooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooookloooooooooooooooooooooooooooooooooooooooo' +'ggoiiiiiiiogggggggoiiiiiooaookkkkkkkkoooooooooooooooooooooooomooooooob' +'ooooooooooooooooooooooooojjaaaaaaaaaaaooooooooooooooooooooomooomooooob' +'oooooooooooooooooooooogaoooobojjobbbbbojjoboojaooooooooooooooooooooooo' +'bbogggggggobbbbbbboggggaaoabbaoaooooobbaoabbaooooooooooooomooooomobbob' +'oooooooooooooooooooooobbboobbbooooooobbbooobbboooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooob' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooob' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooomomoobbobbooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooomooooobooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooomooomoooooobooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooomooooomoobbobobboooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooomooomoooooobooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooomoooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooomoooooboooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooommommoobobooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooomoooooboooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooomoooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooloaoooooooboaoooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooolaojaooooobaojaooooooooooooooooooo' +'oooooooooooooooooooeeeeooooooooooooolaoojaooooaoojaooooooooooooooooooo' +'ooooooooooooooooooofaaffoooooooooooolaooojoooaooojaooooooooooooooooooo' +'oooooooooooooooooooojoaffooooooooooolaooooooooooojaooooooooooooooooooo' +'oooooooooooooooooooajjaaooooooooooolaooooooooooooojaoooooooooooooooooo' +'ooooooooooooooooooooajjoooooooooooolaoojmaoooojmaojaoooooooooooooooooo' +'oooooooooooooooooooooaojjoooooooooolaoojoaoojajoaojaoooooooooooooooooo' +'oooooooooooooooooooooooaooooooooooolajonoooooooojonaoooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooolajonjaojaojajonaoooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooolaoojooooooaojaooooooooooooooooooo' +'ooooooooooooooooooooooooiooooooooooookaooooooooojaooomoooooooboooooooo' +'ooooooooooooooooooooooogaoooooooooooooooooooooooaooooooooooboooboooooo' +'ooooooooooooooooooooooogaojooooooooooobaojabaojaoooooooooooooooooooooo' +'ooooooooooooooooooooooogooooobooaoooooobooaoboaaoomooooomobooooobooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooboooboooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooomoooooooboooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooomooboboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooobooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooomooooooooboooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooboooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooomooooomoobooooobooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooboooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooomooooooooboooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooomoooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooomoooooooboooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooboooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooommomommoobbobboooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooboooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooomoooooooboooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooobbmbbbbbbbbbbbbbboooooooooooooooooooooooooo' +'bbocccccccobbbbbbboccccccccaaaaaaaaaaaaaaaaabooooooooooooooooooooooooo' +'ooooooooooooooooooooooooocaookkkkkkkkkkkkkooaboooooooooooooooooooooooo' +'ooooooooooooooooooooooooooookoooooloolooookooooooooooooooooooooooooooo' +'ccoeeeeeeeocccccccoeeeeeeookoloooohoohoooookoooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooohoooooooolloloooooobboooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooolaalhooooobaabooooooooooooooooooo' +'eeofffffffoeeeeeeeoffffffoooooooolooooooaloooobaoooooooooooooooooooooo' +'ooooooooooooooooooooffooooooooooohoooooooallkoaooooooooooooooooooooooo' +'oooooooooooooooooooffffoooooooloooooooooooaaaaoooooooooooooooooooooooo' +'ffodddddddofffffffoddddddooooohooololaooooooooooooaboooooooooooooooooo' +'ooooooooooooooooooooddddaooolooooohooooojjooooojjooooooooooooooooooooo' +'oooooooooooooooooooooooaaooohooooooooooomoooojomoooooooooooooooooooooo' +'ddoiiiiiiiodddddddoaajjjjooooooolooooojjaaoooaoaajjooooooooooooooooooo' +'oooooooooooooooooooajjjaaoololoohoooooooojoojoojoooooooooooooooooooooo' +'ooooooooooooooooooooaaaaoooolhooooooajnnoojjojjoonnaoooooooooooooooooo' +'iiogggggggoiiiiiiioggggggokoollllllllajooaaaaaaaojaooboooooooooooooooo' +'oooooooooooooooooooooooogaakkkkkkkkkkkojjjjjjjjjjaoooooooooooooooooooo' +'oooooooooooooooooooooooogaooaoaaoaaaaaaoaaoaoaaoaooooooooooooooooooooo' +'ggobbbbbbbogggggggobbbbbbojjaoojjaooooooojjamojjaobooooobooooooooooooo' +'oooooooooooooooooooooooooaaaoooaaaoooooooaaaooaaaooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooboooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooomooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooomooooomoobooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooomooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooomobbo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooomobbobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooomooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooomooboooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooomooooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooomooomooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooomooooomoobbobobbooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooomooomooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooomooooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooaoooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooojjooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooioooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooaooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooajjoioooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooaaoooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooajoooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooajoabajoabommomajoabajoabooooooooooooooooooooo' +'ooooooooooooooooooooooooaoobooaoobooomooaooboaoobooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooomoooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooomooooooobooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooomooomooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooomooooomoboooooboooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooomooomooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooomooooooobooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooobooobooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooomooooomoboooooboooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooobooobooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooomooooomoboooooboooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooobooobooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooomooooooobooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'mooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'omoobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'mooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooobooobooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooomooooomooboooooboooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooobooobooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooooooooooo' +'ccobbbbbbbocccccccobbbbbbbbooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'eeocccccccoeeeeeeeoccccccooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooaoloooooooaoboooooooooooooooooooo' +'ffoeeeeeeeofffffffoeeeeeeoooooooooooajoaloooooajoabooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooajooaloooojooabooooooooooooooooooo' +'oooooooooooooooooooaaaaoooooooooooooajoooaooojoooabooooooooooooooooooo' +'ddofffffffodddddddajjjaaaoooooooooooajoooooooooooabooooooooooooooooooo' +'ooooooooooooooooooaajjjjoooooooooooajoooooooooooooaboooooooooooooooooo' +'ooooooooooooooooooooaooaoooooooooooajoomajoooomajoaboooooooooooooooooo' +'iiodddddddoiiiiiiioddddaaooooooooooajooaojooajaojoaboooooooooooooooooo' +'oooooooooooooooooooiiiiiiooooooooooajnojoooooooonoaboooooooooooooooooo' +'oooooooooooooooooooiiiiooooooooooooajnojajoajoajnoaboooooooooooooooooo' +'ggoiiiiiiiogggggggoiiiiiaoooooooooooajooaoooooojoabooooooooooooooooooo' +'oooooooooooooooooooooooaaooooooooooooajoooooooooaboooooooooooooooooooo' +'ooooooooooooooooooooooajjoaooooooooooooooooooooobooooooooooooooooooooo' +'bbogggggggobbbbbbbogggajjamojjammoobbajjabojjabboooooooooooooooooooooo' +'ooooooooooooooooooooooaaobboaaobboooobaaobbaaobboooooooooooooooooooooo' +'ooooooooooooooooooooooooooooomoooooooboooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooomoooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooobooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'momommoboooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooobooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oomooooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooobooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooomooboooooboooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooobooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooomooboooooboooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooobooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'booooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooomoobooooobooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooboooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooaaooooooooaaooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooajjaooooooajjaoooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooojaooooojooooooooooooooooooooooo' +'ooooooooooooooooooooaaoooooooooooooooooojaaaajoooooooooooooooooooooooo' +'oooooooooooooooooooojjooooooooooooooooooojjjjooooooooooooooooooooooooo' +'oooooooooooooooooofaoooooooooooooooajoooooooooooojaooooooooooooooooooo' +'ooooooooooooooooooddaooojoooooooooooooomaooooomaoooooooooooooooooooooo' +'oooooooooooooooooooodoojoooooooooooooooaooooaoaooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooonnjjooojojjnnoooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooaooaooaooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooolajjooaaoaaoojabooooooooooooooooooo' +'oooooooooooooooooooomooooooooooooooolaoojjjjjjjoaboooooooooooooooooooo' +'oooooooooooooooooomooomojooooooooooookaaaaaaaaaabooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooojobboooooooooooooooooooooo' +'ooooooooooooooooomooooooooboooobbooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooaoobooooooaoobooooooooooooooooooooooooooooo' +'oooooooooooooooooomooomooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooomooooooooboooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ombooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'booobboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ombooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oobooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooomomoobooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooomomoobooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'omoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'momooboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'omoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooaaaaaaaaaaaaaaaaaoooooooooooooooooooooooooo' +'bbocccccccobbbbbbbocccccccakkkkkkkkkkkkkkkkkaooooooooooooooooooooooooo' +'oooooooooooooooooooooooooakoolllllllllllllookaoooooooooooooooooooooooo' +'oooooooooooooooooooooooooooolooooohoohoooolooooooooooooooooooooooooooo' +'ccoeeeeeeeocccccccoeeeeeeoolohoooolooloooooloooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooooolooooooooooohoooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooloooooooooooooooooooooooooooo' +'eeofffffffoeeeeeeeoaaaaffoooooooohoooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooajjaaoooooooooloooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooaojaaooooohooooooooooooooooooooooooooooooooooooooo' +'ffodddddddofffffffodaajjoooooolooohooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooodaaooooohooooolooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooodoaaooolooooooooooooooooooooooooooooooooooooooooo' +'ddoiiiiiiiodddddddoiiiiioooooooohooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooookohoolooooooooooooooooooooooooooooooooooooo' +'ooooooooooooooooooooooooooookloooooooooooooooooooooooooooooooooooooooo' +'iiogggggggomiiiiiiogggggooaookkkkkkkkooooooooooooooooooooooooooooooooo' +'oooooooooooooooooogooogoojjaaaaaaaaaaaoooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooogaoooobojjobbbbbojjoboojaooooooooooooooooooooooo' +'ggobbbbbmbogggmgggobbbbaaoabbaoaooooobbaoabbaooooooooooooooooooooooooo' +'oooooooooooooooooooooobbboobbbooooooobbbooobbboooooooooooooooooooooooo' +'oooooooooooooooooobooobooooooooooooooooooooooooooooooooooooooooooooooo' +'ooooooooooomoooooooobooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'ooboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooom' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oboooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooommommooboboooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooomooooobooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooomooooooooooooooooooooooooooooooo' +'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo') + +declare -A COL +COL=([a]=16 [b]=24 [c]=196 [d]=82 [e]=208 [f]=226 [g]=63 [h]=200 [i]=33 [j]=246 [k]=222 [l]=213 [m]=231 [n]=210 [o]=-1) + +declare -A PALETTE +PALETTE=([16]="0000/0000/0000" +[24]="0000/3333/6666" +[196]="FFFF/0000/0000" +[82]="3333/FFFF/0000" +[208]="FFFF/9999/0000" +[226]="FFFF/FFFF/0000" +[63]="6666/3333/FFFF" +[200]="FFFF/3333/9999" +[33]="0000/9999/FFFF" +[246]="9999/9999/9999" +[222]="FFFF/CCCC/9999" +[213]="FFFF/9999/FFFF" +[231]="FFFF/FFFF/FFFF" +[210]="FFFF/9999/9999") + +for color in ${COL[@]}; do + echo -en "\033]4;$color;rgb:${PALETTE[$color]}\033\\" +done + + +PIXEL=" " +SAVECURSOR=$'\0337' +HIDECURSOR=$'\033[?25l' +RESTORECURSOR=$'\0338\033[?12;25h' +QUERYCURSOR=$'\033[6n' + +LINES=$(tput lines) +COLUMNS=$(tput cols) +YOFFSET=$(((70-LINES)/2)) +YOFFSET=$[ $YOFFSET > 0 ? $YOFFSET+1 : 0 ] +WIDTH=$((COLUMNS / 70 )) +for ((i=0; i&2 +read -s -dR POS +stty echo icanon + +CURSORHOME=$((${POS:2:${#POS}-4} - y)) +echo -n $SAVECURSOR + +for ((f=1; f<=12; f++)); do + for ((y=YOFFSET; y<70-YOFFSET; y++)); do + stride=$((y+f*70)) + for ((x=0; x<70; x++)); do + pixel=${NYAN[stride]:x:1} + if [[ $pixel == o ]]; then + continue + else + echo -en "\033[0$((CURSORHOME+y));$((x*WIDTH+1))H\033[0;48;5;${COL[${pixel}]}m$CHAR\033[0m" >> $CACHE/frame_${f} + fi + oldx=$x; oldy=$y + done + done +done +echo -n $RESTORECURSOR + +while true; do + for ((f=1; f<=12; f++)); do + cat $CACHE/frame_${f} + sleep 0.06 + done +done diff --git a/.local/bin/roll.sh b/.local/bin/roll.sh new file mode 100755 index 00000000..9603e19d --- /dev/null +++ b/.local/bin/roll.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# Rick Astley in your Terminal. +# By Serene Han and Justine Tunney <3 +version='1.1' +rick='http://keroserene.net/lol' +video="$rick/astley80.full.bz2" +# TODO: I'll let someone with mac or windows machine send a pull request +# to get gsm going again :) +audio_gsm="$rick/roll.gsm" +audio_raw="$rick/roll.s16" +audpid=0 +NEVER_GONNA='curl -s -L http://bit.ly/10hA8iC | bash' +MAKE_YOU_CRY="$HOME/.bashrc" +red='\x1b[38;5;9m' +yell='\x1b[38;5;216m' +green='\x1b[38;5;10m' +purp='\x1b[38;5;171m' +echo -en '\x1b[s' # Save cursor. + +has?() { hash $1 2>/dev/null; } +cleanup() { (( audpid > 1 )) && kill $audpid 2>/dev/null; } +quit() { echo -e "\x1b[2J \x1b[0H ${purp}<3 \x1b[?25h \x1b[u \x1b[m"; } + +usage () { + echo -en "${green}Rick Astley performs ♪ Never Gonna Give You Up ♪ on STDOUT." + echo -e " ${purp}[v$version]" + echo -e "${yell}Usage: ./astley.sh [OPTIONS...]" + echo -e "${purp}OPTIONS : ${yell}" + echo -e " help - Show this message." + echo -e " inject - Append to ${purp}${USER}${yell}'s bashrc. (Recommended :D)" +} +for arg in "$@"; do + if [[ "$arg" == "help"* || "$arg" == "-h"* || "$arg" == "--h"* ]]; then + usage && exit + elif [[ "$arg" == "inject" ]]; then + echo -en "${red}[Inject] " + echo $NEVER_GONNA >> $MAKE_YOU_CRY + echo -e "${green}Appended to $MAKE_YOU_CRY. <3" + echo -en "${yell}If you've astley overdosed, " + echo -e "delete the line ${purp}\"$NEVER_GONNA\"${yell}." + exit + else + echo -e "${red}Unrecognized option: \"$arg\"" + usage && exit + fi +done +trap "cleanup" INT +trap "quit" EXIT + +# Bean streamin' - agnostic to curl or wget availability. +obtainium() { + if has? curl; then curl -s $1 + elif has? wget; then wget -q -O - $1 + else echo "Cannot has internets. :(" && exit + fi +} +echo -en "\x1b[?25l \x1b[2J \x1b[H" # Hide cursor, clear screen. + +#echo -e "${yell}Fetching audio..." +if has? afplay; then + # On Mac OS, if |afplay| available, pre-fetch compressed audio. + [ -f /tmp/roll.s16 ] || obtainium $audio_raw >/tmp/roll.s16 + afplay /tmp/roll.s16 & +elif has? aplay; then + # On Linux, if |aplay| available, stream raw sound. + obtainium $audio_raw | aplay -Dplug:default -q -f S16_LE -r 8000 & +elif has? play; then + # On Cygwin, if |play| is available (via sox), pre-fetch compressed audio. + obtainium $audio_gsm >/tmp/roll.gsm.wav + play -q /tmp/roll.gsm.wav & +fi +audpid=$! + +#echo -e "${yell}Fetching video..." +# Sync FPS to reality as best as possible. Mac's freebsd version of date cannot +# has nanoseconds so inject python. :/ +python <(cat < 0.0: + time.sleep(repose) + next_frame = elapsed / time_per_frame + if frame >= next_frame: + buf += line +except KeyboardInterrupt: + pass +EOF +) < <(obtainium $video | bunzip2 -q 2> /dev/null) diff --git a/.local/bin/status-bar/battery b/.local/bin/status-bar/battery index 68b07ebe..15fac50e 100755 --- a/.local/bin/status-bar/battery +++ b/.local/bin/status-bar/battery @@ -23,24 +23,24 @@ else if [[ $plugged == "1" ]]; then echo "^c#ebcb8b^$ac_bat^d^ $bat%" elif [[ $bat -lt 10 ]]; then - echo "^c#ebcb8b^$ramp10^d^ $bat% " + echo "^c#ebcb8b^$ramp10^d^ $bat%" elif [[ $bat -lt 20 ]]; then - echo "^c#ebcb8b^$ramp20^d^ $bat% " + echo "^c#ebcb8b^$ramp20^d^ $bat%" elif [[ $bat -lt "30" ]]; then - echo "^c#ebcb8b^$ramp30^d^ $bat% " + echo "^c#ebcb8b^$ramp30^d^ $bat%" elif [[ $bat -lt "40" ]]; then - echo "^c#ebcb8b^$ramp40^d^ $bat% " + echo "^c#ebcb8b^$ramp40^d^ $bat%" elif [[ $bat -lt "50" ]]; then - echo "^c#ebcb8b^$ramp50^d^ $bat% " + echo "^c#ebcb8b^$ramp50^d^ $bat%" elif [[ $bat -lt "60" ]]; then - echo "^c#ebcb8b^$ramp60^d^ $bat% " + echo "^c#ebcb8b^$ramp60^d^ $bat%" elif [[ $bat -lt "70" ]]; then - echo "^c#ebcb8b^$ramp70^d^ $bat% " + echo "^c#ebcb8b^$ramp70^d^ $bat%" elif [[ $bat -lt "80" ]]; then - echo "^c#ebcb8b^$ramp80^d^ $bat% " + echo "^c#ebcb8b^$ramp80^d^ $bat%" elif [[ $bat -lt "90" ]]; then - echo "^c#ebcb8b^$ramp90^d^ $bat% " + echo "^c#ebcb8b^$ramp90^d^ $bat%" elif [[ $bat -le "100" ]]; then - echo "^c#ebcb8b^$ramp100^d^ $bat% " + echo "^c#ebcb8b^$ramp100^d^ $bat%" fi fi diff --git a/.local/bin/synccontacts b/.local/bin/synccontacts new file mode 100755 index 00000000..6a3e1433 --- /dev/null +++ b/.local/bin/synccontacts @@ -0,0 +1,20 @@ +#!/bin/bash + +tmpfile=$(mktemp) +destfile=$(mktemp) + +wget -q 'https://drive.yigitcolakoglu.com/remote.php/dav/addressbooks/users/yigitcolakoglu/contacts/?export' \ + --user yigitcolakoglu \ + --password "$(pass show Server/drive.yigitcolakoglu.com/yigitcolakoglu)" \ + -O $tmpfile + +abook --convert \ + --informat vcard \ + --infile $tmpfile \ + --outformat abook \ + --outfile $destfile + +rm $tmpfile +chmod 600 $destfile +sed 's/([0-9]) ([0-9])/\1\2/g' $destfile +mv $destfile "$XDG_DATA_HOME"/abook/addressbook diff --git a/.local/share/applications/nvim.desktop b/.local/share/applications/nvim.desktop new file mode 100644 index 00000000..f155a951 --- /dev/null +++ b/.local/share/applications/nvim.desktop @@ -0,0 +1,15 @@ +# The vim.desktop file is generated by src/po/Makefile, do NOT edit. +# Edit the src/po/vim.desktop.in file instead. +[Desktop Entry] +Name=NVim +GenericName=Text Editor +Comment=Edit text files +TryExec=nvim +Exec=st -c vim -e nvim %F +Terminal=false +Type=Application +Keywords=Text;editor; +Icon=nvim +Categories=Utility;TextEditor; +StartupNotify=false +MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/.local/share/applications/vim.desktop b/.local/share/applications/vim.desktop index 27c11d90..a7396f6e 100644 --- a/.local/share/applications/vim.desktop +++ b/.local/share/applications/vim.desktop @@ -4,12 +4,12 @@ Name=Vim GenericName=Text Editor Comment=Edit text files -TryExec=nvim -Exec=st -c vim -e nvim %F +TryExec=vim +Exec=st -c vim -e vim %F Terminal=false Type=Application Keywords=Text;editor; -Icon=nvim +Icon=vim Categories=Utility;TextEditor; StartupNotify=false MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; diff --git a/.local/share/dwm/autostart.sh b/.local/share/dwm/autostart.sh index 10177957..094d48fd 100755 --- a/.local/share/dwm/autostart.sh +++ b/.local/share/dwm/autostart.sh @@ -27,7 +27,7 @@ if [ "$ACTIVITYWATCHER" = true ] ; then aw-watcher-afk & fi mpd -mpd-mpris & +mpDris2 & touch ~/.cache/nextcloud-track xss-lock -- slock & picom --no-fading-openclose & diff --git a/.local/share/startpage/src/raisin/raisin.pug b/.local/share/startpage/src/raisin/raisin.pug index fe5f8c44..decf4ccc 100644 --- a/.local/share/startpage/src/raisin/raisin.pug +++ b/.local/share/startpage/src/raisin/raisin.pug @@ -2,15 +2,15 @@ - var dev = { - 'regex101': 'regex101.com', - 'codewars': 'codewars.com', + 'regex101': 'regex101.com', + 'codewars': 'codewars.com', 'dev.to': 'dev.to', - 'css tricks': 'css-tricks.com' + 'ycombinator': 'news.ycombinator.com' } var hack = { - 'hackerone': 'hackerone.com', - 'bugcrowd': 'bugcrowd.com', + 'hackerone': 'hackerone.com', + 'bugcrowd': 'bugcrowd.com', 'hackthebox': 'hackthebox.eu', 'intigriti': 'intigriti.com' } @@ -39,7 +39,7 @@ mixin raisin(title, data) raisin - raisin-header + raisin-header p.raisin-title #{title} raisin-links each val, key in data diff --git a/.local/src/dwm/keybinds.h b/.local/src/dwm/keybinds.h index ba486988..e841c96e 100644 --- a/.local/src/dwm/keybinds.h +++ b/.local/src/dwm/keybinds.h @@ -63,6 +63,7 @@ static const char *genpwd[] = {"/home/yigit/.local/bin/genpwd", NULL}; static const char *trackpad[] = {"/home/yigit/.local/bin/toggle_touchpad.sh"}; static const char *bluetooth[] = {"/home/yigit/.local/bin/dmenu-bluetooth", NULL}; static const char *url[] = {"/home/yigit/.local/bin/dmenu_surf", NULL}; +static const char *readbook[] = {"/home/yigit/.local/bin/dmenu-books", NULL}; static const char *edit[] = {"/home/yigit/.local/bin/dmenu-edit", NULL}; static const char *surf[] = {"/home/yigit/.local/bin/tabbed_surf", NULL}; static const char *google[] = {"/home/yigit/.local/bin/menu-surfraw", "google", NULL}; @@ -140,6 +141,7 @@ static Key keys[] = { { MODKEY|ShiftMask, XK_e, spawn, {.v = simcrop } }, { MODKEY, XK_e, spawn, {.v = edit} }, { MODKEY, XK_u, spawn, {.v = url} }, + { MODKEY, XK_r, spawn, {.v = readbook} }, { MODKEY|ShiftMask, XK_w, spawn, {.v = wallabag} }, { MODKEY, XK_w, spawn, {.v = wiki} }, { MODKEY, XK_g, spawn, {.v = google} },