Untitled
unknown
plain_text
a year ago
40 kB
17
Indexable
import java.util.Scanner; class Solution { private static Scanner sc; private static UserSolution usersolution = new UserSolution(); private final static int MAX_PICTURE_SIZE = 1000; private final static int MAX_PIECE_SIZE = 100; private final static int MAXN = 1500; private static int mSeed; private static int pseudo_rand() { mSeed = mSeed * 431345 + 2531999; return mSeed & 0x7FFFFFFF; } private static char mergedPicture[][] = new char[MAX_PICTURE_SIZE][MAX_PICTURE_SIZE]; private static char ret[][] = new char[MAX_PICTURE_SIZE][MAX_PICTURE_SIZE]; private static char scrap[][][] = new char[MAXN][MAX_PIECE_SIZE][MAX_PIECE_SIZE]; private static int scrapIdx[][] = new int[MAX_PICTURE_SIZE][MAX_PICTURE_SIZE]; private static int seed, N, M, K; private static int flag; private static int PASS; private static int FAIL = 0; private static boolean used[] = new boolean[MAXN]; private static int dx[] = { 1, 0, -1, 0 }; private static int dy[] = { 0, 1, 0, -1 }; public static boolean setPicture(int id, int x, int y) { if (id < 1 || id > N - 1) return false; if (x < 0 || y < 0 || x > K - M || y > K - M) return false; if (used[id] == true) return false; boolean isMatch = false; for (int k = 0; k < 4 && !isMatch; k++) { for (int i = 1; i <= M - 2; i++) { int nx = x + dx[k] * i; int ny = y + dy[k] * i; if (nx < 0 || ny < 0 || nx > K - M || ny > K - M) break; if (scrapIdx[ny][nx] != -1) { isMatch = true; break; } } } if (!isMatch) return false; for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { if (ret[y + i][x + j] != 0 && ret[y + i][x + j] != scrap[id][i][j]) return false; } } for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { ret[y + i][x + j] = scrap[id][i][j]; } } scrapIdx[y][x] = id; used[id] = true; return true; } private static void makePicture(int size, int seed) { mSeed = seed; for (int i = 0; i < size; i++) for (int j = 0; j < size; j++) mergedPicture[i][j] = (char) (pseudo_rand() % 15 + 1); } private static int run() { flag = sc.nextInt(); N = sc.nextInt(); K = sc.nextInt(); M = sc.nextInt(); if (flag == 1) { for (int i = 0; i < K; i++) { for (int j = 0; j < K; j++) { mergedPicture[i][j] = (char) sc.nextInt(); } } } else { seed = sc.nextInt(); makePicture(K, seed); } for (int i = 0; i < MAXN; i++) used[i] = false; for (int i = 0; i < MAX_PICTURE_SIZE; i++) { for (int j = 0; j < MAX_PICTURE_SIZE; j++) { ret[i][j] = 0; scrapIdx[i][j] = -1; } } int y, x; for (int i = 0; i < N; i++) { y = sc.nextInt(); x = sc.nextInt(); for (int j = 0; j < M; j++) for (int k = 0; k < M; k++) scrap[i][j][k] = mergedPicture[y + j][x + k]; } scrapIdx[0][0] = 0; for (int i = 0; i < M; i++) { for (int j = 0; j < M; j++) { ret[i][j] = mergedPicture[i][j]; } } usersolution.mergePictures(N, M, K, scrap); for (int i = 0; i < K; i++) for (int j = 0; j < K; j++) if (ret[i][j] != mergedPicture[i][j]) return FAIL; return PASS; } public static void main(String[] args) throws Exception { System.setIn(new java.io.FileInputStream("C:/Users/hoang.dung2/workspace/SW PRO/src/H2004/input.txt")); sc = new Scanner(System.in); int TC = sc.nextInt(); PASS = sc.nextInt(); for (int tc = 1; tc <= TC; tc++) { System.out.println("#" + tc + " " + run()); } sc.close(); } } //============================================== import java.util.*; class UserSolution { private static int VALUE_HASH = 10;// so de gia tri key han che trung nhau nhat, thường sẽ chọn số nguyên tố private static int MIN_SIZE = 10;// so o lay gia tri key, 5,6,7,... Map<Integer, List<Node>> mapRow = new HashMap<Integer, List<Node>>(); Map<Integer, List<Node>> mapCol = new HashMap<Integer, List<Node>>(); Queue<Pieces> queue = new ArrayDeque<Pieces>(); int top, right, bottom, left; void mergePictures(int N, int M, int K, char pictures[][][]) { mapRow.clear(); mapCol.clear(); queue.clear(); for (int i = 0; i < N; i++) { top = left = right = bottom = 0; for (int j = 0; j < MIN_SIZE; j++) { top = top * VALUE_HASH + pictures[i][0][j];//i: tranh ith, bottom = bottom * VALUE_HASH + pictures[i][M - 1][j]; left = left * VALUE_HASH + pictures[i][j][0]; right = right * VALUE_HASH + pictures[i][j][M - 1]; } // them vao hash List<Node> topL = mapRow.getOrDefault(top,new ArrayList<Node>()); topL.add(new Node(i, 0)); List<Node> bottomL = mapRow.getOrDefault(bottom,new ArrayList<Node>()); bottomL.add(new Node(i, M - 1)); List<Node> leftL = mapCol.getOrDefault(left,new ArrayList<Node>()); leftL.add(new Node(i, 0)); List<Node> rightL = mapCol.getOrDefault(right,new ArrayList<Node>()); rightL.add(new Node(i, M - 1)); mapRow.put(top, topL); mapRow.put(bottom, bottomL); mapCol.put(left, leftL); mapCol.put(right, rightL); } queue.add(new Pieces(0, 0, 0)); // manh ghep dau tien bai cho //BFS while (!queue.isEmpty()) { Pieces curr = queue.poll(); int x, y; // theo row for (x = 1; x < M - 1; x++) { int row = 0; for (y = 0; y < MIN_SIZE; y++) { row = row * VALUE_HASH + pictures[curr.id][x][y]; } List<Node> rowL = mapRow.get(row); if (rowL == null) continue; for (Node node : rowL) { if (Solution.setPicture(node.id, curr.x, curr.y + x - node.coor)) { // xet theo row nen truc hoanh x nhu nhau, y = curr.y + x - node.coor queue.add(new Pieces(node.id, curr.x, curr.y + x - node.coor)); break; } } } // theo col for (x = 1; x < M - 1; x++) { int col = 0; for (y = 0; y < MIN_SIZE; y++) { col = col * VALUE_HASH + pictures[curr.id][y][x]; } List<Node> colL = mapCol.get(col); if (colL == null) continue; for (Node node : colL) { if (Solution.setPicture(node.id, curr.x + x - node.coor, curr.y)) { queue.add(new Pieces(node.id, curr.x + x - node.coor, curr.y)); break; } } } } } class Pieces { int id, x, y; //id: id manh //x y toa do diem dau tien manh public Pieces(int id, int x, int y) { this.id = id; this.x = x; this.y = y; } } class Node { int id, coor; // coor: chieu dai cua manh ghep public Node(int id, int coor) { this.id = id; this.coor = coor; } } } //===================================== class UserSolution2 { // Main API : // Solution.setPicture(int id, int x, int y) private final static int MAX_PICTURE_SIZE = 1000; private final static int MAX_PIECE_SIZE = 100; private final static int MAXN = 1500; public static final int UP = 0; public static final int RIGHT = 1; public static final int DOWN = 2; public static final int LEFT = 3; public static int[][][] pics = new int[MAXN][MAX_PIECE_SIZE][MAX_PIECE_SIZE]; public static int[][][] result = new int[MAXN][MAX_PIECE_SIZE][MAX_PIECE_SIZE]; public static Piece[][] isMerge; public static Piece[] picture; void mergePictures(int N, int M, int K, char pictures[][][]) { picture = new Piece[N]; isMerge = new Piece[N][4]; picture[0] = new Piece(0, 0, 0); isMerge[0][UP] = new Piece(-1, -1, -1); isMerge[0][LEFT] = new Piece(-1, -1, -1); for (int i = 0; i < N; i++) { for (int j = 0; j < M; j++) { for (int k = 0; k < M; k++) { pics[i][j][k] = (int) pictures[i][j][k]; } } } // for (int i = 0; i < N; i++) { // for (int j = 0; j < M; j++) { // for (int k = 0; k < M; k++) { // System.out.print(pics[i][j][k] + " "); // } // System.out.println(); // } // System.out.println("------------"); // } boolean stop = false; for (int i = 0; i < N - 1; i++) { // check ngang for (int r = 0; r < M; r++) { for (int j = i + 1; j < N; j++) { // duoi if(isMerge[i][DOWN] == null){ if (pics[i][r][0] == pics[j][0][0]) { stop = false; for (int c = 1; c < M; c++) { if(pics[i][r][c] != pics[j][0][c]){ stop = true; break; } } if(stop) continue; for (int k = r+1; k < M; k++) { for (int c = 0; c < M; c++) { if(pics[i][k][c] != pics[j][k-r][c]){ stop = true; break; } } if(stop){ break; } } if(!stop){ isMerge[i][DOWN] = new Piece(j, r, 0); isMerge[j][UP] = new Piece(j, -r, 0); // isMerge[j][UP] = new Piece(i, x, y) // System.out.println("merge down " + i + " " + j); } } } // tren if(isMerge[i][UP] == null){ if (pics[i][r][0] == pics[j][M - 1][0]) { stop = false; for (int c = 1; c < M; c++) { if(pics[i][r][c] != pics[j][M-1][c]){ stop = true; break; } } if(stop) continue; for (int k = r-1; k >= 0; k--) { for (int c = 0; c < M; c++) { if(pics[i][k][c] != pics[j][M-1-r+k][c]){ stop = true; break; } } if(stop) break; } if(!stop){ isMerge[i][UP] = new Piece(j, -r, 0); isMerge[j][DOWN] = new Piece(j, r, 0); // System.out.println("merge up " + i + " " + j); } } } } } // check doc for (int c = 0; c < M; c++) { for (int j = i + 1; j < N; j++) { //phai if(isMerge[i][RIGHT] == null){ if (pics[i][0][c] == pics[j][0][0]) { stop = false; for (int r = 1; r < M; r++) { if(pics[i][r][c] != pics[j][r][0]){ stop = true; break; } } if(stop) continue; for (int k = c+1; k < M; k++) { for (int r = 0; r < M; r++) { if(pics[i][r][k] != pics[j][r][k-c]){ stop = true; break; } } if(stop) break; } if(!stop){ isMerge[i][RIGHT] = new Piece(j, 0, c); isMerge[j][LEFT] = new Piece(i, 0, -c); // System.out.println("merge right " + i + " " + j); } } } //trai if(isMerge[i][LEFT] == null){ if (pics[i][0][c] == pics[j][0][M - 1]) { stop = false; for (int r = 1; r < M; r++) { if(pics[i][r][c] != pics[j][r][M - 1]){ stop = true; break; } } if(stop) continue; for (int k = c-1; k >= 0; k--) { for (int r = 0; r < M; r++) { if(pics[i][r][k] != pics[j][r][M-1-c+k]){ stop = true; break; } } if(stop) break; } if(!stop){ isMerge[i][LEFT] = new Piece(j, 0, -c); isMerge[j][RIGHT] = new Piece(i, 0, c); // System.out.println("merge left " + i + " " + j); } } } } } } int[] queue = new int[N+1]; int f = -1, r = -1, piece, x, y; queue[++r] = 0; Piece p; while(f!=r){ piece = queue[++f]; for (int i = 0; i < 4; i++) { if(isMerge[piece][i] != null && isMerge[piece][i].id > 0){ p = isMerge[piece][i]; if(picture[p.id] == null){ x = picture[piece].x + p.x; y = picture[piece].y + p.y; picture[p.id] = new Piece(p.id, x, y); Solution.setPicture(p.id, y, x); queue[++r] = p.id; } } } } // Solution.setPicture(2, 3, 0); // Solution.setPicture(4, 3, 2); // Solution.setPicture(6, 5, 0); // Solution.setPicture(5, 3, 5); // Solution.setPicture(3, 0, 5); // Solution.setPicture(1, 5, 5); } } class Piece { int id; int x, y; public Piece() { // TODO Auto-generated constructor stub } public Piece(int id, int x, int y) { // TODO Auto-generated constructor stub this.id = id; this.x = x; this.y = y; } } //===================================== 10 100 1 7 10 5 15 15 12 4 3 2 9 6 8 5 13 15 13 5 14 2 12 7 9 4 4 13 10 1 4 1 9 12 12 11 2 10 1 6 5 3 1 9 12 1 11 8 3 6 7 7 5 12 5 8 6 1 9 5 14 2 14 14 8 12 13 8 7 4 9 2 2 13 6 8 14 8 14 1 1 15 9 15 7 5 7 15 9 10 9 12 12 2 12 11 12 10 4 7 13 14 1 7 4 9 0 0 5 5 0 3 5 0 2 3 5 3 0 5 0 7 10 5 9895 0 0 5 5 3 0 0 5 3 5 3 2 5 0 0 7 10 5 5447 0 0 5 5 3 0 0 5 3 5 3 2 5 0 0 8 10 5 1726 0 0 0 5 0 3 2 3 2 0 2 5 5 0 5 5 0 8 10 5 4771 0 0 5 5 0 5 3 0 3 5 3 2 5 2 5 0 0 14 20 8 2086 0 0 12 0 2 4 2 9 8 12 2 12 8 4 0 9 8 0 0 12 8 9 12 12 0 4 12 4 0 439 500 40 6405 0 0 142 57 142 289 0 57 83 198 182 460 238 344 0 158 104 344 0 198 328 183 0 406 0 263 146 5 142 374 0 334 0 344 0 374 0 249 0 426 278 263 460 198 14 5 14 40 14 249 14 88 146 344 224 5 40 40 142 128 14 198 238 334 104 0 14 263 14 289 14 303 14 334 14 344 146 426 224 88 238 406 368 249 315 460 40 5 224 426 328 198 40 88 40 101 142 406 40 158 40 183 40 198 104 460 40 249 83 223 0 303 186 263 264 88 40 344 142 88 186 0 40 426 429 183 146 249 264 460 54 40 186 303 54 88 278 426 142 303 54 158 54 183 315 57 238 5 142 460 358 406 54 289 54 303 54 334 460 40 142 426 54 406 460 334 54 460 264 5 315 334 182 334 328 249 0 183 83 101 0 40 315 289 142 158 0 88 14 374 142 0 358 374 186 57 83 303 146 0 368 158 83 374 83 406 54 0 83 460 14 57 104 5 224 0 104 57 104 88 182 303 104 128 358 5 460 460 315 88 315 263 104 249 104 263 104 289 398 460 104 334 398 334 104 374 104 406 104 426 40 223 83 249 0 128 398 303 315 223 398 5 142 101 54 128 14 183 186 406 142 198 142 223 368 57 142 263 429 57 54 101 83 344 368 40 83 57 146 128 186 249 224 344 264 303 238 101 146 40 146 57 104 101 14 460 40 128 146 158 146 183 146 198 398 406 460 223 142 344 0 5 146 303 328 344 14 101 224 57 146 406 264 57 186 198 182 374 182 5 182 40 40 0 182 88 182 101 315 198 186 5 54 374 83 263 14 128 186 289 429 128 14 0 278 303 328 57 315 249 460 289 358 40 398 344 146 223 368 183 186 223 186 40 83 289 186 88 186 101 182 223 328 40 186 183 146 460 54 344 278 334 358 344 182 249 358 249 83 5 186 344 186 374 142 183 278 0 186 460 278 374 104 198 40 406 358 460 14 406 460 249 429 223 224 158 54 426 224 198 224 223 398 40 182 158 224 289 224 303 224 334 104 223 224 374 224 406 14 158 224 460 238 0 54 5 146 101 54 263 238 88 398 223 238 128 83 40 429 344 264 101 142 40 238 249 328 0 238 289 358 263 368 374 358 128 398 158 182 183 238 426 104 40 398 249 224 249 358 158 146 88 40 334 238 198 264 128 264 158 368 344 182 263 264 223 264 249 315 406 264 289 83 334 238 263 182 289 264 374 264 406 398 263 460 101 429 40 278 5 278 40 278 57 278 88 278 101 460 57 238 374 278 183 278 198 398 0 278 249 315 128 238 183 429 0 40 303 429 198 238 460 398 198 83 183 278 460 315 0 315 5 315 40 54 198 186 128 368 289 368 334 315 158 460 426 358 334 146 289 224 128 429 249 182 406 264 198 264 344 146 263 315 374 358 0 315 426 0 223 54 249 328 5 224 40 238 158 328 88 328 101 328 128 328 158 238 57 40 57 328 223 264 426 328 263 328 289 328 303 368 128 146 334 328 374 328 406 142 5 328 460 54 223 104 158 83 158 358 57 358 88 460 0 328 426 182 128 358 183 358 198 358 426 54 57 238 303 358 289 358 303 264 40 186 426 83 88 264 334 358 223 186 334 460 344 278 128 315 344 142 249 368 88 368 101 328 334 142 334 460 183 368 198 368 223 429 5 429 406 315 101 368 303 0 460 264 183 224 263 368 406 368 426 368 460 224 183 40 374 83 0 398 57 398 101 398 88 398 128 278 158 398 183 182 426 0 289 358 101 40 263 398 289 238 223 182 198 278 406 398 374 0 101 398 426 104 303 224 101 238 40 14 426 83 128 278 223 429 101 264 0 429 158 40 460 278 344 182 344 182 57 460 128 429 289 429 303 429 334 278 289 368 263 429 374 429 426 460 303 315 303 186 158 14 223 368 5 460 88 264 263 429 263 460 158 460 5 146 374 83 426 40 289 460 263 182 0 429 460 429 88 368 0 460 374 460 406 0 1259 700 35 7956 0 0 455 590 0 35 0 51 123 580 0 86 39 590 399 344 158 665 503 191 468 208 108 390 309 468 0 243 630 243 0 287 108 309 123 309 364 116 35 116 75 191 276 86 0 430 399 517 0 468 0 477 0 503 0 517 0 545 158 430 309 81 353 468 108 35 0 627 0 650 399 430 257 400 353 615 4 35 75 503 4 81 4 86 324 650 324 173 4 156 617 390 4 191 4 208 4 226 364 665 364 309 75 208 4 309 4 327 4 344 455 35 4 390 551 116 4 430 70 442 4 468 4 477 187 5 617 173 276 116 468 309 536 430 665 590 4 615 551 555 536 580 580 208 324 226 389 35 495 81 309 590 35 81 35 86 229 555 276 615 35 156 35 173 630 555 158 477 35 226 187 86 455 51 35 287 152 390 35 327 257 243 630 261 35 390 35 400 35 430 194 545 586 590 158 86 536 590 536 287 35 545 35 555 123 362 152 173 222 5 194 555 194 517 123 468 39 0 39 5 39 35 630 545 665 243 468 468 39 116 39 138 39 156 657 138 108 665 152 545 309 191 4 580 75 344 39 51 353 116 152 650 257 156 70 116 39 390 39 400 39 430 455 81 364 287 39 477 158 226 108 580 364 650 0 81 39 580 108 86 257 362 39 627 222 468 39 665 70 0 324 51 70 35 158 191 536 116 70 86 152 0 257 627 70 156 580 0 257 430 70 208 630 590 70 243 536 81 257 86 70 309 70 327 257 665 70 362 70 390 187 35 70 430 4 442 630 226 70 477 468 5 617 503 70 344 353 327 0 261 70 590 75 477 70 627 309 517 630 344 468 51 617 442 229 35 75 51 75 580 389 477 75 116 75 138 75 156 75 173 665 555 257 138 35 468 630 81 75 261 152 35 665 35 75 327 39 261 222 173 364 627 194 615 75 430 75 442 75 468 70 400 152 156 75 517 586 138 39 503 580 362 75 590 503 138 75 627 503 51 75 665 0 590 187 580 276 51 108 51 152 590 0 116 108 116 194 138 257 650 229 287 536 503 187 173 108 226 108 243 424 35 108 287 39 362 495 665 108 344 364 226 0 208 551 81 108 430 108 442 108 468 389 116 35 0 108 517 158 344 108 555 0 191 276 545 353 81 187 116 108 650 617 51 551 173 35 627 257 191 580 627 276 580 123 86 309 261 617 344 108 156 455 477 123 191 123 208 123 226 123 243 389 327 123 287 0 327 0 5 70 5 35 580 424 390 503 327 70 226 424 503 75 555 123 477 222 477 123 517 399 116 158 138 580 545 123 590 123 615 123 627 123 650 468 344 353 590 35 503 630 362 152 51 152 81 0 156 630 400 495 362 364 615 108 400 152 191 4 400 187 555 123 400 152 261 152 287 536 0 455 156 152 344 152 362 309 0 222 650 152 430 152 442 536 442 152 477 35 51 152 517 39 208 389 191 39 173 503 116 222 580 580 468 665 517 424 81 123 503 158 5 158 35 158 51 657 86 35 477 75 287 424 138 399 650 580 156 70 51 158 208 276 5 158 243 424 116 158 287 158 309 495 477 108 545 617 517 194 650 108 208 0 555 158 442 158 468 4 5 503 545 399 156 630 309 158 555 187 545 158 590 158 615 399 35 586 35 324 344 222 0 75 226 389 555 657 51 187 81 4 173 630 51 75 86 657 208 536 156 187 191 187 208 187 226 389 5 187 261 495 51 158 650 187 327 152 615 222 35 123 35 187 400 353 243 70 665 257 468 580 400 187 503 364 81 158 580 152 226 309 51 187 590 187 615 187 627 187 650 187 665 194 0 353 400 194 35 35 138 586 627 194 86 324 156 108 138 194 156 353 5 657 555 580 51 194 226 276 173 194 261 309 243 353 627 194 327 389 517 194 362 123 138 158 400 389 173 455 615 194 468 194 477 194 503 495 243 4 0 39 650 194 580 229 309 424 545 536 627 158 390 35 309 187 0 309 309 551 344 222 51 229 545 424 400 324 35 580 86 657 309 229 51 229 580 222 208 495 503 324 517 4 503 665 51 222 309 70 261 580 650 353 555 222 390 108 362 222 430 222 442 108 615 158 0 152 5 389 390 309 35 495 156 536 243 222 590 158 545 222 627 580 138 152 627 229 0 229 5 257 51 158 627 229 81 229 86 229 116 229 138 229 156 229 173 229 191 229 208 353 138 665 344 364 327 108 173 194 590 229 327 229 344 229 362 229 390 229 400 257 0 229 442 229 468 229 650 424 362 123 430 152 208 194 400 389 138 657 116 229 615 229 627 364 173 222 261 657 156 257 5 257 35 4 51 257 81 70 287 257 116 4 287 324 580 468 400 399 390 586 327 257 226 468 327 424 191 257 287 353 390 108 81 257 344 187 287 257 390 0 665 70 191 257 442 187 468 353 191 39 344 222 555 630 156 257 555 657 173 194 81 257 615 70 138 389 261 70 545 586 0 580 442 657 5 324 503 657 468 187 362 630 468 276 138 276 156 580 116 276 191 276 208 276 226 399 261 551 51 0 309 276 309 309 615 657 590 222 665 75 309 276 400 158 81 276 442 276 468 276 477 276 503 389 226 108 590 276 555 35 442 276 590 194 51 389 580 276 650 389 615 665 261 536 327 194 665 353 545 617 35 324 5 123 51 152 116 70 650 222 191 324 81 309 208 309 226 503 390 4 627 108 503 123 81 309 327 657 362 309 362 309 390 309 400 551 191 309 442 536 650 39 468 389 430 0 362 309 545 364 590 309 580 468 116 665 362 309 627 309 287 630 5 152 243 309 86 424 173 630 442 39 226 324 86 364 580 324 138 187 156 657 287 194 287 324 208 35 615 324 243 324 261 495 287 324 309 324 327 123 442 324 362 324 390 399 5 324 430 324 442 75 243 152 400 586 468 630 503 455 261 657 327 324 116 324 590 309 430 399 81 665 138 324 665 353 0 194 173 353 35 353 51 123 344 353 86 617 545 353 430 353 156 580 173 257 590 353 208 551 327 551 650 353 261 353 287 353 309 152 468 309 344 353 362 455 627 194 5 665 503 364 430 276 362 353 477 309 138 353 517 108 5 455 327 353 580 276 287 0 442 630 650 353 650 495 309 364 0 364 5 364 35 364 51 389 156 536 477 665 226 187 344 364 156 399 51 364 191 364 208 617 261 364 243 399 0 630 580 276 344 229 261 364 344 364 362 364 390 657 442 353 442 364 442 389 665 536 545 364 503 424 156 364 545 424 86 503 81 580 35 123 0 424 226 503 243 4 243 424 344 580 344 617 650 495 442 389 81 389 86 108 477 222 615 75 0 194 430 276 81 389 208 503 477 39 555 123 156 108 327 389 309 123 261 389 344 389 362 324 287 389 400 309 503 389 442 389 468 158 503 665 309 194 344 75 400 70 615 399 468 389 590 580 477 389 627 389 650 455 362 364 261 324 400 0 400 108 0 324 627 468 173 123 545 158 116 70 580 229 665 399 287 276 327 399 226 399 243 276 243 399 191 399 309 399 327 0 138 399 362 187 390 152 555 424 243 399 442 536 400 399 477 399 503 468 138 468 615 399 555 75 35 152 86 495 468 399 627 586 243 399 665 617 287 424 5 108 261 424 51 152 665 364 555 158 261 580 580 364 517 389 243 257 261 424 208 75 390 158 156 276 517 424 287 187 243 424 327 389 0 630 627 123 390 495 35 424 430 455 555 586 615 424 477 586 390 424 517 389 545 424 555 424 261 424 590 424 615 424 627 309 116 424 665 630 517 455 5 4 362 35 261 39 442 455 86 455 116 495 0 665 327 455 173 455 191 455 208 455 226 455 243 229 477 580 327 455 309 222 362 455 344 257 173 455 390 455 400 257 517 222 545 364 138 39 327 455 503 194 191 455 545 424 442 455 580 495 517 399 173 503 156 455 650 455 665 468 0 364 477 468 35 187 517 468 81 309 156 0 390 324 191 468 156 229 517 495 650 39 517 70 468 468 243 468 261 468 287 4 555 468 517 257 208 4 116 468 390 39 309 468 430 468 442 39 86 468 477 468 503 657 243 468 545 468 555 665 665 468 590 276 665 468 627 468 650 194 627 455 138 495 5 222 86 309 477 35 35 495 86 495 116 495 138 399 580 586 5 495 191 222 243 617 580 665 650 495 261 222 517 353 665 495 327 657 665 424 0 495 390 495 400 495 430 276 430 503 555 551 226 35 243 229 590 495 545 495 555 503 503 468 665 495 615 495 627 468 191 364 468 503 0 630 173 503 35 257 309 455 0 503 86 309 650 536 173 324 477 503 173 0 173 503 208 503 226 39 545 503 261 503 287 503 309 617 309 503 344 617 116 276 390 503 400 0 615 503 442 630 287 424 580 152 503 503 517 194 309 617 138 503 580 657 261 503 615 503 627 503 650 503 665 586 287 536 5 536 35 536 51 222 327 536 86 70 81 536 138 468 86 503 362 630 615 536 208 536 226 455 468 536 261 35 517 536 309 309 5 468 580 536 362 536 390 222 344 353 344 70 555 536 468 551 309 35 344 536 517 70 503 586 309 4 650 665 208 536 615 495 590 0 226 665 86 551 0 551 5 665 627 222 503 586 51 389 503 123 665 75 615 551 156 123 173 324 615 551 208 455 517 257 327 424 468 0 344 364 86 657 226 580 590 551 362 551 390 551 400 551 430 551 442 551 468 551 477 551 503 551 517 551 545 324 555 551 580 455 430 551 615 551 627 551 35 551 665 70 173 580 5 468 362 580 555 0 580 222 138 194 243 75 650 158 173 276 0 580 191 4 665 580 226 389 51 580 261 580 390 35 208 455 287 665 580 309 173 222 226 187 477 580 430 39 191 503 590 35 665 194 442 580 517 187 430 35 650 617 430 75 362 580 615 424 650 617 468 580 665 4 138 495 173 187 309 35 590 586 81 586 86 586 116 75 545 586 156 586 173 586 191 586 208 586 226 580 287 586 261 152 309 536 555 222 81 586 344 586 362 399 400 586 400 586 430 586 442 503 430 586 477 586 503 586 517 586 545 222 400 4 590 580 503 551 261 324 468 586 650 586 665 4 517 617 5 39 81 39 243 617 81 617 86 495 580 399 615 617 156 617 0 617 191 617 208 617 226 617 243 657 503 152 138 324 0 617 327 194 390 257 580 257 545 617 400 123 555 75 5 152 327 617 477 194 208 158 362 389 287 617 555 70 517 229 226 617 615 617 627 35 5 617 665 630 0 309 665 630 35 108 627 257 477 630 86 630 116 424 309 39 615 503 5 630 191 630 208 468 226 158 517 35 362 586 580 222 116 630 327 187 442 551 86 630 390 630 138 630 430 123 5 229 503 630 477 495 208 455 442 39 287 35 191 187 138 657 627 4 545 536 191 123 327 630 665 657 0 665 287 657 35 399 590 657 81 399 545 187 51 152 580 580 81 617 362 657 191 194 116 353 226 108 191 495 226 536 665 222 156 123 116 657 344 229 430 657 390 657 400 657 430 364 400 276 35 657 477 586 555 657 517 657 545 580 243 657 580 4 261 657 615 580 309 657 650 495 344 665 0 665 5 399 86 222 287 665 81 551 243 665 116 75 81 665 156 665 173 665 191 257 503 551 287 158 327 309 555 353 173 536 344 276 627 229 243 399 208 665 390 665 400 665 430 665 442 665 468 665 477 617 590 551 590 665 545 324 545 353 503 503 468 665 615 551 138 276 261 0 270 1000 100 6003 0 0 795 293 623 745 0 193 0 200 0 293 28 293 221 641 0 655 738 0 420 293 0 641 420 555 0 745 520 655 670 293 28 0 28 85 844 445 28 193 28 200 565 831 28 345 28 395 28 445 28 525 28 555 28 641 844 395 317 831 121 831 520 525 121 0 121 85 795 395 520 555 738 641 565 85 121 345 121 395 565 655 0 555 121 555 121 641 121 655 121 745 28 831 623 85 365 100 317 293 0 100 670 200 205 200 317 395 205 345 623 100 520 85 900 193 205 555 121 100 205 655 520 445 795 525 465 395 221 0 221 85 221 100 221 345 317 100 520 200 565 395 221 395 738 85 795 655 221 555 205 445 465 900 844 345 28 745 221 900 317 0 670 445 365 641 670 100 317 555 205 85 565 0 623 900 317 445 738 525 317 85 465 345 317 655 520 641 465 745 317 900 795 200 365 85 565 293 420 655 365 200 365 293 205 395 565 100 365 445 900 641 365 555 670 655 221 445 565 345 900 395 365 900 205 745 420 85 221 525 420 193 420 200 121 525 844 655 520 831 795 100 420 525 900 745 420 641 221 200 520 395 205 0 844 745 465 0 465 100 465 85 465 193 465 200 465 293 623 0 623 345 900 293 844 293 465 555 465 641 465 655 520 0 465 831 28 655 738 193 205 641 0 445 365 0 221 293 520 293 420 445 844 900 900 200 221 745 121 193 317 745 670 395 520 745 623 395 520 900 317 345 121 293 365 395 565 193 565 200 420 831 738 395 623 525 221 655 565 525 565 555 565 641 900 445 565 745 205 831 565 900 623 555 623 655 520 100 623 193 623 200 670 345 795 900 121 200 28 100 221 193 205 193 623 641 0 831 317 641 365 345 670 193 420 745 670 85 317 193 670 0 317 200 0 900 623 293 365 831 121 445 670 525 205 525 795 85 365 193 670 745 670 831 670 900 0 525 365 655 738 100 221 831 900 831 738 293 738 345 365 745 738 445 205 293 900 555 900 900 738 655 738 745 738 831 738 900 795 0 670 641 520 345 795 193 205 100 0 85 795 345 900 345 795 445 738 555 795 555 795 641 420 100 795 745 795 831 365 525 420 345 465 445 844 100 844 193 205 900 465 525 420 900 565 445 420 0 844 525 623 445 844 641 844 0 28 900 844 831 520 193 900 0 900 85 900 100 670 555 317 525 844 85 0 395 121 900 844 555 900 525 0 345 900 655 844 200 623 831 0 1053 1000 50 5794 0 0 50 776 0 57 0 85 0 107 370 861 213 576 0 204 692 643 765 671 319 576 217 421 0 333 40 576 517 876 149 471 365 0 40 776 467 610 268 876 950 279 0 610 50 333 149 826 0 700 950 157 0 776 765 279 795 728 950 911 616 358 0 911 0 950 500 421 95 358 40 57 415 861 950 643 40 150 40 157 765 861 263 671 0 509 149 876 40 308 40 333 40 358 40 383 319 383 40 436 40 471 839 728 213 333 517 610 263 279 517 383 40 671 40 700 554 421 658 85 370 0 40 826 40 861 40 876 616 671 40 950 213 383 313 254 370 811 50 85 950 950 95 204 217 911 50 204 50 219 839 157 50 279 50 308 104 308 517 700 319 876 50 421 50 436 658 254 0 436 50 543 313 383 554 861 50 643 50 671 517 671 517 543 795 358 50 811 950 776 268 254 50 876 50 911 217 204 616 157 217 0 500 57 692 576 0 10 95 150 95 157 217 776 95 219 95 254 95 0 95 308 0 383 886 861 467 643 268 157 616 279 467 254 95 509 95 543 95 576 313 543 765 421 500 107 95 700 95 728 602 279 95 811 95 826 213 543 95 876 616 911 95 950 313 279 517 204 795 643 554 279 104 107 104 150 517 10 167 157 692 279 213 85 104 219 839 150 839 421 950 421 104 383 0 861 104 436 149 308 104 509 839 358 50 107 40 728 602 876 104 671 263 700 104 728 268 85 104 811 616 776 467 911 450 308 104 911 104 950 213 811 319 204 149 57 149 10 149 107 602 0 263 576 149 204 149 219 795 826 149 279 658 279 149 333 104 254 217 643 467 219 50 700 692 150 149 509 924 436 149 576 467 471 365 471 365 308 149 700 616 107 149 776 149 811 886 57 616 509 950 471 104 643 765 0 319 776 268 308 167 57 467 826 167 107 734 728 263 0 167 204 365 576 167 254 658 509 658 826 217 876 40 610 370 57 167 421 167 436 0 254 167 509 692 308 167 576 167 610 268 0 658 643 167 700 50 358 517 150 167 811 167 826 167 861 167 876 734 333 167 950 886 811 467 728 213 57 365 436 213 107 213 150 450 876 213 204 370 610 213 254 370 643 263 421 734 826 213 358 365 279 213 421 104 10 213 471 602 421 616 876 467 576 268 643 886 10 213 671 213 700 213 728 924 861 263 254 50 728 517 509 365 204 365 383 450 700 950 811 415 436 616 728 658 610 924 279 268 107 217 157 602 204 313 421 0 728 217 279 217 509 839 610 217 358 554 471 319 358 602 254 217 471 217 308 268 421 167 728 217 610 149 383 213 0 268 811 924 671 319 543 0 876 765 811 217 861 167 333 104 279 217 383 149 421 263 10 95 279 263 85 0 811 263 150 263 157 263 204 263 219 50 383 450 826 263 308 795 0 263 358 167 776 50 150 263 436 263 471 263 509 886 543 149 157 263 610 263 643 886 107 104 700 500 610 517 728 313 811 658 150 263 861 263 876 217 254 263 950 313 157 268 10 268 57 104 776 167 0 268 150 950 204 554 219 149 643 50 861 450 950 370 279 268 333 467 861 268 383 415 107 734 254 415 383 365 776 268 543 268 576 692 876 692 358 554 728 313 861 268 728 554 610 217 700 268 826 950 576 167 671 268 911 765 333 313 0 313 10 313 57 104 333 313 107 313 150 734 776 313 204 319 57 104 421 415 643 217 57 734 85 313 358 734 671 217 219 313 436 313 471 886 728 95 610 467 421 313 610 40 85 313 671 365 700 313 728 313 776 268 279 268 219 149 543 370 543 313 911 692 333 263 728 319 10 795 576 616 826 319 107 450 509 319 157 554 876 319 219 950 383 886 436 319 308 213 876 370 150 795 776 734 876 616 811 319 471 319 509 602 509 950 57 319 610 692 610 319 671 319 700 950 700 0 150 319 811 319 826 319 861 500 576 734 911 319 950 50 509 692 776 450 861 365 85 950 333 467 308 500 543 319 333 365 219 795 150 765 576 415 254 365 333 365 358 268 671 365 421 924 85 313 826 217 728 213 436 167 219 365 610 365 643 616 150 886 308 765 308 268 509 365 811 734 157 365 861 365 876 365 911 365 950 734 700 370 10 167 383 370 85 950 876 313 219 370 157 370 204 415 150 370 254 365 254 370 308 370 471 370 358 370 383 370 421 370 436 370 333 370 509 213 911 370 576 104 0 467 157 263 543 602 671 370 728 370 776 263 911 370 826 500 333 370 876 602 358 370 950 50 950 415 10 415 57 415 85 0 308 370 219 415 157 268 204 415 219 149 671 149 610 415 308 692 826 0 157 319 279 554 150 950 728 658 811 450 219 0 643 415 576 839 509 213 219 839 826 950 107 415 728 886 157 415 543 950 150 213 157 658 204 415 911 104 610 795 421 450 10 467 700 450 85 616 383 450 150 450 157 450 204 602 308 450 254 450 279 602 643 450 333 450 358 370 107 95 333 450 436 450 471 319 150 450 543 450 576 95 436 765 10 450 671 924 57 450 728 450 776 658 776 313 950 365 57 554 811 450 911 217 576 149 254 467 10 149 0 467 85 467 107 467 150 40 254 467 204 149 861 95 471 765 383 167 643 602 911 415 204 839 204 313 576 839 279 415 279 467 509 467 543 268 471 50 576 95 383 554 776 450 57 213 10 467 776 213 509 602 826 313 876 795 671 104 861 167 10 500 0 268 358 95 57 500 85 765 911 500 150 500 157 616 219 467 358 500 254 500 279 500 308 924 728 500 358 517 471 40 0 365 157 795 279 500 509 500 219 104 358 319 0 40 643 500 671 500 700 500 728 500 776 924 383 167 308 40 543 319 911 500 911 500 950 517 0 104 157 213 279 517 85 517 107 734 308 517 157 616 421 517 219 886 219 517 279 517 308 517 333 517 358 658 358 263 826 734 150 692 421 795 861 213 826 517 576 0 358 734 543 616 10 415 610 263 776 517 776 517 811 924 643 886 204 450 421 517 911 517 950 554 0 554 10 554 436 554 911 554 107 415 421 554 157 795 811 95 85 500 383 104 85 554 308 554 333 554 358 263 333 263 383 149 911 602 57 554 509 554 543 268 950 268 776 104 204 924 811 554 700 602 543 924 157 149 85 554 826 886 0 415 776 167 911 149 436 149 150 658 950 217 950 765 950 319 436 602 150 319 421 765 204 602 219 217 543 467 876 50 157 602 333 95 861 602 383 50 610 924 107 734 471 213 308 500 10 602 576 602 610 104 876 500 643 602 700 602 728 602 776 602 811 95 643 602 861 554 57 467 333 839 254 616 0 263 811 616 57 886 876 734 643 365 671 0 543 616 204 554 204 616 254 450 610 517 254 616 333 149 728 950 861 365 543 370 671 616 471 924 610 616 543 616 576 616 610 467 811 40 911 616 700 415 826 40 279 415 0 319 85 616 861 370 911 692 700 886 254 217 826 658 0 658 57 0 471 658 107 263 107 658 157 415 876 658 219 50 471 692 157 50 57 616 643 658 911 658 383 658 421 0 826 924 219 213 776 658 543 658 576 217 85 213 610 450 383 658 700 658 728 554 576 467 279 500 826 658 861 658 876 795 543 658 471 692 0 692 10 692 57 692 85 692 107 765 85 104 471 692 204 692 219 795 950 415 509 950 308 658 671 765 254 692 383 415 700 692 436 734 219 692 509 692 543 0 219 319 643 602 10 692 671 95 911 692 728 467 57 692 811 415 333 692 861 268 436 692 911 692 950 734 0 734 10 734 57 313 333 734 107 924 826 167 543 734 204 692 471 886 700 734 279 263 57 554 85 734 358 734 383 765 509 734 436 602 471 734 509 450 107 734 576 734 610 839 10 415 471 554 383 795 308 268 610 734 811 500 861 734 861 602 157 616 308 734 950 467 671 40 811 765 57 0 421 765 107 765 150 795 57 467 950 602 85 365 10 795 254 365 728 450 811 765 358 517 421 167 85 313 509 765 471 734 421 765 543 50 0 765 610 765 700 167 471 765 643 765 728 765 776 658 10 765 826 167 150 602 107 95 671 602 436 167 279 795 10 765 219 795 85 370 700 658 308 795 157 839 85 795 219 616 85 616 436 40 204 415 950 95 107 795 383 217 811 795 436 924 576 795 471 415 358 217 10 795 610 104 57 839 671 795 700 213 950 40 421 365 826 467 0 50 10 795 876 795 911 313 308 839 0 313 700 924 509 795 204 839 107 415 811 50 254 839 436 839 219 924 876 500 471 839 308 839 333 104 543 950 671 313 85 467 383 839 471 217 436 95 10 839 576 658 436 839 643 765 157 839 700 40 509 268 861 839 811 415 671 839 861 839 876 839 911 839 950 500 436 839 383 0 671 517 861 886 643 886 150 554 950 450 643 500 876 616 950 886 279 765 876 924 950 886 358 924 358 886 421 795 107 886 471 886 509 40 107 886 576 886 610 40 219 886 671 658 333 765 436 886 776 319 254 886 826 40 10 268 700 886 911 886 950 924 0 924 10 500 204 149 358 839 543 924 150 149 950 924 204 365 150 924 254 217 107 924 308 924 333 886 383 500 811 924 421 950 826 924 471 839 57 924 543 795 509 554 643 517 826 365 509 924 700 217 150 924 776 554 671 0 576 886 85 602 950 924 911 886 333 950 0 950 10 0 279 950 85 554 254 517 643 795 333 95 421 950 219 950 254 517 436 217 333 365 107 167 358 217 671 450 0 950 436 104 826 950 509 950 543 50 826 950 610 104 576 213 643 319 728 313 643 839 776 95 776 517 57 692 254
Editor is loading...
Leave a Comment