kxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKXKXKXKkxkxkxkkxkxkkxkxkxkxkxkKXKXKXKKXKXKKXKXKXKXKKXKXKXKkxkxkxkxkkxkxkxkxkkxkxkxxxxkxkxkkkkkXKXKKXKXKKX