100000 100000
134 38 8 161 71 293 189 242 206 50 180 68 251 90 112 50 282 13 281 43 128 53 30 228 26 55 254 183 284 254 9 66 226 173 173 195 5 267 176 259 106 68 273 205 123 200 125 286 64 184 6 276 294 143 213 210 3 283 258 290 120 103 279 73 226 272 124 253 10 70 14 268 95 201 63 212 230 233 41 125 122 29 205 24 264 192 93 275 171 140 264 198 57 55 122 105 47 72 105 276 25 107 130 158 8 134 1 24 156 156 90 24 62 128 304 28 235 113 84 206 238 39 20 161 113 65 20 290 37 71 218 259 175 294 31 40 10 201 73 9 98 10 218 184 137 89 144 153 128 299 143 245 280 90 209 221 54 52 12 33 105 107 88 198 150 1 219 100 145 289 5 275 225 61 264 238 8 147 174 41 230 81 146 25 125 291 161 73 241 26 18 49 8 252 254 197 264 26 40 157 275 82 44 209 213 133 194 241 14 152 297 78 290 219 270 18 153 253 101 239 172 202 53 131 303 91 59 73 222 288 102 97 232 127 276 133 14 194 65 285 178 149 266 283 196 140 14 11 158 117 276 303 270 247 230 197 214 57 159 223 269 8 202 32 2 50 232 278 294 214 27 118 1 287 168 105 207 40 5 193 22 18 59 174 156 101 11 29 209 244 293 38 226 255 121 149 286 218 184 188 44 248 224 88 153 261 300 229 107 58 18 135 112 219 105 78 11 218 269 133 67 14 239 17 284 41 110 119 129 65 216 276 159 246 148 148 303 110 12 43 228 34 274 274 282 198 46 29 229 263 148 68 280 275 24 161 127 8 35 48 52 265 106 124 234 125 294 99 127 9 283 165 139 230 277 236 43 193 231 91 5 184 122 140 301 281 303 238 114 22 55 59 112 207 179 49 260 209 301 82 276 28 44 121 134 238 139 220 9 186 122 143 56 73 247 144 10 275 112 82 42 94 59 246 99 23 14 93 111 62 128 88 291 253 36 66 81 280 127 201 261 189 219 25 251 230 269 162 141 285 85 102 86 105 89 24 10 112 274 42 225 213 285 236 281 195 280 173 103 182 233 245 182 100 202 69 192 146 46 85 97 186 22 159 24 62 18 72 76 249 72 104 263 240 199 183 90 29 272 261 53 267 208 3 245 196 52 47 3 200 188 173 136 124 189 103 108 52 200 237 81 263 272 96 62 192 28 149 65 180 178 265 274 243 103 104 272 192 202 267 138 228 243 54 250 20 74 234 273 129 221 238 280 185 163 49 302 245 15 281 257 130 142 17 125 167 50 166 295 208 58 229 39 263 200 299 186 92 94 235 36 75 105 142 54 289 262 188 264 149 8 169 237 249 211 116 47 249 245 273 51 282 299 240 174 62 39 289 86 23 134 166 201 239 110 155 274 31 74 265 251 41 187 198 104 182 299 5 73 246 131 292 3 234 302 131 160 230 164 128 159 10 24 180 37 25 91 229 124 239 189 288 30 300 39 130 64 148 213 16 277 161 267 24 135 233 147 25 243 217 300 119 257 165 134 180 96 304 8 189 150 141 184 5 24 303 163 47 182 96 229 17 157 39 257 278 295 69 135 211 151 297 70 204 242 169 184 167 67 33 209 225 90 236 58 252 206 291 284 207 183 265 180 124 109 69 288 230 6 4 143 297 13 144 112 9 286 225 229 64 113 265 186 23 260 201 6 93 80 130 208 152 264 167 223 55 120 137 126 137 189 73 28 123 26 66 146 250 212 162 162 57 40 262 97 63 211 253 20 7 193 34 283 157 195 155 250 128 16 47 240 207 81 280 95 169 109 231 274 285 128 112 80 196 170 86 76 64 282 266 200 123 229 200 254 297 198 213 110 159 114 204 63 76 159 29 244 84 29 186 110 183 177 49 258 242 167 160 161 257 84 265 16 182 220 250 167 137 284 223 246 199 96 286 271 144 299 205 249 262 237 291 202 122 226 22 274 169 39 287 277 254 73 257 54 144 226 183 82 297 93 140 165 254 99 60 49 156 227 209 10 165 270 33 297 27 59 197 15 132 210 198 246 199 196 254 17 291 123 72 177 107 297 295 193 196 285 14 124 165 236 154 290 294 169 26 287 278 217 191 173 194 194 34 159 267 102 8 253 133 280 1 113 220 223 26 98 28 281 188 58 112 247 187 114 130 67 203 175 261 135 77 85 111 304 68 280 134 96 243 46 4 65 75 128 239 242 4 303 42 208 242 152 86 101 64 94 244 111 13 302 304 301 125 179 145 159 18 11 177 232 112 238 272 144 168 153 9 88 36 169 180 83 19 277 209 154 40 109 225 71 279 149 45 102 68 22 129 33 105 302 239 253 145 292 38 284 23 41 194 15 149 88 68 249 282 110 249 36 88 24 41 24 284 134 112 106 25 192 94 241 265 228 133 164 18 179 236 179 267 282 198 288 122 160 292 270 127 170 171 183 94 178 20 138 146 269 255 80 215 68 20 27 229 262 204 250 211 79 294 65 165 2 103 158 135 2 57 200 175 105 109 219 39 205 249 142 299 284 199 4 274 40 167 101 1 156 237 166 144 166 92 257 20 287 151 96 14 184 114 196 35 134 59 218 296 125 266 54 213 270 79 100 230 43 62 236 39 35 256 121 123 299 90 143 50 170 7 156 90 81 62 149 80 170 290 251 226 40 11 85 83 87 83 211 227 2 197 281 80 273 12 264 105 76 302 97 205 190 255 86 222 238 174 107 55 115 60 304 135 250 210 160 86 86 130 259 76 252 172 75 79 149 296 237 267 299 242 277 68 261 64 143 110 108 158 15 86 116 133 274 97 174 184 228 162 162 83 200 262 138 89 169 87 178 54 112 116 70 181 64 34 122 123 143 162 58 237 55 71 192 161 172 172 4 87 219 263 63 86 42 74 136 142 170 277 259 102 225 260 7 93 158 266 112 196 48 117 260 177 8 77 79 33 250 118 136 210 3 52 4 119 177 64 164 106 292 263 178 105 14 203 259 53 35 201 235 233 196 247 220 211 37 263 136 169 244 5 258 263 134 10 216 164 124 199 185 43 89 251 83 160 261 61 240 125 100 131 31 151 111 76 265 248 189 168 258 40 72 243 275 87 162 5 211 75 295 209 151 4 124 269 103 18 120 8 47 256 169 297 1 191 106 254 38 52 127 148 16 107 200 269 32 149 147 83 24 221 15 16 202 82 35 55 135 265 189 87 253 249 162 246 48 167 25 80 127 206 8 116 80 176 184 18 81 20 21 287 266 250 192 44 81 172 298 23 64 182 207 259 189 209 138 180 288 144 41 138 297 23 28 197 64 234 34 104 202 93 280 251 211 79 4 218 24 39 274 277 32 39 213 15 196 289 29 117 257 209 59 35 207 11 146 71 52 85 193 285 178 273 29 246 40 205 28 207 81 260 36 24 257 208 254 160 168 220 252 130 302 98 67 276 129 169 79 25 107 266 204 276 211 221 27 194 44 237 120 62 101 258 125 202 136 68 298 87 45 179 90 126 160 151 160 73 118 114 220 37 81 187 241 72 21 19 206 160 122 233 144 229 202 271 264 119 113 157 11 118 111 34 272 13 208 61 185 5 171 283 178 109 47 141 111 30 264 192 77 42 78 216 7 301 79 280 260 100 121 222 154 24 238 123 171 145 211 93 269 119 144 66 56 165 302 51 229 48 174 30 24 269 135 114 50 219 131 202 102 250 219 106 149 94 24 118 125 56 123 298 42 66 223 67 303 177 141 198 269 244 69 155 165 58 25 148 152 268 166 246 181 270 179 40 220 2 119 63 185 2 11 220 92 24 255 235 130 27 178 76 113 70 32 150 31 255 272 263 215 190 157 230 131 170 195 130 218 150 4 79 66 211 61 90 81 237 142 277 138 289 113 31 259 295 74 211 237 239 126 68 207 135 126 129 216 27 232 150 246 230 284 158 20 252 177 144 247 240 97 177 129 180 197 197 145 269 142 225 99 249 135 233 282 12 294 116 123 7 189 249 179 148 139 205 130 99 187 296 289 261 295 151 162 161 162 3 75 36 77 285 138 154 276 258 229 118 25 211 118 115 20 43 214 66 290 252 153 98 125 98 68 30 171 247 256 285 66 280 7 149 259 19 237 247 184 229 304 295 259 55 24 91 141 183 200 219 139 114 160 207 154 207 70 89 138 292 10 124 224 40 143 194 279 23 182 196 127 287 211 109 205 301 232 153 240 268 164 148 44 118 38 166 171 3 268 40 111 135 37 114 253 275 79 9 188 115 140 117 88 60 17 66 271 131 290 39 51 187 246 93 103 9 117 288 211 184 151 136 25 40 259 219 290 105 32 52 295 166 282 250 210 163 107 137 266 232 51 135 141 263 169 91 273 19 150 200 147 84 271 241 137 180 89 280 257 283 166 218 250 106 26 241 83 55 44 237 294 260 140 104 37 3 66 181 184 49 242 197 116 245 105 103 298 123 297 217 91 205 53 119 15 21 286 72 284 161 216 261 137 264 91 94 85 156 58 295 239 261 52 224 170 11 237 105 268 90 158 115 81 178 176 225 78 259 297 236 297 131 242 9 137 254 149 35 197 165 255 207 242 159 242 137 108 166 298 114 145 75 153 239 124 142 36 161 147 165 62 301 229 54 276 197 143 80 170 194 15 89 275 259 235 156 151 127 29 258 64 83 258 128 154 262 285 157 101 225 130 223 104 303 297 121 264 180 167 73 131 237 204 268 178 252 10 296 241 52 175 241 161 278 79 36 77 143 92 15 206 228 78 287 187 18 208 233 242 114 68 30 228 29 261 256 287 36 300 16 202 195 193 189 240 32 25 206 19 183 25 289 215 303 62 39 71 157 64 21 6 89 295 163 232 16 193 3 104 245 27 72 295 14 58 8 134 278 108 254 20 98 107 223 202 142 274 70 246 101 169 133 86 90 243 180 123 195 175 120 283 8 76 38 159 54 125 17 1 101 14 185 215 164 246 184 106 132 25 96 114 287 270 237 218 240 65 49 36 87 261 166 198 243 188 22 266 24 31 172 241 141 7 175 46 259 116 236 83 251 67 244 2 230 194 160 154 137 78 252 201 187 138 115 20 54 64 69 103 191 43 174 163 38 272 127 157 201 59 1 299 7 213 149 275 242 212 165 138 244 67 206 28 237 272 59 95 230 63 282 167 298 132 267 98 86 287 23 141 149 194 73 229 159 118 100 32 51 129 68 295 212 44 277 229 210 253 101 70 216 150 20 100 220 48 120 23 26 88 25 5 29 174 299 1 51 40 270 79 168 47 161 34 75 206 138 69 57 177 219 5 105 107 177 303 81 110 70 276 169 302 205 70 227 174 2 10 292 14 262 30 229 260 185 87 303 135 107 79 67 200 267 180 237 95 297 31 238 137 300 252 48 157 147 61 46 24 288 126 62 242 51 120 102 82 100 289 33 99 118 212 1 224 125 221 285 236 162 6 37 77 296 121 126 209 164 128 189 285 22 42 222 288 95 303 209 13 148 73 72 68 49 24 6 152 97 246 108 131 114 13 145 215 208 272 3 87 189 180 175 122 29 95 82 283 268 88 206 203 98 185 45 106 38 48 30 86 290 276 156 174 157 61 254 134 98 198 250 86 189 230 114 81 294 124 48 252 243 146 222 301 289 209 282 111 44 288 287 70 279 59 149 270 223 91 147 139 209 153 103 107 165 185 267 241 225 258 272 63 242 232 179 215 208 138 117 69 65 98 14 69 19 84 299 12 212 3 180 10 78 35 304 147 237 97 123 72 175 167 266 258 25 126 262 156 243 274 106 103 104 287 120 191 114 110 89 295 293 297 111 38 28 277 99 8 288 82 130 209 261 24 64 242 18 253 128 81 145 261 77 107 191 304 252 33 39 202 125 138 174 191 241 118 225 137 191 258 229 250 109 121 304 12 195 66 267 32 73 84 211 144 235 115 63 102 158 251 167 273 139 56 6 226 183 126 293 285 186 144 56 249 112 236 246 272 22 152 199 8 222 80 160 191 182 192 45 214 156 104 152 43 261 34 90 54 79 155 75 149 48 50 127 46 88 66 233 201 220 216 23 93 89 8 172 180 48 299 246 230 134 218 155 44 194 13 184 261 173 142 193 98 49 270 46 286 17 202 175 178 116 86 119 186 65 100 188 166 23 75 76 295 74 236 63 137 236 53 235 178 116 258 230 185 62 112 222 132 26 212 245 136 189 121 190 187 46 142 173 144 231 123 196 202 53 278 33 242 78 64 279 256 249 243 184 114 282 196 287 159 120 161 253 207 117 30 62 139 98 284 177 198 40 78 117 110 12 243 192 257 300 4 251 117 37 281 176 91 292 48 109 183 291 259 252 204 185 192 234 166 194 188 231 9 69 6 175 276 196 108 68 136 179 153 124 52 238 198 93 84 293 104 208 253 158 277 84 256 64 275 204 34 122 268 8 138 267 275 27 191 233 58 188 28 57 286 224 181 291 164 215 63 265 248 139 230 291 234 167 103 158 63 67 134 11 96 1 175 202 302 53 168 123 36 140 96 294 3 152 94 60 99 252 116 223 68 60 41 6 27 60 151 38 235 285 80 112 123 189 275 287 86 269 161 228 295 228 273 139 24 121 135 98 79 211 185 281 242 202 134 261 178 178 211 85 81 282 89 3 150 152 97 291 95 225 68 28 36 142 32 64 186 139 247 304 231 234 55 27 192 38 102 276 244 188 181 18 235 160 101 221 162 121 92 105 258 147 121 112 107 282 34 43 232 183 241 23 290 251 101 53 78 34 202 70 187 96 2 262 261 117 272 218 41 248 123 271 49 298 115 263 184 119 60 186 196 267 186 44 86 47 223 37 210 282 135 134 154 207 290 245 36 241 286 53 243 129 38 10 167 45 116 126 113 205 30 255 297 219 271 50 192 209 263 289 102 158 202 270 202 285 92 1 3 30 272 301 202 100 265 38 280 292 181 28 146 78 68 16 239 46 251 123 122 53 60 257 302 48 241 288 36 292 31 179 81 276 63 10 173 165 192 139 223 294 203 78 248 196 2 221 48 37 21 230 48 192 9 109 157 109 173 277 290 140 70 49 171 109 86 53 139 296 289 297 75 72 267 120 187 170 304 87 206 96 74 106 234 181 19 134 192 123 281 209 231 272 14 124 289 179 31 26 22 208 268 212 191 13 175 281 168 105 131 65 45 17 292 91 33 239 249 89 112 102 47 48 18 88 137 21 146 292 248 12 111 103 17 266 45 106 142 270 288 91 51 58 272 161 303 38 58 275 75 55 67 279 78 16 134 46 136 130 229 246 152 94 267 77 201 294 302 204 209 212 202 225 219 101 118 57 173 15 132 156 44 30 148 7 140 211 77 265 166 232 37 25 133 70 269 105 282 8 229 55 25 99 40 111 147 170 242 265 205 80 4 278 95 248 47 249 258 94 252 288 304 278 128 43 229 158 253 240 293 260 179 220 88 283 29 92 150 47 104 215 135 17 56 40 94 274 134 83 160 1 275 233 173 4 52 145 214 37 128 160 33 41 294 148 271 151 36 103 42 250 193 295 16 98 290 30 290 303 96 143 264 96 128 249 242 125 258 46 120 198 235 303 261 32 202 143 109 8 3 289 39 44 278 63 133 1 256 154 222 82 32 83 121 76 176 108 134 143 130 20 60 2 117 278 129 191 157 160 248 251 1 234 295 267 151 199 82 1 35 4 40 59 174 63 25 9 185 79 189 202 10 259 183 118 14 286 31 281 281 24 61 257 86 185 162 289 244 278 280 227 272 276 157 15 129 86 141 155 295 219 77 183 113 259 273 49 304 191 135 192 158 233 108 216 232 171 143 230 246 82 226 111 292 278 230 271 13 261 185 117 275 71 4 184 254 213 211 155 279 21 159 235 30 281 175 69 122 182 92 61 176 89 3 48 275 64 278 17 10 120 127 247 122 172 287 165 143 299 98 226 253 146 75 150 62 90 219 89 194 281 238 237 133 113 94 9 192 81 238 33 9 59 55 266 160 4 128 188 289 61 122 40 296 169 290 49 138 45 114 271 249 88 86 92 109 15 1 176 110 84 47 203 14 255 156 54 239 211 301 186 265 100 79 270 207 86 44 162 191 16 25 181 237 261 77 213 286 149 46 48 301 158 223 113 240 250 91 146 198 133 20 212 17 112 146 207 190 233 65 122 59 188 175 128 120 97 202 206 63 218 202 70 174 223 98 229 83 206 231 170 263 134 253 102 169 69 4 155 279 179 209 40 66 279 258 279 241 144 238 105 192 253 290 296 166 7 139 161 216 241 104 92 273 256 72 153 47 47 226 85 234 87 172 2 134 214 90 293 180 228 188 5 268 288 208 205 275 103 258 206 242 236 198 147 64 239 70 57 187 168 220 151 219 303 65 197 19 228 296 186 187 213 206 91 150 179 153 3 193 132 44 35 58 84 145 125 281 57 221 87 285 123 200 40 126 232 266 134 226 216 112 212 261 97 18 58 148 28 77 64 70 79 207 216 235 258 21 233 141 73 294 277 222 72 18 197 146 255 139 66 183 53 25 39 224 107 35 271 180 78 222 144 106 279 275 58 35 273 3 220 161 134 32 44 279 257 219 41 220 11 103 174 4 111 129 297 136 273 267 121 204 283 150 79 218 250 119 291 90 169 207 37 175 170 176 162 153 294 206 87 173 277 235 224 220 215 39 7 260 262 11 129 164 79 48 62 75 11 75 49 249 71 187 267 109 143 274 270 50 167 278 270 107 12 15 34 73 37 80 155 294 251 179 63 162 92 199 121 92 216 155 114 93 222 157 108 139 267 58 193 40 134 92 48 156 212 89 267 185 252 270 176 277 20 86 183 59 272 138 300 241 95 33 61 224 291 213 3 123 197 80 243 107 181 2 10 190 111 266 139 160 263 278 57 230 289 231 76 293 76 118 59 239 101 119 144 111 160 243 124 59 145 41 210 70 163 79 304 273 157 48 291 244 289 279 221 125 304 279 19 101 302 116 16 236 232 170 259 15 57 20 141 21 63 248 48 254 198 132 264 200 78 60 55 58 214 191 131 7 83 166 211 35 1 120 204 67 174 200 166 226 100 182 196 160 73 241 211 151 8 131 113 209 66 186 157 217 121 222 268 50 72 273 209 65 196 14 223 103 105 220 69 274 296 211 163 266 155 187 167 147 63 162 250 299 259 284 190 181 82 59 82 191 157 178 77 202 40 47 16 262 73 6 262 304 81 140 41 98 228 145 284 192 164 149 66 160 28 241 79 38 28 22 52 40 137 52 298 300 6 199 5 261 17 63 276 274 39 183 93 263 232 157 2 74 106 282 256 7 241 61 142 196 135 264 257 287 232 91 278 179 136 251 106 75 101 179 133 304 93 123 82 109 171 156 245 208 15 300 53 265 117 125 94 222 66 272 171 78 28 144 203 256 5 118 174 155 243 115 75 90 304 109 169 229 178 204 183 76 88 61 196 16 14 218 182 1 13 294 145 174 91 156 302 250 61 127 123 221 97 75 245 172 167 143 225 237 86 209 253 186 142 52 29 7 12 48 297 211 158 247 217 15 208 218 211 59 131 183 122 226 286 187 251 286 159 138 77 146 111 202 260 204 137 138 107 269 209 38 205 90 255 97 107 265 240 101 107 294 182 292 159 191 264 143 217 41 155 275 57 148 135 153 275 303 14 6 125 99 127 62 271 177 250 157 171 69 199 127 194 19 96 298 124 69 169 201 227 108 253 270 123 25 165 63 66 212 90 271 165 88 120 267 117 2 165 298 81 48 212 248 236 264 107 217 73 144 137 291 29 82 182 127 148 151 184 250 3 29 211 299 148 44 22 301 285 180 184 257 64 229 110 264 68 111 82 205 137 47 104 223 236 300 27 230 55 236 207 90 237 23 209 255 168 282 299 277 4 61 93 206 86 153 219 236 94 48 210 296 258 57 27 125 55 207 279 19 132 162 108 200 74 264 130 142 117 271 143 197 164 273 289 171 52 225 38 180 224 162 291 61 261 25 5 150 259 124 131 243 280 139 232 162 91 149 243 250 46 151 215 238 18 170 270 270 60 143 151 303 165 88 134 221 95 288 79 214 253 17 42 122 117 118 175 233 105 165 117 123 123 250 25 237 263 88 300 260 275 65 111 284 230 74 108 74 41 186 35 58 64 28 84 79 38 71 250 159 249 31 293 267 62 88 112 202 221 260 121 295 249 162 243 53 236 174 260 232 54 38 201 39 258 130 298 13 10 194 152 237 179 112 225 71 263 109 39 60 156 279 142 7 71 289 112 275 205 131 141 159 281 214 60 137 224 124 28 120 270 51 168 290 251 107 1 86 271 68 177 55 75 55 192 23 109 8 110 250 161 56 25 255 95 270 3 158 97 48 160 128 28 14 277 200 173 123 90 165 215 274 78 33 42 78 81 199 245 58 86 208 151 14 114 286 271 14 292 259 196 273 113 30 272 299 139 31 153 93 131 301 210 196 257 41 304 117 144 129 99 124 219 209 62 252 191 107 264 123 107 122 258 124 223 90 76 275 23 206 184 289 121 224 154 35 275 234 21 214 60 50 108 82 195 73 63 63 73 235 14 158 100 283 195 197 283 196 208 37 68 284 229 181 175 207 188 53 282 76 96 146 126 235 221 55 190 236 90 169 172 82 302 239 256 130 40 266 269 146 223 272 269 128 105 94 191 284 229 248 136 166 97 282 126 227 260 159 118 149 281 14 276 59 23 271 108 186 286 171 88 289 264 125 196 107 203 286 196 155 200 58 237 12 55 215 58 297 88 128 244 185 301 228 54 248 116 231 108 52 25 235 131 61 220 159 67 278 271 80 245 81 299 221 102 98 79 14 13 61 129 174 67 20 275 190 179 145 280 258 34 88 210 188 213 222 42 269 151 114 181 95 67 82 205 38 50 286 197 260 277 183 285 11 142 299 206 293 68 44 79 80 114 296 110 244 4 21 128 237 221 41 269 33 5 176 23 2 158 170 302 289 57 7 260 260 224 285 57 43 121 90 181 274 46 285 275 275 15 181 29 257 45 50 47 110 104 67 63 142 256 210 52 232 289 107 185 233 214 135 21 101 280 161 97 114 210 154 275 189 95 227 71 13 207 4 211 10 113 245 121 178 8 259 48 249 299 212 203 217 162 176 298 28 52 220 20 266 74 24 157 179 232 281 303 241 145 170 28 91 267 73 104 2 285 269 245 284 145 14 115 267 301 109 126 11 110 146 173 234 129 81 153 122 24 160 142 233 279 269 211 56 32 149 232 54 58 164 173 287 298 197 47 49 147 70 280 211 291 263 273 281 141 228 218 48 262 163 116 44 183 160 106 199 107 80 200 9 240 123 258 69 293 106 172 64 69 281 198 159 198 242 218 12 259 7 124 227 120 19 109 109 59 192 207 51 31 153 121 61 3 155 82 112 83 221 297 256 209 66 194 120 165 125 142 99 223 20 101 183 110 19 81 112 231 184 242 293 57 28 242 99 179 172 64 288 80 61 251 105 209 238 77 7 227 70 268 291 44 95 132 194 203 304 141 184 81 142 254 173 137 201 243 69 95 253 17 75 27 123 78 235 93 33 9 4 103 270 288 38 29 12 86 209 279 287 186 233 177 206 156 266 126 117 64 165 113 211 125 244 115 269 184 289 52 235 299 243 265 202 237 55 166 114 296 123 248 298 43 31 104 159 20 8 228 228 115 270 82 175 187 66 202 137 149 292 142 271 212 73 99 47 192 209 261 99 78 191 278 97 213 224 22 201 93 19 89 147 82 167 177 255 293 136 277 101 66 140 174 293 58 188 186 197 246 162 59 160 285 156 14 264 203 288 277 299 82 168 216 175 139 30 16 231 81 6 180 264 38 54 177 201 87 6 153 171 43 259 282 216 3 63 287 130 255 165 292 210 180 47 290 181 4 298 125 113 64 195 297 196 225 224 293 163 244 260 1 66 125 213 148 171 80 218 81 88 33 37 298 283 226 78 170 47 252 178 90 272 126 189 237 282 77 293 93 245 86 89 57 187 237 235 238 180 201 297 37 236 46 30 168 16 72 114 296 121 168 169 11 228 176 15 128 143 38 5 13 240 236 276 5 158 160 192 36 28 173 104 130 186 197 177 30 161 117 208 72 2 89 226 300 198 34 70 227 68 238 117 245 153 137 226 93 186 262 141 279 83 37 105 207 224 128 227 283 243 274 240 80 67 70 32 163 59 117 217 163 106 219 132 23 206 287 221 271 129 278 267 282 291 194 228 84 151 286 205 203 269 98 277 197 95 127 169 156 211 201 172 107 159 132 166 67 33 124 164 235 71 80 14 186 219 260 130 293 302 222 67 207 164 61 244 104 292 75 113 233 263 12 273 5 123 232 149 53 259 190 253 219 135 45 59 40 251 202 205 80 191 200 193 188 199 201 156 140 131 53 188 12 244 122 217 240 52 57 275 142 125 7 117 53 179 173 80 62 281 131 132 130 108 247 88 3 170 62 271 3 22 131 112 57 252 224 59 36 266 207 134 130 271 170 156 32 150 62 230 2 101 165 17 159 246 233 181 218 148 8 115 250 90 35 156 131 59 20 2 63 48 161 94 147 2 143 157 200 50 282 162 182 115 181 85 175 132 181 223 254 294 287 283 72 257 68 205 301 115 253 30 234 103 216 234 51 50 45 85 218 161 109 13 269 225 295 191 269 40 51 207 22 244 93 147 26 112 170 175 229 233 84 119 168 282 142 299 293 53 186 219 47 102 188 226 216 193 8 6 125 237 19 262 235 166 264 254 233 12 265 38 207 129 271 178 66 19 255 180 110 148 45 44 150 87 112 90 301 185 42 21 135 174 54 273 274 180 267 298 281 183 136 222 161 190 263 196 15 273 241 113 115 233 236 243 60 87 103 38 151 164 185 96 176 77 180 17 10 273 297 44 257 244 294 130 57 248 210 127 105 65 51 255 59 194 245 25 100 67 146 280 125 196 301 96 126 280 116 19 252 74 38 215 205 283 96 141 256 132 80 145 4 265 182 225 55 59 247 22 160 221 140 151 135 155 249 65 224 174 229 300 182 161 279 122 180 294 287 288 204 102 225 223 19 95 189 228 32 242 209 87 19 39 54 20 185 34 108 296 266 140 79 176 226 185 222 77 184 13 119 96 261 152 145 91 108 37 240 132 243 16 158 270 194 120 12 101 81 271 96 87 122 162 130 254 298 82 114 212 12 154 143 162 189 58 108 268 300 256 254 97 32 197 167 29 260 140 288 207 117 140 137 142 210 293 180 142 118 116 263 166 104 90 138 199 221 296 272 238 230 104 133 68 147 163 57 304 59 73 83 264 164 149 101 96 232 243 112 104 23 205 183 92 36 256 31 183 259 261 167 18 118 118 7 108 168 44 264 286 172 280 2 87 84 106 114 227 209 246 175 2 298 60 294 256 233 128 29 73 82 277 293 91 155 96 177 90 142 96 129 150 218 164 69 21 208 158 248 199 167 275 134 165 35 93 50 275 65 182 12 67 279 110 222 42 10 21 77 225 48 287 108 194 28 142 12 167 296 39 156 67 228 303 3 119 257 81 187 105 270 210 19 66 209 18 3 63 76 33 115 269 2 76 223 166 246 267 168 168 272 27 122 191 274 51 257 42 191 154 299 4 75 8 165 99 202 138 199 21 168 232 202 78 143 16 35 121 38 172 158 11 118 163 48 249 158 45 277 172 132 242 189 166 92 59 171 280 180 30 280 203 265 7 220 29 4 7 33 84 7 165 62 48 245 71 279 91 93 208 187 25 47 302 140 96 151 288 150 178 109 282 17 141 289 95 110 210 48 168 278 28 211 183 304 293 93 186 228 153 73 128 86 124 51 127 29 46 303 169 35 292 222 103 42 2 167 219 168 129 296 91 155 261 132 228 35 11 282 284 241 60 285 256 289 195 55 48 184 242 38 80 151 94 247 157 24 45 161 115 171 54 145 36 262 225 52 39 94 81 107 164 224 137 232 142 66 48 165 54 194 198 126 208 210 264 222 55 244 281 99 204 86 284 209 104 36 261 157 115 6 233 101 207 248 108 26 200 170 31 29 35 207 97 67 216 164 173 71 211 109 95 280 205 282 143 7 42 237 61 145 135 101 270 96 2 191 167 183 215 188 143 132 103 256 302 251 294 160 268 39 196 173 6 239 235 57 47 198 28 155 285 294 247 35 291 81 199 190 177 239 96 46 216 57 118 261 240 7 117 17 238 50 92 156 27 77 39 222 218 189 99 273 53 104 156 46 280 164 130 129 93 137 27 185 33 206 253 157 21 116 166 117 37 2 27 249 151 272 81 275 279 294 64 46 19 126 304 75 274 195 64 156 136 203 63 174 27 29 178 91 277 267 237 5 22 49 10 295 224 299 83 223 253 74 168 98 296 98 42 30 82 198 218 299 192 122 160 208 276 111 296 18 159 28 232 71 90 74 47 213 55 292 102 286 295 85 34 82 281 48 29 51 130 220 200 132 41 112 238 45 125 122 86 94 154 116 210 99 23 251 172 215 71 44 74 62 67 9 235 18 291 286 119 164 203 246 301 50 94 101 278 296 160 153 291 22 206 140 31 187 285 160 125 128 63 199 197 80 159 86 33 201 276 141 110 72 133 105 74 83 273 229 17 23 178 155 134 54 14 214 81 245 75 184 57 238 11 181 123 224 141 134 298 228 212 24 204 198 199 269 99 79 262 205 95 175 234 265 181 281 80 272 303 208 206 13 199 17 289 77 27 299 142 144 270 141 76 266 121 213 63 83 294 146 204 266 156 136 59 52 140 59 25 244 85 296 67 177 139 74 240 134 115 289 294 142 98 104 7 128 298 244 202 288 142 276 253 240 173 34 72 31 1 283 27 127 205 221 202 281 85 220 175 139 242 19 146 288 281 120 212 209 15 150 280 139 209 196 141 273 144 20 223 212 111 302 24 18 60 32 212 43 227 258 284 290 25 8 134 210 242 1 23 130 97 138 256 268 180 25 299 172 39 285 110 198 235 277 50 67 52 23 199 89 77 15 299 109 55 103 194 36 7 77 63 118 17 101 103 210 99 291 167 15 274 80 147 11 51 230 24 246 216 285 99 171 43 17 79 198 149 228 70 159 139 116 151 269 72 66 3 177 132 263 79 107 221 253 268 257 100 274 50 136 264 97 99 294 172 259 269 107 289 136 301 242 158 154 267 202 17 142 171 32 20 251 281 64 71 264 169 37 14 12 75 61 84 51 239 104 186 196 224 142 232 138 189 89 222 302 114 237 284 211 285 120 112 24 240 8 120 74 166 83 206 206 198 300 257 111 183 66 140 9 22 50 52 31 299 101 167 251 285 17 198 221 61 148 61 178 92 266 185 285 165 120 189 110 20 243 157 190 170 199 176 68 248 275 97 237 197 169 48 233 258 61 55 150 31 108 228 107 43 28 11 109 16 141 299 290 65 116 273 125 158 47 179 157 205 18 27 138 102 265 45 262 73 6 136 52 133 34 227 168 260 288 80 15 35 129 131 40 230 78 189 115 90 54 12 47 273 208 31 267 58 161 12 112 149 201 6 293 149 282 137 34 152 230 110 104 24 253 158 150 11 116 24 24 2 42 108 286 81 119 203 249 259 73 197 268 214 237 165 275 243 171 300 209 89 75 40 196 275 67 120 231 101 45 1 210 32 72 84 84 103 93 204 245 107 249 24 16 209 266 281 206 215 127 61 225 152 228 225 280 151 252 69 204 93 18 215 194 287 235 105 186 228 63 222 104 123 278 179 134 20 228 50 39 276 118 55 78 80 285 148 202 52 256 157 198 105 31 32 54 197 293 275 211 294 278 84 102 185 176 94 66 278 42 215 134 109 241 173 120 264 208 71 241 40 260 210 198 257 186 185 151 31 194 176 272 61 170 68 189 288 65 81 168 214 267 152 32 77 24 10 55 40 260 224 73 168 116 43 76 51 259 146 142 268 273 226 132 20 29 152 209 122 132 238 144 280 202 282 289 229 136 267 97 95 89 61 181 282 132 147 199 100 64 36 29 73 157 142 265 217 268 291 235 268 162 264 218 250 235 300 155 27 250 132 290 25 111 276 131 18 70 259 113 173 24 4 139 142 214 293 102 189 58 293 28 100 40 152 67 119 142 267 115 16 219 262 188 266 36 45 275 295 255 30 230 273 217 6 129 279 84 191 69 207 88 23 49 280 220 47 259 206 267 223 250 65 153 11 171 95 174 73 50 110 176 283 191 243 287 267 165 220 229 87 1 172 58 283 57 38 80 303 161 94 230 92 205 283 226 138 282 125 10 30 35 102 72 89 215 269 73 96 74 15 155 87 106 129 227 190 108 295 280 207 106 23 98 228 266 281 33 254 124 33 205 109 91 152 169 113 54 228 117 159 218 275 110 234 223 79 122 51 238 47 39 230 124 172 79 95 277 252 187 108 252 9 66 275 254 125 29 184 138 255 72 130 286 194 80 88 175 303 62 54 139 203 218 2 191 239 33 127 121 233 27 158 302 114 28 99 255 86 156 154 221 54 62 110 138 107 32 7 121 189 74 128 18 183 91 94 216 37 114 200 14 61 56 54 242 27 248 2 18 104 25 142 77 268 206 181 117 20 286 92 158 263 83 172 108 255 266 195 204 291 89 193 90 287 119 261 37 61 267 49 215 94 52 110 266 269 274 274 288 278 303 66 191 206 170 79 265 123 224 287 5 202 85 113 26 203 168 280 81 63 242 159 69 48 181 104 286 243 74 92 156 108 304 137 262 147 1 287 89 7 223 187 303 94 56 152 261 289 105 121 2 211 158 31 282 66 108 257 260 303 39 99 254 27 59 213 156 1 239 265 114 13 12 39 222 135 268 181 288 80 303 210 295 294 278 205 226 29 92 199 58 67 226 36 297 145 269 125 201 58 103 117 128 66 55 260 64 104 163 111 199 59 136 216 176 197 23 251 7 273 97 280 248 292 233 241 188 296 67 133 193 77 278 203 106 28 293 299 11 166 211 179 204 57 142 179 17 112 281 210 148 62 99 273 67 254 263 275 115 77 295 280 208 238 186 219 228 149 21 198 224 271 192 290 8 66 200 164 143 130 142 247 162 218 218 52 256 298 31 161 264 83 107 255 119 201 202 78 183 124 17 118 241 4 274 74 170 184 87 138 265 143 295 186 159 189 230 168 166 124 171 81 150 274 124 278 187 129 2 17 128 302 18 3 22 210 92 189 204 241 36 131 210 92 279 152 215 96 2 96 127 18 284 201 27 232 236 31 292 259 56 18 236 87 95 9 76 52 198 216 273 248 143 232 114 116 88 11 193 213 236 266 235 113 240 209 229 163 302 242 132 136 87 208 35 35 153 183 304 103 5 251 201 124 132 167 271 73 191 30 6 102 64 232 267 282 1 284 52 225 179 83 135 41 179 229 166 80 89 190 251 261 60 144 271 105 102 122 250 215 77 119 219 108 15 161 103 177 92 95 204 95 262 122 263 184 40 52 291 185 220 238 300 219 260 102 76 182 24 196 46 297 299 247 232 63 265 145 180 119 85 31 175 106 234 98 128 147 280 238 89 178 85 216 46 109 94 10 74 11 279 236 1 282 148 284 31 67 7 26 56 27 178 224 154 76 290 217 241 129 60 85 297 228 150 293 90 4 279 198 123 8 43 179 145 246 102 17 278 93 59 22 8 114 259 143 229 268 107 279 175 102 123 54 184 67 127 28 10 120 116 204 147 39 208 18 118 286 86 208 30 42 15 126 77 286 193 166 23 134 197 167 290 138 80 30 12 149 146 160 211 68 80 304 230 188 241 110 178 43 19 125 186 187 246 233 10 47 255 64 51 238 148 61 297 154 286 247 212 196 42 253 222 160 143 245 269 89 46 290 21 42 87 277 82 97 224 113 94 232 271 247 209 97 245 39 54 170 70 99 77 276 243 107 152 98 3 267 46 122 164 137 25 248 86 39 292 47 174 204 63 70 61 32 101 29 268 274 134 272 22 191 136 155 223 272 41 78 146 248 135 270 156 133 69 165 301 250 177 98 252 72 173 249 162 212 157 126 93 164 83 224 168 152 29 155 222 35 243 235 122 124 59 68 295 153 149 92 232 248 237 117 182 78 75 61 9 133 136 40 20 113 77 289 190 186 65 195 141 65 286 31 25 96 298 3 132 57 136 97 171 227 93 78 245 295 166 299 245 175 99 224 164 303 278 42 101 58 15 255 212 111 21 223 192 198 109 188 113 57 19 29 92 211 72 174 274 226 7 40 49 116 72 188 166 285 280 244 75 34 22 275 139 48 119 132 183 36 216 199 10 121 255 104 187 60 94 33 178 141 30 177 52 234 96 187 132 3 187 288 60 43 226 289 111 272 226 245 86 54 60 42 258 292 29 11 63 39 69 128 291 75 214 304 301 136 211 89 84 113 254 299 237 37 300 249 34 249 232 248 88 227 184 200 28 5 209 76 154 295 273 195 12 269 254 65 17 49 246 129 192 147 34 25 187 198 179 98 49 212 59 207 106 69 281 74 203 165 103 231 82 171 263 117 226 197 101 302 188 20 12 266 248 198 117 135 179 276 216 56 67 58 201 235 233 286 125 30 60 301 194 168 248 84 165 97 175 68 153 44 157 48 63 130 248 46 152 284 190 238 176 33 3 261 297 181 280 105 172 81 174 16 254 245 72 225 293 283 81 193 294 192 281 169 133 197 162 192 58 13 98 259 85 156 34 107 219 23 304 148 27 177 75 69 200 173 152 165 244 258 162 88 215 275 155 185 180 129 217 280 53 297 196 294 40 210 66 77 213 22 120 227 191 74 160 172 223 273 159 138 14 35 74 219 150 165 9 67 143 200 92 285 214 61 173 165 80 243 222 80 29 149 304 261 173 170 73 158 247 125 198 262 269 288 272 205 60 169 19 40 225 132 97 78 269 237 269 268 8 119 128 272 83 49 188 50 93 249 46 108 164 229 51 50 203 128 300 141 2 141 65 156 182 14 43 164 3 97 26 78 215 248 104 122 137 31 176 4 286 42 65 222 283 82 277 270 252 148 15 98 184 296 266 48 65 38 288 257 111 224 68 91 136 42 38 83 148 18 119 234 58 122 252 27 202 252 52 262 120 200 59 94 200 32 1 104 138 145 214 54 93 271 42 68 8 223 246 40 243 230 296 152 114 287 187 175 24 50 250 163 237 106 260 115 2 286 239 52 202 145 284 252 25 65 68 180 281 37 67 109 253 123 100 120 210 186 109 146 272 264 246 282 252 232 171 58 64 191 255 11 42 3 249 167 37 55 83 154 82 39 119 278 278 103 117 5 59 186 40 152 205 262 167 197 154 89 108 154 299 294 133 174 36 28 84 124 191 249 248 119 300 56 230 54 6 35 135 298 285 156 162 256 215 270 197 90 213 29 111 68 65 76 113 69 168 44 301 53 142 180 156 87 2 155 140 187 8 254 161 111 187 137 171 208 291 256 14 80 285 78 47 98 242 273 30 281 238 298 238 285 106 66 267 236 273 253 258 192 70 160 167 89 122 34 61 28 64 239 48 23 12 144 289 140 36 141 54 13 150 136 250 38 36 259 207 267 198 42 87 102 54 232 9 206 122 8 285 103 96 14 210 78 92 65 14 150 221 162 102 11 293 262 143 112 175 37 109 39 196 268 88 302 43 58 123 146 225 42 66 178 61 149 155 97 200 186 274 137 211 2 1 4 210 8 43 296 255 115 232 83 256 115 162 53 161 175 14 287 177 214 93 119 107 51 277 199 17 275 77 162 80 182 274 196 28 177 234 12 92 12 293 301 76 282 131 302 125 82 70 272 22 271 291 251 304 123 274 288 117 102 90 278 290 275 191 68 127 73 33 27 263 188 157 111 227 138 25 261 191 237 272 164 284 289 66 12 212 113 98 240 178 304 150 285 33 173 83 36 303 72 223 144 235 296 248 277 137 105 304 206 157 250 140 125 90 142 164 204 41 188 180 190 122 177 48 196 118 1 221 181 215 101 181 51 107 51 30 130 144 251 191 263 265 75 142 206 249 205 80 28 252 167 204 107 20 42 113 197 134 44 61 9 85 197 105 113 277 31 57 95 128 111 100 8 256 278 259 247 240 242 247 98 183 289 55 126 122 215 45 235 255 7 64 291 228 264 155 34 97 14 158 253 264 260 262 224 209 187 12 265 179 139 251 272 285 174 103 284 68 52 167 273 247 221 132 297 168 138 173 142 150 60 10 189 225 4 206 135 162 201 185 110 31 119 262 155 274 180 103 221 57 197 235 105 170 110 157 1 139 254 219 279 231 235 130 65 129 206 223 225 271 117 187 53 118 130 141 260 287 220 167 164 240 261 41 260 232 218 288 166 281 175 123 227 19 207 159 223 273 183 299 82 290 232 192 221 171 143 297 252 12 73 5 193 205 31 142 89 138 125 175 197 269 201 282 115 246 63 42 157 67 272 189 135 128 282 125 247 219 187 4 12 139 288 134 66 266 177 112 148 41 50 212 97 53 138 280 178 303 126 147 238 154 181 194 206 180 173 296 60 282 205 179 185 252 128 2 118 287 42 6 1 3 231 251 185 247 275 284 85 93 205 8 73 172 197 243 203 232 141 159 39 135 268 3 196 271 292 24 226 141 285 277 227 137 29 89 208 190 241 132 58 150 143 62 158 169 46 206 3 72 92 2 31 224 194 227 146 79 63 151 162 115 76 227 30 45 109 178 203 298 33 110 74 212 125 132 16 86 165 301 243 35 72 302 177 65 56 241 157 92 11 146 301 101 256 177 150 109 63 276 219 68 40 30 190 261 104 176 304 47 33 259 22 108 129 241 257 70 213 299 281 68 267 198 109 113 272 260 281 41 90 35 125 302 254 99 52 71 211 182 208 219 213 230 249 176 302 103 120 163 187 168 300 133 143 138 122 283 82 192 39 52 166 116 223 208 86 288 120 104 254 292 56 101 52 17 269 158 58 167 217 58 195 217 21 128 132 217 109 122 299 111 275 229 50 258 264 101 87 53 244 23 77 94 10 203 263 248 115 187 210 105 175 45 118 159 152 170 43 254 3 227 172 275 130 14 203 65 74 114 253 257 164 225 76 258 177 20 66 250 164 131 226 134 139 240 137 304 2 78 140 237 113 152 118 89 98 89 98 280 46 192 50 260 19 194 174 114 298 109 146 62 209 264 89 256 252 141 55 78 128 246 234 3 137 287 233 50 289 92 126 199 146 142 4 296 274 242 27 174 8 33 89 68 34 255 270 115 275 46 114 261 208 220 24 197 223 67 180 57 284 254 2 32 302 215 303 187 199 297 65 159 174 164 59 228 296 76 224 14 121 194 82 232 220 59 62 146 203 238 227 95 302 77 33 111 288 46 18 86 1 260 191 76 135 292 264 242 159 10 131 140 186 119 209 234 107 190 190 102 42 220 301 131 235 249 89 287 54 215 165 106 62 110 126 4 286 116 51 282 229 184 256 8 258 3 4 21 243 76 204 279 5 176 246 221 67 242 292 14 302 169 160 213 228 79 153 242 302 298 88 284 164 130 204 36 89 141 146 232 76 133 167 6 217 254 132 3 213 177 98 212 129 277 111 161 281 34 254 246 61 179 171 97 188 91 237 143 290 29 171 162 279 299 145 239 274 236 155 24 83 140 101 213 126 111 79 138 98 173 256 219 40 228 185 128 126 244 278 54 22 238 239 168 13 141 26 201 209 252 107 13 134 149 284 15 234 269 287 128 195 80 144 243 215 84 56 245 267 215 83 104 13 221 298 144 113 36 79 147 225 176 217 291 101 169 238 110 4 159 85 2 296 102 220 17 248 227 93 16 20 57 201 288 45 168 110 292 40 45 119 23 303 197 42 283 191 149 108 254 231 54 90 274 248 83 30 104 231 173 90 216 84 291 300 82 217 182 133 52 141 157 243 132 74 183 143 261 142 223 214 55 153 109 59 234 144 30 48 57 84 259 200 193 227 19 183 7 196 38 225 165 73 115 241 224 37 206 140 85 284 106 133 94 171 35 284 227 255 70 222 48 40 163 170 1 224 171 101 75 221 31 59 253 67 151 15 42 193 295 235 270 195 181 252 26 2 47 206 107 160 179 174 144 178 117 216 192 255 122 293 259 302 209 120 34 34 291 276 89 135 47 153 224 151 60 186 233 45 250 302 283 281 237 168 184 234 226 7 241 182 200 289 204 229 72 37 148 166 257 147 25 15 23 261 143 51 143 260 87 70 190 209 234 297 58 21 129 118 296 297 49 178 130 172 115 101 42 11 175 82 215 6 56 24 132 281 302 80 114 32 242 116 193 87 276 78 54 284 256 229 257 7 100 278 156 198 152 95 278 142 183 152 76 206 287 249 39 249 53 67 153 93 169 218 291 255 122 26 51 301 134 15 82 61 108 46 202 50 178 29 267 109 158 165 165 238 167 145 278 247 103 223 170 292 20 251 287 284 297 108 43 274 182 31 76 239 128 270 178 97 6 93 163 235 173 100 281 44 206 159 301 240 52 145 302 245 95 61 25 147 302 10 135 261 236 112 25 82 184 303 143 16 116 47 227 296 71 246 114 30 6 92 187 247 187 207 259 187 282 94 101 205 6 126 280 68 208 245 300 283 107 94 182 165 188 298 262 106 195 12 52 140 109 267 301 294 250 300 298 30 148 284 221 145 85 262 202 272 31 39 155 268 50 272 249 146 125 182 55 191 242 238 238 216 120 291 134 200 24 296 156 216 105 99 99 249 83 149 230 264 81 148 296 285 39 178 99 39 84 129 76 141 282 222 145 170 253 196 244 73 58 165 279 203 44 60 178 217 45 132 88 32 93 282 232 277 110 193 228 119 2 20 293 188 94 206 140 65 166 105 159 151 207 209 82 276 26 234 283 26 51 179 59 19 61 52 172 181 131 237 158 248 204 29 239 277 233 182 273 10 25 217 230 124 110 138 26 41 203 256 55 213 177 296 91 229 181 142 203 26 251 24 79 59 49 31 139 92 32 21 256 38 1 247 130 128 120 55 251 102 58 268 285 203 257 49 120 54 267 137 168 164 118 274 195 268 99 264 276 207 26 199 83 80 258 298 206 22 213 142 216 98 181 177 82 103 91 110 243 110 133 125 227 70 201 111 201 267 212 88 33 125 125 166 255 84 30 216 182 47 101 119 280 260 101 115 209 158 130 51 54 43 139 267 69 221 74 273 8 302 204 25 245 274 199 212 5 165 33 104 262 227 271 223 117 123 50 44 93 7 219 26 194 101 239 23 97 144 287 262 77 64 204 69 204 60 1 211 71 63 82 256 118 86 128 295 273 200 40 204 277 77 137 212 297 94 244 198 233 23 180 118 189 79 236 222 158 233 300 204 123 113 110 216 130 105 212 36 263 292 77 244 8 291 35 22 168 66 219 288 245 212 24 136 117 161 115 154 32 130 116 7 23 129 140 124 42 159 95 165 49 244 60 203 282 152 303 7 256 199 158 67 108 91 163 88 59 13 163 230 270 242 260 201 186 22 50 73 302 48 247 250 242 132 17 74 81 137 278 251 301 168 195 238 274 274 132 185 164 107 263 4 191 219 7 63 250 155 152 142 137 281 29 112 221 251 73 79 137 206 298 210 275 213 179 103 219 139 59 265 131 64 279 187 152 43 34 90 21 257 226 236 164 20 99 144 119 285 175 280 196 142 130 82 137 270 256 92 97 24 119 87 253 86 54 103 2 112 38 201 206 52 127 65 82 262 212 49 47 122 226 209 93 2 27 91 91 279 236 281 12 91 112 97 188 146 75 82 166 41 221 102 47 190 221 31 46 111 69 262 182 136 231 283 125 112 241 240 29 56 200 275 22 12 166 223 106 11 37 89 143 177 143 51 54 47 114 158 42 68 206 99 6 75 153 230 60 39 66 216 127 144 104 144 226 261 143 149 286 242 15 255 243 225 32 296 277 159 14 154 301 97 50 222 229 13 57 227 268 291 165 76 19 23 267 166 29 84 172 261 228 302 268 126 50 41 276 37 128 139 65 184 126 194 79 284 229 135 228 71 33 118 199 144 172 95 296 196 238 44 31 286 53 91 59 202 147 104 232 241 75 264 283 52 63 135 221 22 132 1 190 94 149 229 192 211 142 59 133 192 217 217 182 194 3 17 101 248 141 164 223 179 142 50 258 130 188 210 237 293 9 195 225 242 252 242 141 36 1 281 301 233 16 274 193 166 298 179 150 226 180 151 65 57 303 84 302 62 92 12 92 267 159 98 293 191 215 154 76 47 209 224 194 127 242 112 200 175 213 63 284 184 55 260 219 285 155 290 148 27 49 83 91 64 269 192 253 34 185 195 246 270 134 301 284 12 217 56 114 165 14 200 108 142 255 48 210 36 272 149 25 233 156 194 111 213 304 192 287 104 237 112 78 66 271 233 75 280 195 263 263 195 144 215 58 304 10 10 3 285 74 112 8 179 228 66 157 72 202 178 112 231 300 292 52 32 262 293 275 149 302 185 129 3 161 1 81 198 288 125 285 287 116 271 260 122 33 272 198 220 191 237 14 3 8 66 303 278 278 175 18 199 154 133 268 104 58 43 161 95 250 89 197 208 145 225 1 163 52 145 303 160 291 127 155 221 236 152 247 271 261 85 175 49 42 283 54 13 201 195 285 286 52 286 268 194 298 167 165 169 188 24 239 297 192 26 16 290 167 84 239 125 10 95 158 302 166 245 254 231 21 72 300 304 130 206 224 225 35 133 207 209 291 263 94 17 299 67 237 151 288 169 1 2 251 40 197 58 25 258 90 27 224 296 68 33 30 130 281 34 136 230 194 157 287 291 187 197 13 200 300 193 29 156 196 50 189 158 92 22 164 247 299 70 42 38 289 74 137 262 117 2 227 64 122 146 196 6 109 118 275 290 80 59 122 3 101 176 8 16 129 57 274 282 111 14 80 301 206 88 285 172 36 250 158 259 158 304 115 138 281 68 244 73 46 37 27 210 25 97 93 280 145 68 244 68 240 106 50 53 107 118 218 190 83 41 283 101 16 241 151 148 133 143 69 179 9 50 209 155 121 180 129 258 278 172 107 167 219 29 70 119 194 125 283 94 19 258 216 131 238 304 252 193 198 77 204 192 46 294 74 193 221 145 40 126 127 226 67 137 230 19 214 236 164 213 296 291 202 220 267 162 166 243 225 194 62 175 90 193 270 174 3 156 80 267 46 240 255 181 138 289 88 101 51 190 65 277 107 84 8 165 20 110 267 183 88 235 69 83 123 214 249 13 171 261 129 26 116 236 208 177 51 100 94 204 85 102 57 117 254 103 32 100 143 45 22 270 302 263 194 151 144 31 148 11 93 178 127 16 90 79 271 261 86 268 245 117 163 199 110 221 276 109 123 165 118 152 201 108 173 103 88 144 122 166 47 11 225 87 80 156 181 97 246 256 188 303 131 165 80 88 126 242 96 258 265 268 93 228 195 256 71 194 12 65 144 39 209 213 29 250 172 230 34 4 119 40 67 16 55 109 160 220 201 64 251 205 247 158 291 291 70 157 43 67 162 102 40 263 297 255 29 133 24 84 248 111 129 124 216 133 141 268 125 146 272 240 16 276 56 240 107 105 2 104 136 220 165 216 51 286 6 128 202 272 63 175 68 181 39 84 182 170 140 217 194 95 130 46 165 247 71 109 67 69 81 152 67 209 92 25 277 126 245 48 298 176 156 80 49 217 147 167 116 191 267 295 50 183 227 133 286 26 182 281 250 88 55 58 31 216 221 140 298 36 239 142 26 136 56 56 165 63 25 39 5 144 226 207 119 168 237 177 301 173 1 125 232 284 154 90 91 127 26 24 208 8 122 202 185 230 74 179 79 272 166 54 120 27 110 37 271 15 84 33 165 48 1 11 205 24 95 296 62 303 151 197 288 78 219 295 255 88 95 190 58 258 234 267 129 253 201 267 289 107 15 131 178 64 235 196 185 92 300 130 269 207 232 173 83 162 212 85 212 96 291 132 207 94 234 83 222 32 12 28 181 300 16 100 117 19 164 182 89 144 254 152 242 187 58 222 262 256 169 182 192 141 72 151 45 48 117 149 196 19 150 143 293 257 238 146 249 195 82 291 294 277 118 300 157 167 251 57 260 302 86 184 173 211 123 98 115 145 170 83 249 295 272 141 192 75 85 91 87 184 266 231 132 245 180 233 110 89 181 130 72 227 257 233 259 263 122 208 69 97 50 9 240 59 86 72 193 105 226 283 60 138 136 102 285 29 121 227 38 146 291 86 10 143 69 220 34 31 217 227 26 57 265 80 8 83 268 240 177 155 248 296 105 297 57 294 102 182 14 144 140 143 264 152 189 172 295 215 206 131 87 73 157 297 217 113 46 92 79 3 279 167 88 98 92 152 274 112 239 247 283 96 211 23 285 3 239 47 49 212 184 58 257 161 66 19 174 48 72 299 203 138 302 44 235 126 301 97 50 18 228 260 150 135 103 181 275 36 87 31 143 99 154 113 211 199 144 218 55 81 175 102 37 72 290 163 173 206 34 216 33 85 150 91 284 134 187 299 158 202 248 102 295 181 121 202 184 175 1 68 120 234 217 264 145 249 89 83 49 26 165 92 157 197 179 96 292 164 287 122 38 26 109 227 120 52 119 3 81 232 259 124 233 108 236 244 179 277 279 175 219 126 278 26 140 95 15 218 287 296 72 182 147 184 244 281 66 119 107 38 123 244 144 35 63 98 76 200 131 207 250 257 269 210 114 245 99 110 89 33 63 244 215 108 256 279 203 35 90 107 304 292 91 171 236 231 52 269 42 14 281 276 62 38 102 182 280 189 241 230 218 139 208 32 247 74 203 16 229 146 298 38 290 301 94 206 62 217 155 147 85 72 304 244 100 41 269 183 273 25 268 158 126 21 192 282 115 112 109 29 116 226 136 285 193 265 270 35 195 4 38 14 294 123 12 157 244 97 192 209 137 244 210 243 201 23 91 199 68 26 225 152 276 89 180 211 248 23 169 53 152 187 93 197 213 245 24 81 115 197 46 126 92 245 55 108 75 237 26 242 184 198 120 99 131 23 191 233 147 102 282 245 304 169 173 44 294 107 266 214 280 121 285 291 279 214 288 279 119 66 111 253 84 226 16 48 90 86 98 229 96 17 190 194 250 204 253 139 182 266 235 146 283 93 203 6 282 171 234 167 5 219 266 229 16 241 111 67 91 65 74 8 125 218 230 106 24 85 173 154 40 18 244 277 252 128 209 18 95 251 182 282 73 250 79 162 22 141 230 227 22 162 156 109 39 46 7 62 263 117 207 25 80 98 298 34 162 124 284 87 50 84 189 99 22 225 159 293 98 121 74 109 13 131 268 198 173 147 155 175 229 204 57 84 290 34 259 193 293 277 242 48 6 101 132 144 284 261 187 277 302 303 230 192 274 97 257 24 302 76 30 133 181 49 56 235 14 64 256 225 19 118 185 15 111 110 103 264 82 166 233 144 175 22 174 31 111 79 274 56 150 74 231 44 241 8 26 210 76 33 29 16 224 6 149 249 11 205 172 9 195 158 125 226 69 224 58 302 249 82 15 300 225 294 235 270 251 82 136 45 116 228 267 18 89 140 99 148 251 247 3 179 72 293 141 263 84 137 248 219 170 294 151 146 11 301 234 120 64 85 47 241 259 215 296 125 78 179 289 238 39 140 26 213 65 74 204 251 7 69 286 178 262 167 287 168 288 64 45 23 80 55 43 167 194 215 223 28 138 72 202 168 299 143 241 110 282 26 11 74 72 200 43 124 216 210 98 207 51 210 38 190 240 65 141 143 64 268 177 209 133 76 104 69 62 95 12 54 211 189 148 100 57 137 248 161 239 158 192 256 254 220 157 75 122 276 150 52 43 299 86 106 197 170 270 12 21 5 12 147 296 256 102 299 126 12 23 158 283 165 119 99 199 200 191 101 7 93 21 31 38 108 1 24 199 95 46 298 118 55 21 235 98 184 128 78 51 124 236 67 108 46 196 120 73 267 100 224 258 126 278 248 177 145 126 265 221 188 60 152 165 210 150 196 54 5 302 228 261 207 240 156 24 203 71 156 9 110 60 5 243 143 291 110 57 246 202 290 43 92 187 174 242 119 87 265 191 188 176 108 90 245 49 173 272 224 284 202 118 202 135 156 70 181 302 133 82 48 136 14 281 169 22 110 260 64 285 6 272 121 81 294 164 21 72 105 136 240 24 82 71 250 84 40 104 181 185 107 58 153 292 184 300 233 91 47 226 236 110 295 69 179 301 251 47 54 145 24 148 251 242 267 230 165 180 219 66 293 52 170 20 84 61 161 176 191 270 198 303 204 204 46 113 12 221 117 138 188 259 294 177 211 265 67 200 12 56 31 26 188 280 84 213 132 298 82 171 97 73 21 167 205 225 2 266 127 67 78 266 101 176 168 170 227 247 89 249 243 193 70 9 106 57 100 183 258 25 17 303 205 151 104 296 258 196 236 81 234 103 218 95 214 216 184 43 61 10 296 256 239 284 209 260 206 290 300 63 99 78 179 16 152 102 113 128 137 263 219 44 68 236 194 40 167 39 149 278 234 8 261 123 98 129 276 77 42 119 171 56 133 250 177 183 95 171 158 117 151 113 17 112 85 294 125 292 92 23 124 216 4 75 15 57 181 272 13 223 122 191 183 298 270 25 39 76 239 143 7 180 51 171 179 28 173 224 255 3 276 280 244 158 47 208 228 275 78 104 152 146 253 100 155 115 297 141 25 99 229 142 108 304 150 116 161 99 176 44 7 103 83 284 179 25 62 61 45 59 146 179 156 91 115 171 103 265 220 180 129 86 165 220 249 9 157 236 275 254 121 14 14 296 98 250 121 41 55 124 174 65 279 45 124 73 106 226 177 254 50 266 197 139 43 255 302 67 48 49 93 21 133 118 114 194 212 28 170 158 126 59 32 99 8 18 70 22 182 231 36 157 84 141 120 144 12 1 252 167 213 139 66 50 176 106 264 80 290 173 258 12 194 204 212 4 122 52 78 255 1 220 71 300 132 176 129 35 86 52 72 268 42 274 100 290 86 28 280 110 155 92 22 299 40 37 82 16 126 193 57 165 36 91 301 114 60 181 228 40 99 66 139 301 236 141 60 172 78 239 283 120 250 120 210 266 227 195 289 112 122 150 107 247 281 281 92 28 221 146 210 182 182 213 295 216 101 78 16 89 87 118 4 34 221 224 25 154 258 36 192 69 282 31 70 36 124 295 211 192 297 38 227 31 302 233 193 300 165 39 202 247 64 1 298 274 90 99 150 225 31 86 53 40 276 77 266 253 236 243 221 13 41 87 163 284 92 270 193 234 287 7 48 159 75 64 223 277 74 189 44 44 107 247 92 117 45 116 51 160 49 216 240 147 75 5 224 4 95 183 209 211 244 226 180 105 185 156 75 144 149 239 133 3 280 79 169 223 303 205 255 273 171 293 110 140 211 270 101 216 47 243 135 27 83 221 178 186 243 260 248 189 250 246 28 46 12 134 112 130 299 125 22 119 275 238 180 110 247 225 116 60 10 183 189 285 188 282 16 113 207 210 280 211 183 259 162 10 183 180 209 194 150 206 239 238 123 142 150 88 182 141 60 144 70 132 84 8 268 63 184 10 252 3 149 152 127 36 37 239 73 263 236 9 288 269 199 29 61 3 200 250 11 186 61 7 211 233 144 293 44 271 279 269 249 249 97 120 48 12 137 258 12 186 176 173 59 278 65 4 110 129 93 73 101 56 155 109 208 5 268 148 47 250 276 122 228 251 21 303 162 232 153 81 138 246 50 255 200 197 77 160 289 193 110 263 53 69 33 218 16 257 169 2 163 177 218 18 213 265 115 223 29 225 15 44 96 39 133 205 277 43 44 272 249 53 147 225 244 128 68 284 188 35 65 93 51 154 71 303 235 136 190 140 157 215 158 247 50 6 186 151 15 277 1 91 302 196 299 269 40 59 122 45 197 23 78 56 163 18 74 9 202 175 261 160 36 70 21 55 260 6 268 219 63 184 104 79 181 41 3 22 115 147 41 279 133 285 111 219 267 258 238 63 34 125 46 8 169 293 220 10 299 73 82 140 304 128 126 123 251 188 138 281 157 111 294 123 189 284 118 71 113 76 25 175 295 31 129 44 58 193 177 261 168 259 45 187 31 117 280 57 185 188 105 190 3 188 243 14 237 271 57 151 144 207 111 196 216 77 71 200 113 271 164 241 158 162 221 157 127 217 125 104 132 232 39 69 255 222 163 26 117 38 304 168 212 149 139 74 87 237 269 189 148 219 122 302 25 109 279 301 232 253 256 30 107 257 148 155 73 23 174 161 147 184 129 141 285 250 50 117 240 273 20 69 73 208 72 286 175 259 86 233 138 137 292 160 214 141 215 136 231 199 260 65 286 233 263 225 132 10 237 45 89 160 216 16 82 228 7 59 83 270 39 148 7 207 172 129 124 174 103 263 135 95 14 210 65 236 199 17 57 243 258 269 291 204 291 288 268 13 152 38 120 162 140 228 31 56 78 162 111 264 185 40 32 133 302 78 79 148 157 262 78 237 114 147 277 181 242 169 120 228 119 153 33 274 115 74 174 304 261 277 273 93 228 92 15 166 141 139 38 255 25 33 232 132 26 32 158 71 60 25 201 197 245 249 29 198 292 266 149 265 111 61 27 143 259 152 175 98 163 120 112 245 55 98 184 50 74 129 92 267 60 86 94 278 216 95 224 241 303 219 57 165 3 170 46 78 57 118 200 301 65 67 247 262 275 37 216 174 23 182 13 30 113 43 135 87 41 239 125 253 18 282 36 134 228 69 296 247 244 97 256 142 236 116 157 111 101 58 132 300 62 156 271 189 252 264 257 242 268 240 151 210 31 233 258 15 258 208 1 220 138 278 165 11 89 252 1 4 77 129 88 192 195 177 74 240 17 141 170 205 156 291 178 144 216 183 295 165 292 114 42 27 85 30 1 179 164 97 3 239 17 193 185 162 167 240 223 263 189 1 43 18 210 25 161 128 1 69 26 295 249 64 151 104 266 281 63 124 285 175 67 91 289 20 214 285 298 67 263 48 114 9 127 259 273 184 209 4 84 235 268 72 90 100 288 48 211 183 216 256 98 87 50 93 223 71 292 84 53 176 50 90 9 243 164 95 114 22 51 267 8 130 182 269 147 256 105 25 293 212 76 147 302 7 111 76 170 176 277 258 171 95 2 288 52 291 145 61 130 40 185 187 48 103 179 190 222 259 58 231 222 106 141 72 256 176 193 298 123 299 64 186 230 118 20 18 173 233 3 218 177 52 158 200 181 9 205 161 108 173 134 263 265 53 262 277 137 288 145 113 63 190 272 233 234 181 129 27 251 266 235 209 229 167 7 109 73 84 171 120 238 101 262 54 159 303 264 139 87 129 133 140 289 157 134 14 290 255 289 103 159 279 47 289 240 38 88 45 183 21 179 269 13 171 220 115 211 6 19 128 43 245 251 62 11 269 62 14 75 1 35 229 181 139 147 63 185 265 225 246 70 67 216 221 74 184 254 186 243 53 237 28 5 168 31 282 200 126 4 186 222 208 12 26 259 160 83 159 3 293 195 199 171 37 150 75 121 107 38 136 184 156 79 145 129 172 274 127 204 169 185 48 183 161 256 185 208 31 257 220 7 82 155 277 44 262 194 281 176 304 238 179 258 301 278 233 139 272 253 101 275 74 186 146 142 31 275 28 296 290 241 211 104 108 114 53 245 83 153 119 273 70 173 276 228 268 304 171 267 46 265 180 201 130 249 231 17 220 176 136 46 138 233 51 75 123 47 259 89 199 209 26 6 88 24 198 70 152 44 262 297 202 196 60 24 202 110 274 132 144 157 61 284 252 113 297 148 146 231 252 49 236 279 297 218 163 100 45 63 181 44 269 259 274 108 74 257 2 182 10 60 8 137 243 181 39 235 28 295 81 123 153 197 81 151 19 45 131 11 219 253 145 227 146 47 78 238 235 116 129 17 247 56 151 196 140 140 245 298 32 125 173 57 224 154 100 55 22 89 86 239 112 203 137 227 200 222 79 255 139 57 149 166 115 30 275 257 204 207 149 24 100 217 282 205 12 132 119 133 110 85 10 270 129 265 20 300 156 270 157 269 177 193 284 135 49 102 292 153 225 254 34 255 114 244 80 12 58 126 18 210 237 195 158 167 238 17 49 145 245 245 123 188 147 223 86 187 297 297 158 193 50 206 104 97 247 171 51 169 274 126 286 85 222 268 38 19 208 78 76 75 87 68 126 199 161 140 89 16 44 38 102 231 145 131 143 133 205 264 42 84 249 27 74 178 180 18 18 39 173 133 36 232 19 6 90 131 98 172 127 56 33 259 208 84 108 168 98 224 115 192 180 35 160 273 288 183 66 258 61 85 117 295 152 50 57 268 231 245 155 25 274 30 92 243 137 173 80 116 176 62 283 192 89 277 252 223 83 282 115 288 109 149 100 107 181 224 286 101 129 112 278 195 303 49 249 106 288 138 83 245 171 113 148 210 227 190 94 147 230 113 65 301 222 149 251 214 147 221 166 120 64 196 82 301 234 45 299 250 245 68 79 54 274 116 270 183 56 160 132 203 203 286 221 60 209 203 247 288 299 195 196 48 269 10 150 148 139 23 280 97 249 91 117 194 38 170 139 17 102 134 144 285 1 109 31 199 95 18 252 194 157 232 193 260 151 78 17 54 235 263 33 239 135 180 125 180 1 273 25 281 36 27 79 264 66 39 175 227 155 259 98 120 224 94 48 205 296 301 212 249 211 291 88 23 246 192 13 114 170 145 282 67 52 272 54 177 41 119 181 296 20 12 134 6 148 278 66 296 149 209 236 10 50 104 177 201 240 148 229 77 175 7 216 281 259 51 131 95 197 199 213 230 67 270 50 274 62 111 153 200 129 165 117 171 234 268 299 251 297 114 172 89 224 161 155 97 241 124 112 216 11 76 167 300 109 223 178 37 163 118 48 51 234 296 11 115 272 50 290 256 240 284 246 129 177 35 3 32 6 76 139 98 291 37 129 54 208 223 220 272 197 284 74 19 216 202 266 88 269 200 222 238 122 153 3 11 167 198 281 152 58 272 149 50 89 177 298 112 167 131 19 184 125 227 33 117 217 170 14 282 17 148 14 178 19 105 1 134 71 303 214 27 103 127 271 275 15 33 291 120 205 156 211 301 255 200 38 123 15 278 294 93 270 72 220 262 103 122 147 302 3 289 96 4 14 267 65 52 39 276 44 135 205 198 75 226 7 84 285 76 288 258 131 197 214 190 175 140 89 64 39 29 34 241 112 213 18 251 6 11 293 63 258 229 120 88 235 124 44 146 133 296 177 53 292 98 119 207 109 170 251 150 48 153 84 163 66 263 76 284 299 203 35 43 197 95 12 23 123 161 244 282 23 45 213 258 17 224 148 302 231 21 62 53 42 183 37 113 284 141 73 76 193 4 2 76 219 22 38 292 176 197 41 136 259 38 134 136 79 108 161 185 13 261 238 206 48 152 196 84 154 230 10 43 1 92 231 287 72 238 164 270 109 239 115 37 203 271 245 149 82 184 181 211 254 262 251 128 173 58 195 15 264 180 222 252 68 303 88 247 200 209 59 109 206 140 31 266 85 290 164 143 79 241 237 112 44 19 77 83 142 29 236 265 242 291 33 280 204 102 148 287 67 96 87 114 198 154 212 31 244 282 168 210 6 284 128 95 156 194 62 6 47 255 53 259 56 300 21 133 155 59 285 53 193 270 85 95 144 298 260 210 211 112 112 179 47 6 33 58 196 71 210 231 219 96 90 113 196 129 107 293 152 77 31 72 120 32 133 273 193 82 233 83 1 170 1 4 137 224 284 235 65 271 67 97 200 157 2 216 65 245 197 9 43 133 257 9 152 14 241 138 70 70 173 114 267 84 154 63 76 29 196 7 10 126 175 234 55 170 110 267 281 122 150 145 110 170 303 189 265 237 248 53 259 293 14 276 23 2 111 32 31 4 184 132 96 22 144 102 300 65 270 102 238 116 213 29 183 202 14 127 222 180 48 31 266 250 62 193 14 236 295 161 147 249 169 300 148 273 97 140 120 102 163 294 158 296 243 154 31 231 25 81 220 203 170 11 146 202 97 91 23 20 42 2 227 166 238 104 134 296 262 118 246 84 158 2 280 191 90 99 179 76 293 127 193 296 97 281 97 291 259 263 253 34 135 231 248 11 288 84 178 237 179 209 290 222 277 227 237 281 88 145 83 154 178 185 242 55 229 108 203 289 26 186 107 268 273 89 231 93 288 253 17 285 290 142 112 211 35 301 52 281 272 206 15 1 68 87 190 302 269 304 274 41 64 285 136 92 205 218 25 295 37 96 73 194 99 83 70 251 112 180 199 286 265 238 302 243 93 139 256 247 209 90 118 85 274 238 115 61 115 167 120 284 230 47 199 92 281 243 136 28 49 57 18 85 54 176 85 234 97 116 191 135 54 141 227 43 17 11 78 66 178 143 298 241 49 144 206 297 240 49 294 64 182 155 113 67 82 72 145 152 101 56 24 129 151 98 218 303 210 282 152 48 243 194 52 26 138 253 123 44 158 297 67 278 2 146 160 123 38 242 187 63 38 3 239 208 212 234 130 294 143 269 134 248 252 165 42 215 156 164 266 251 203 253 303 126 57 122 239 253 191 62 58 247 53 40 22 256 232 193 225 302 188 16 17 259 27 117 248 57 37 251 216 186 78 15 86 206 1 282 194 288 244 304 299 164 38 92 275 280 167 299 235 2 269 189 259 51 245 95 265 126 26 130 202 45 162 3 71 297 293 136 147 304 43 123 212 15 137 128 272 162 209 259 291 205 110 295 250 29 268 110 44 213 298 13 274 12 53 96 27 97 299 175 81 111 295 290 99 138 80 243 18 266 119 160 180 40 285 270 32 228 25 138 128 167 29 193 223 38 103 131 286 77 264 145 119 139 164 6 277 273 113 28 64 273 38 106 20 295 218 17 78 60 24 173 262 276 50 23 170 152 46 232 161 8 56 88 138 186 96 262 52 171 261 49 265 196 250 119 243 278 250 234 116 168 299 196 1 106 290 87 9 146 186 110 51 269 296 272 227 130 38 50 80 21 249 139 81 222 300 258 133 4 41 106 32 214 4 18 249 185 158 97 299 189 41 85 256 133 61 21 114 32 168 34 132 208 171 121 130 99 104 2 3 260 74 154 174 210 176 257 41 229 194 113 97 183 204 258 32 115 113 84 290 225 34 20 124 39 179 65 292 2 266 123 174 127 242 196 236 276 27 277 252 239 105 217 32 236 299 54 107 55 150 162 92 151 298 172 29 76 174 248 302 203 182 46 79 116 159 212 256 149 79 78 170 206 89 135 47 116 176 65 301 63 291 273 12 290 16 193 167 71 32 14 215 193 259 116 42 295 40 19 181 208 58 207 41 259 213 75 203 27 136 214 264 194 271 124 162 274 218 189 119 143 17 127 24 110 180 156 124 42 225 1 53 209 198 232 256 70 52 232 257 253 90 47 257 218 81 85 117 114 234 145 145 163 100 205 258 225 238 175 238 26 64 17 21 132 67 21 184 136 24 244 113 53 167 299 28 190 182 25 170 81 121 87 219 297 207 101 184 70 47 187 202 100 145 141 76 240 137 220 143 150 72 281 228 87 105 43 16 65 46 164 225 69 235 176 175 253 67 225 18 180 226 169 173 138 203 243 20 21 220 54 191 122 14 162 76 1 266 149 57 190 262 16 218 168 128 133 159 176 225 148 185 238 205 198 20 28 78 186 280 73 177 128 68 167 69 292 26 200 169 270 59 156 125 74 299 125 190 283 5 1 134 127 37 127 8 148 187 170 218 261 304 122 165 147 145 210 31 217 69 275 170 272 39 281 297 74 99 37 215 169 277 16 203 109 119 220 103 72 32 55 46 144 229 275 166 12 162 275 277 246 163 237 71 84 27 15 205 93 242 56 170 164 90 203 12 10 289 235 247 159 228 262 146 94 195 41 236 175 288 151 23 205 163 268 203 280 133 153 56 72 204 85 107 248 227 198 260 191 128 219 18 10 283 206 202 236 38 75 240 65 273 273 234 42 291 45 207 251 202 244 153 203 190 272 279 33 282 107 91 27 219 126 98 197 134 144 14 213 46 276 10 77 48 2 112 102 198 78 171 216 65 36 4 253 15 30 199 230 101 41 145 49 281 24 104 94 246 83 232 40 93 100 284 145 203 132 248 219 290 300 279 142 230 185 252 219 204 182 132 97 257 83 67 91 30 110 166 123 8 111 111 171 147 266 45 286 83 210 21 233 303 161 230 110 161 6 196 159 229 8 207 155 175 3 301 77 60 39 230 126 134 11 32 167 134 33 298 29 292 200 167 96 185 49 201 24 130 82 11 127 15 79 136 84 86 221 180 203 256 119 8 204 279 89 217 100 224 150 159 15 187 221 284 98 64 239 288 252 142 277 177 171 170 263 105 9 75 123 293 167 193 3 140 79 276 144 206 158 167 23 253 126 53 140 112 7 227 168 278 4 226 61 13 262 218 202 210 296 185 280 73 231 136 62 32 247 74 245 296 202 119 196 16 75 26 22 232 293 145 147 206 179 302 111 71 200 65 300 237 303 265 110 213 100 276 101 20 244 85 57 201 29 167 197 119 96 303 82 206 61 211 61 117 200 275 204 218 86 57 178 300 141 25 206 51 167 35 274 12 136 174 289 190 72 65 67 209 29 294 216 117 186 280 2 293 291 284 294 286 101 136 133 14 37 253 43 93 245 245 92 80 74 219 53 245 195 285 202 268 39 119 66 267 244 78 120 208 291 11 167 232 286 36 203 29 192 98 84 51 100 263 78 200 216 4 81 36 120 261 21 35 26 160 161 37 246 195 48 148 162 72 220 272 136 244 283 117 294 231 177 269 134 184 67 137 40 137 261 74 202 164 180 159 96 186 86 48 82 267 67 116 276 186 175 21 187 68 92 71 265 76 84 119 99 191 162 178 155 85 187 63 119 236 220 288 278 295 292 219 194 251 2 90 206 76 235 215 237 297 133 279 196 59 31 47 231 242 166 64 251 184 20 90 217 249 194 10 279 44 233 229 161 63 239 229 232 9 252 215 197 122 190 37 80 141 4 128 200 90 290 234 226 192 186 246 259 94 9 266 240 207 109 5 100 115 272 113 106 132 147 217 229 130 30 158 122 271 206 186 273 119 180 168 260 27 275 135 207 239 22 248 100 164 154 210 77 33 235 224 28 73 128 99 194 197 100 66 55 276 93 100 151 34 118 155 148 129 269 255 273 124 215 251 165 51 213 93 205 3 57 189 101 256 95 176 43 185 192 242 78 10 57 173 55 176 90 5 15 196 165 138 104 154 224 72 196 267 299 212 291 171 177 304 271 260 199 238 193 229 63 296 273 90 39 280 126 10 295 208 124 294 174 122 263 144 131 188 269 69 196 26 159 64 166 164 232 36 276 103 156 119 108 115 45 298 222 4 16 1 213 58 4 80 85 209 86 155 197 232 107 113 38 263 49 292 165 16 242 63 231 66 195 209 46 5 12 66 22 9 226 76 123 40 63 69 204 74 5 97 78 245 274 187 95 61 121 118 169 96 54 147 18 105 15 285 6 56 119 50 272 214 1 180 304 223 169 298 181 77 92 193 298 100 280 140 255 97 103 102 179 23 194 53 44 229 141 264 21 132 243 16 241 106 164 132 223 297 42 238 102 79 19 17 232 44 22 59 182 143 67 210 131 6 50 63 141 289 117 288 219 116 223 161 279 37 160 82 109 116 1 2 228 14 271 89 147 119 95 55 255 108 221 220 127 296 242 26 109 299 106 51 301 168 78 22 193 73 88 136 74 167 211 208 172 220 257 168 180 44 174 213 130 15 234 296 227 257 205 63 152 277 223 79 116 264 230 83 263 213 181 135 119 283 97 126 296 260 100 138 175 196 219 217 42 139 11 50 40 299 52 40 133 146 245 176 96 59 224 85 288 264 60 13 171 77 268 292 67 219 120 44 151 239 154 162 185 136 202 78 107 108 111 72 124 112 227 231 69 149 232 251 9 221 94 293 9 209 250 303 94 244 156 95 148 115 99 246 279 130 45 148 46 271 274 242 282 36 115 248 270 213 121 11 110 244 161 137 147 207 118 44 35 198 143 177 226 289 50 1 119 239 57 159 143 7 228 114 141 244 84 48 24 140 201 175 99 193 92 15 97 125 36 247 136 293 123 6 232 290 292 246 58 142 142 162 103 283 200 46 281 194 267 32 68 73 205 75 241 86 204 43 130 123 162 197 104 265 139 77 102 272 233 17 204 113 207 180 281 145 111 79 75 274 152 187 102 186 62 179 33 62 281 156 265 194 112 21 186 64 135 39 71 217 290 89 84 149 163 66 147 68 37 3 124 157 266 273 244 256 273 260 99 12 25 261 297 21 76 18 140 158 139 52 151 267 7 277 296 25 233 67 278 156 231 142 241 174 290 262 55 275 161 210 183 116 205 288 219 95 37 91 90 300 57 211 111 239 3 74 12 184 76 216 209 91 292 36 68 137 13 136 209 235 91 104 46 243 195 223 212 51 171 96 180 256 265 73 111 186 122 205 146 159 298 145 139 250 135 2 129 98 48 99 284 244 284 206 3 273 70 277 282 123 147 194 191 97 21 162 38 209 74 144 175 301 186 276 281 18 98 187 62 165 24 139 22 165 1 286 144 243 288 26 288 37 168 38 183 272 206 15 102 76 295 153 42 237 227 294 289 202 108 244 296 276 95 81 86 184 98 39 202 261 1 89 42 79 47 182 205 66 246 67 288 139 102 264 23 177 166 152 40 6 208 120 272 196 61 214 224 297 245 299 82 179 122 262 250 140 256 133 51 247 165 84 272 114 216 297 263 210 80 127 259 241 161 272 203 173 40 10 163 151 214 134 139 71 137 194 1 161 124 209 78 119 154 70 106 240 30 11 268 140 249 247 282 253 258 80 108 239 37 38 219 5 212 19 287 24 117 135 48 23 5 152 126 108 281 44 295 35 276 136 85 112 64 164 37 114 25 87 261 194 62 123 192 253 202 93 155 195 66 81 86 208 114 114 81 64 138 235 186 34 276 303 162 58 30 122 56 255 160 262 95 161 53 115 210 214 73 282 279 266 46 136 66 14 172 105 100 73 53 290 15 75 272 177 61 169 79 136 62 68 242 37 167 236 265 244 295 254 216 244 234 104 69 273 276 1 122 100 116 169 77 44 247 174 97 240 78 204 28 283 12 24 34 134 11 72 142 35 243 109 128 84 44 145 292 56 14 301 140 169 291 275 142 85 126 270 156 187 277 288 37 285 237 7 204 249 221 129 18 33 76 280 94 1 221 39 119 143 18 75 147 240 163 64 83 203 242 219 269 63 300 27 72 205 99 130 92 247 279 44 117 156 264 188 89 219 171 142 77 293 125 123 207 95 115 90 64 186 208 14 116 2 258 255 291 141 74 6 51 203 281 13 29 175 281 251 301 176 227 96 127 22 259 230 132 105 133 24 209 294 211 138 265 262 90 12 125 101 36 285 199 16 208 120 268 177 30 249 205 10 179 212 160 132 276 157 130 125 266 21 199 26 252 17 292 164 304 179 86 141 94 56 202 263 128 256 212 45 267 18 73 280 274 143 246 261 100 68 279 159 16 76 190 148 50 212 76 204 39 59 216 112 27 200 232 14 282 10 231 28 261 171 231 41 18 245 268 61 124 5 20 220 13 82 202 114 267 267 26 219 68 281 80 183 222 140 178 269 266 68 296 219 52 49 219 269 52 194 70 83 87 176 15 145 174 13 15 219 9 13 57 143 291 275 43 38 244 288 149 289 125 300 195 124 233 180 102 249 225 292 80 157 186 203 232 247 297 48 111 195 57 196 276 283 244 36 119 155 97 179 37 165 85 152 88 219 199 35 13 207 190 20 300 154 6 116 220 259 299 60 298 17 253 180 244 183 264 185 172 32 14 239 284 10 233 60 197 76 251 280 120 297 189 102 85 201 186 133 74 272 134 247 91 247 41 12 210 257 225 129 160 113 60 30 223 8 254 258 257 192 267 64 109 114 193 44 48 214 30 264 106 293 143 124 135 161 234 241 91 130 121 228 182 43 32 154 179 283 212 253 255 187 158 258 55 263 199 129 197 79 16 174 30 268 166 41 41 206 251 81 184 13 299 288 102 182 158 154 227 215 227 269 148 173 252 74 7 249 57 29 150 252 294 265 107 194 73 274 202 282 239 23 244 28 120 241 35 157 146 7 89 143 108 110 195 4 120 258 20 111 102 104 4 270 149 67 168 48 296 106 109 240 109 68 288 220 140 205 147 226 206 232 23 81 88 267 80 198 26 48 50 17 75 271 8 81 4 287 287 151 220 279 184 274 245 131 139 92 166 31 28 300 43 96 217 271 46 131 175 213 37 139 233 14 257 262 263 241 211 2 282 120 108 256 156 88 95 294 136 16 284 241 79 83 270 164 84 104 53 252 114 283 89 121 252 41 159 249 9 275 118 173 156 255 243 193 90 83 241 128 161 50 215 293 121 23 241 129 177 29 200 235 92 298 162 56 119 130 49 264 7 114 280 112 235 262 175 223 220 24 7 38 156 136 138 233 240 283 116 133 303 19 175 290 181 189 129 91 177 13 37 196 128 10 124 201 280 184 85 73 295 274 63 223 169 187 243 121 84 21 191 233 226 279 240 286 211 299 221 301 8 288 149 62 126 121 19 267 231 198 75 230 93 127 45 128 220 29 264 205 225 150 115 122 83 229 249 30 60 121 46 88 99 66 21 186 180 232 294 152 295 35 36 228 165 144 150 87 10 278 98 176 113 277 293 99 232 175 42 155 80 10 303 165 219 120 302 220 29 118 280 26 118 130 46 90 134 120 141 275 179 28 135 201 90 211 87 223 206 160 81 90 80 173 297 221 105 143 297 89 80 260 102 200 238 184 145 255 164 166 258 155 213 154 80 122 251 173 208 5 103 259 23 29 271 81 231 188 23 111 163 120 246 236 78 195 213 120 117 86 50 33 51 83 276 98 195 279 176 249 118 275 207 222 35 152 1 304 146 197 190 249 63 14 36 54 191 201 284 172 36 129 113 167 283 78 61 116 32 271 153 13 260 167 216 108 230 59 244 217 126 32 234 36 294 177 235 26 111 24 152 72 231 1 127 254 225 69 33 232 100 59 152 123 150 58 167 111 86 233 29 246 105 186 114 273 73 156 244 221 92 285 296 143 175 179 152 166 249 262 85 180 122 201 226 95 213 126 147 192 71 148 119 123 273 132 112 85 8 158 281 171 262 241 189 109 253 49 196 198 141 199 226 100 138 239 20 194 33 58 230 61 224 201 206 65 158 273 53 103 208 75 91 106 4 37 274 206 195 236 252 196 276 171 249 88 176 147 57 226 176 117 22 153 115 224 215 129 136 149 46 75 84 186 43 181 189 302 259 186 137 120 138 299 292 269 112 283 174 46 248 33 20 64 71 275 270 62 228 103 7 257 82 210 65 127 209 203 233 128 10 193 188 40 34 40 91 25 116 288 98 9 280 270 270 57 104 232 258 251 188 231 44 291 103 219 287 47 220 81 157 80 255 76 183 81 11 34 86 261 58 265 232 112 70 154 254 134 39 71 278 213 215 239 253 81 137 99 283 123 65 101 126 145 135 114 142 283 28 181 84 278 108 253 121 188 244 107 38 294 218 105 230 301 137 185 252 84 175 51 239 209 194 118 92 270 239 3 38 22 169 151 213 186 122 227 256 252 45 127 174 113 30 176 202 81 208 93 28 41 181 287 252 166 96 200 155 214 40 26 257 304 235 284 38 91 160 61 151 177 126 9 63 105 173 255 5 213 48 301 154 196 296 221 9 304 256 178 240 109 225 109 59 55 105 23 246 140 58 157 226 154 103 182 162 11 243 261 187 18 129 86 146 92 224 2 153 282 26 170 75 216 71 89 261 73 42 219 116 110 303 219 110 66 232 280 13 229 106 26 32 41 204 291 130 278 67 93 27 1 251 179 278 189 114 157 207 116 56 237 96 125 163 3 135 64 185 169 221 271 41 201 268 195 250 235 241 63 33 91 50 221 61 132 248 19 214 167 199 164 118 291 57 175 208 294 167 93 95 4 54 260 41 191 216 203 220 223 273 208 216 269 223 28 14 212 294 151 36 62 249 273 297 262 192 106 166 258 217 263 131 112 101 112 265 119 296 278 261 160 57 113 157 287 93 273 63 3 282 6 277 209 93 156 78 76 253 123 28 70 55 84 150 189 280 251 219 156 297 170 80 35 191 75 179 192 206 69 168 277 100 65 104 40 257 213 99 62 126 72 235 242 115 133 69 106 304 137 78 80 84 195 114 75 55 136 26 257 63 110 35 268 180 42 283 250 221 182 59 159 44 75 100 53 271 140 103 266 154 37 179 101 240 296 158 173 52 277 66 105 111 299 30 87 62 74 61 66 107 186 70 156 266 213 7 100 35 67 273 23 37 159 112 239 46 218 179 108 90 74 227 40 292 72 99 14 147 268 190 163 295 294 68 150 279 164 70 157 292 9 297 149 100 41 33 43 199 73 154 171 286 161 99 114 180 253 139 125 195 225 18 160 200 153 270 142 160 78 140 81 19 160 18 175 23 266 260 54 195 295 85 240 174 57 9 187 39 68 292 174 277 250 282 219 136 92 230 185 150 205 51 116 117 172 148 257 14 162 15 268 20 184 147 138 143 251 275 263 152 39 116 219 175 57 288 214 2 72 30 205 16 300 29 209 68 31 286 35 268 303 244 286 185 111 109 227 171 68 151 292 57 287 237 215 222 209 44 78 231 244 31 4 271 101 96 227 183 195 286 195 59 258 282 139 44 277 51 188 61 249 140 119 213 196 18 14 122 78 223 270 168 174 242 143 151 285 221 35 181 210 271 185 30 220 297 177 35 28 101 35 165 39 158 206 95 240 253 6 43 61 87 62 267 238 173 139 42 233 257 128 173 148 19 130 232 158 111 15 202 8 19 96 158 91 211 235 89 47 125 222 296 140 211 142 158 33 186 281 50 290 270 281 101 148 130 104 82 168 296 166 215 178 136 292 264 268 147 285 224 204 114 291 103 141 73 34 47 198 233 256 29 221 204 139 155 147 52 25 239 36 285 26 216 199 256 201 21 290 210 300 38 286 303 112 277 294 304 154 111 37 71 257 263 90 277 119 116 227 44 94 26 194 267 26 273 192 29 200 183 65 231 34 137 110 40 217 32 158 132 65 67 147 266 248 20 217 153 126 120 194 61 66 116 167 2 32 136 107 181 63 104 7 83 225 89 214 116 252 206 86 260 104 50 262 251 284 103 248 171 158 273 254 70 243 267 134 137 277 275 2 298 116 283 147 31 213 49 136 152 115 294 238 273 237 194 157 197 8 187 286 126 193 35 179 54 3 2 36 69 215 265 3 285 268 6 223 102 178 94 187 131 91 86 101 134 27 281 210 125 193 295 89 212 117 185 250 72 204 239 274 45 124 243 8 164 87 188 125 164 117 151 42 281 72 67 296 201 105 294 40 297 162 50 89 194 162 259 179 224 257 57 3 237 236 97 153 134 85 53 163 236 269 132 115 250 296 170 273 126 128 178 66 23 207 99 128 124 135 114 294 243 223 112 146 56 83 76 245 151 224 122 192 157 276 291 167 204 208 199 35 206 39 103 59 267 186 193 290 146 136 234 13 233 289 47 244 123 257 48 80 173 18 15 141 177 1 201 271 99 169 111 47 225 114 49 215 62 282 137 126 1 81 115 207 185 158 179 40 71 228 113 252 195 158 201 32 263 157 195 35 222 29 271 219 300 7 302 70 47 64 269 115 214 50 65 20 154 61 284 235 282 104 143 256 120 191 303 250 103 70 16 31 219 37 123 165 227 264 193 81 242 226 161 251 1 253 289 162 285 62 67 45 131 201 248 1 38 261 39 115 37 272 156 246 201 287 108 209 117 234 67 70 237 284 24 99 162 139 104 172 280 88 48 127 144 5 144 206 222 299 172 152 230 284 116 73 297 179 231 148 278 91 203 150 117 158 289 3 289 211 100 238 71 219 16 23 14 287 77 117 125 259 251 1 253 157 102 296 122 221 151 23 43 262 88 260 19 157 199 255 177 23 191 93 33 280 147 54 15 39 56 9 179 36 219 93 249 230 122 253 195 178 94 264 72 240 262 262 81 171 44 156 10 105 100 66 196 223 238 1 247 289 185 190 284 267 69 84 81 81 31 231 29 158 197 251 234 270 92 84 172 214 73 264 173 267 227 273 81 84 171 156 140 231 67 173 217 301 215 170 241 170 179 186 151 2 58 140 278 205 282 212 124 249 232 291 187 173 23 117 267 124 68 297 99 180 125 174 289 135 40 263 240 175 53 255 9 176 225 234 166 269 151 99 102 235 132 228 72 128 24 197 4 144 84 213 214 229 296 166 7 134 146 98 168 157 263 228 56 191 298 202 199 210 49 174 156 42 183 36 269 265 73 64 215 201 231 284 12 299 54 76 92 11 77 290 208 8 73 88 235 187 88 6 197 99 282 74 78 6 300 302 38 133 13 154 21 117 291 65 287 300 127 209 78 208 224 141 204 187 200 237 214 103 198 287 202 119 295 85 189 148 220 87 169 263 282 39 54 286 276 84 101 11 259 289 197 72 78 115 41 187 250 80 5 129 230 64 3 182 94 1 199 158 62 111 250 71 133 210 104 242 224 152 45 11 106 276 237 99 23 198 50 18 188 250 1 271 203 73 59 80 271 275 192 61 148 14 191 176 192 156 148 177 156 260 274 23 300 243 239 259 26 195 80 42 216 303 203 5 136 246 64 289 169 103 96 27 80 117 100 84 300 153 115 230 245 183 146 168 117 49 100 180 239 113 237 201 174 89 68 224 172 47 27 230 154 60 103 297 129 259 108 302 27 206 144 220 139 218 174 238 148 2 192 55 1 257 22 298 219 16 137 183 84 136 219 212 173 264 231 138 225 96 158 275 98 63 51 110 72 16 245 61 149 53 194 278 243 300 71 171 61 273 197 59 88 222 100 17 288 258 273 132 200 204 222 63 87 226 276 69 97 304 26 237 240 254 290 90 125 155 127 246 206 98 294 228 246 205 166 231 15 236 203 16 128 304 269 229 204 235 60 268 34 64 141 48 222 294 47 234 273 84 39 1 280 226 210 237 147 218 274 201 96 282 261 227 99 11 134 93 264 232 35 216 161 202 127 219 256 34 210 165 28 219 251 23 128 175 92 47 123 129 181 155 54 183 147 79 85 4 250 185 129 227 2 175 21 235 120 22 262 289 127 76 118 149 115 269 243 205 212 119 213 165 16 295 152 146 228 205 193 214 271 27 181 178 256 125 92 197 116 188 150 103 302 274 160 121 101 165 191 258 83 214 235 86 73 206 123 101 252 273 89 150 293 139 14 91 273 260 127 271 296 38 103 302 266 229 97 190 29 43 102 102 17 196 258 52 38 164 226 143 224 21 108 162 79 161 231 164 170 46 271 39 118 59 223 164 123 258 176 109 233 274 41 271 217 251 286 228 164 221 3 282 177 157 124 227 73 29 258 65 290 77 233 173 38 86 243 256 88 291 75 95 180 257 159 231 188 166 41 126 254 160 83 73 50 227 104 50 276 68 37 239 109 265 95 259 119 83 234 292 65 235 284 8 195 281 44 209 47 9 202 201 77 134 219 269 198 80 19 150 284 77 35 165 101 20 68 248 170 266 271 63 125 118 120 126 69 201 70 254 232 41 106 172 250 269 300 176 224 233 178 35 168 57 177 207 277 92 43 292 109 90 91 95 136 264 280 62 262 75 121 185 269 30 274 109 115 292 173 1 218 105 227 38 9 6 230 38 28 42 131 37 40 146 209 241 151 101 266 281 290 168 304 87 134 145 272 254 288 251 214 23 203 304 257 132 229 202 223 136 60 258 281 268 65 210 85 304 132 250 126 97 197 35 200 15 40 76 10 216 81 86 195 121 4 72 82 232 92 277 32 143 251 52 61 167 203 178 19 121 176 86 50 189 202 116 183 304 209 61 81 40 243 172 192 102 83 117 75 104 177 212 27 13 223 38 55 37 46 212 237 97 133 76 99 73 7 107 202 168 84 194 112 71 48 191 206 105 181 229 193 193 82 34 163 200 280 303 208 30 259 136 12 233 207 113 70 110 246 54 196 272 118 74 71 67 99 180 87 203 90 191 45 174 268 138 23 220 44 300 169 203 278 14 18 4 270 136 178 63 171 184 107 164 54 236 52 72 41 25 166 169 266 128 220 24 120 37 138 298 231 103 190 56 182 230 15 116 285 108 233 23 219 108 109 299 89 146 237 156 12 160 238 86 173 238 106 194 270 172 195 69 12 90 21 166 114 249 296 300 247 14 172 33 233 129 184 83 198 221 293 304 116 153 225 29 81 134 75 55 134 283 83 197 23 40 129 134 48 44 188 268 52 3 65 168 24 119 136 61 297 137 81 37 110 289 131 64 140 238 48 282 217 239 222 229 241 175 220 40 75 64 17 43 57 84 214 121 256 278 108 114 52 99 224 298 159 16 4 15 270 299 301 31 177 16 167 262 54 39 44 71 152 283 74 18 204 58 16 265 66 232 179 120 203 126 286 64 97 127 115 224 250 20 165 169 261 113 151 275 28 231 60 7 145 30 24 59 67 38 72 245 301 304 184 104 102 294 303 67 6 95 51 219 290 42 223 219 171 240 106 293 49 64 139 202 79 30 5 216 21 5 291 261 240 131 37 295 259 87 101 102 198 92 150 291 67 57 75 107 285 15 245 16 251 182 265 50 48 105 68 241 124 186 40 64 111 82 303 196 171 206 290 171 58 232 137 183 50 48 287 134 17 82 61 81 110 75 44 17 276 204 18 13 168 201 243 15 235 39 132 11 65 201 70 32 167 238 270 262 227 48 74 64 283 68 239 197 78 144 213 25 246 255 106 254 168 256 99 173 30 190 232 173 94 40 161 206 112 13 143 232 257 152 78 187 90 137 26 76 73 31 183 166 270 131 110 140 20 144 205 107 286 133 119 279 70 123 281 110 4 173 228 19 157 259 93 193 144 246 140 20 141 64 152 265 82 182 198 97 19 82 92 275 42 148 300 109 75 209 118 36 126 47 183 84 277 1 210 30 14 268 203 71 221 112 214 301 182 223 222 253 297 178 238 212 277 301 218 248 127 54 60 51 57 175 221 158 117 131 31 157 133 148 199 124 110 29 134 80 168 253 218 247 110 168 187 34 140 18 290 272 188 39 59 107 92 72 244 270 67 256 149 39 230 236 45 155 178 304 89 74 289 71 186 257 196 180 145 67 156 285 219 287 220 83 212 263 144 219 134 145 112 95 243 138 159 35 192 48 301 118 20 74 86 4 163 28 181 301 265 164 282 264 26 275 303 53 102 165 151 62 248 188 246 277 37 55 82 130 246 210 243 257 249 262 261 244 58 85 19 222 301 188 218 270 241 164 31 214 47 155 225 16 220 245 253 63 165 222 37 171 231 294 22 26 260 291 11 252 254 182 86 10 14 72 83 108 200 241 193 49 246 124 128 152 58 172 148 212 29 248 268 42 186 204 159 201 141 1 149 80 196 153 210 214 170 210 161 273 249 295 194 156 60 153 38 189 140 208 1 99 247 264 158 145 114 109 252 164 262 104 60 263 253 107 202 211 192 282 99 171 108 272 219 292 279 74 4 98 96 105 90 250 229 265 284 193 144 262 10 182 5 9 8 197 118 19 276 250 254 18 145 159 251 250 280 199 205 63 203 148 159 103 13 75 247 194 132 292 152 206 262 214 81 189 292 63 206 109 22 60 96 52 252 288 275 250 116 139 138 122 267 287 104 157 76 289 201 21 236 195 118 300 278 180 125 200 102 105 238 53 43 87 275 101 116 193 258 98 67 252 73 254 204 18 138 30 121 226 299 206 269 63 88 274 154 7 3 145 81 90 82 203 262 186 142 58 254 148 154 57 277 48 117 156 263 217 113 32 212 179 285 298 283 121 250 225 154 58 172 227 177 67 261 298 217 275 10 206 210 11 38 14 6 235 64 70 304 179 57 89 73 66 240 184 192 20 36 91 216 59 94 251 207 250 47 138 134 237 134 287 261 47 137 256 273 268 285 253 128 56 282 2 178 186 11 240 61 101 303 214 204 143 187 160 296 121 98 157 230 29 27 198 278 147 135 14 64 40 95 36 189 227 131 135 206 241 240 300 97 113 33 75 267 96 138 41 220 144 57 36 167 207 153 265 275 297 224 150 304 154 286 32 158 94 154 161 27 170 21 173 32 112 263 198 29 193 16 45 169 157 259 175 189 111 136 30 91 281 112 167 40 75 1 256 173 10 227 219 37 256 129 187 186 93 18 177 165 67 264 196 51 205 223 147 223 220 188 212 69 83 174 154 218 55 180 11 200 21 101 237 281 273 37 190 257 243 32 240 112 290 132 272 10 259 57 77 46 63 191 235 189 22 303 249 173 82 141 298 240 112 46 290 144 40 294 301 3 68 3 169 6 214 211 269 157 277 91 186 29 13 263 243 219 273 96 257 301 239 121 173 236 177 24 125 36 248 111 103 36 48 209 38 250 206 233 115 79 278 285 122 295 283 168 293 107 276 147 36 92 200 238 132 236 182 261 156 204 181 271 140 141 224 123 54 281 132 267 54 178 194 123 120 125 98 178 137 238 222 269 287 258 257 225 69 204 268 301 118 205 100 145 71 231 253 263 39 201 209 268 208 255 262 171 15 118 304 162 61 91 297 90 61 160 251 161 120 38 252 163 152 242 105 30 174 138 240 278 275 241 27 145 11 110 124 289 168 143 255 150 81 223 203 284 99 272 86 3 199 27 179 62 217 24 244 60 27 159 251 228 247 266 294 235 183 17 127 94 231 70 254 218 118 279 143 242 281 241 184 191 18 46 35 155 205 202 99 157 50 205 30 86 10 165 195 262 209 170 146 294 42 49 221 258 144 137 243 107 244 96 227 71 300 250 130 267 217 168 275 53 292 54 25 74 134 91 91 141 53 149 126 48 124 211 293 27 134 85 300 150 159 123 12 226 188 189 238 236 128 63 102 159 156 167 294 229 98 212 198 245 290 268 193 13 282 3 253 104 227 61 44 207 205 178 263 152 135 1 292 123 291 303 249 26 28 57 231 90 108 188 282 304 282 204 128 291 283 284 103 179 66 263 245 87 127 247 188 3 227 301 124 173 64 205 90 201 215 99 213 20 209 236 18 53 296 67 33 48 222 150 161 198 97 81 211 221 130 273 58 92 69 6 191 17 94 209 212 235 74 214 182 236 169 53 146 81 234 4 241 2 119 153 106 128 41 164 13 188 68 187 248 299 239 69 56 290 237 213 82 26 266 189 276 157 295 51 202 293 214 157 2 118 151 60 174 170 215 98 244 37 148 294 174 72 62 234 212 273 62 257 100 297 186 108 144 206 112 163 262 37 236 210 140 234 271 143 195 242 288 77 38 112 239 203 57 230 160 4 38 22 184 132 86 104 44 133 50 135 137 219 25 28 157 198 129 18 230 162 151 131 236 44 290 282 180 41 210 54 183 23 37 150 94 70 303 191 237 28 160 176 86 26 219 218 252 44 257 289 176 10 108 270 212 207 101 5 155 261 103 295 214 94 69 122 130 91 206 129 204 162 37 165 10 168 111 77 284 3 114 189 195 301 182 263 188 30 219 274 152 201 80 152 109 126 160 162 303 144 30 253 164 82 59 137 71 178 214 224 277 98 85 289 249 266 208 185 297 266 163 290 229 13 96 302 163 289 80 125 285 72 30 223 151 248 11 23 235 98 252 266 271 216 53 92 209 204 140 215 162 206 23 113 53 289 76 160 269 107 204 181 102 37 164 237 175 115 173 248 263 134 161 124 107 252 122 167 221 224 140 169 285 107 134 136 162 251 194 17 66 35 70 113 144 121 165 185 278 158 65 187 281 144 104 259 9 258 53 258 98 81 136 108 101 183 136 73 61 266 163 193 113 192 67 183 155 67 303 155 19 75 256 232 130 225 60 12 208 49 95 66 264 140 89 267 279 4 39 77 77 105 250 175 293 5 5 142 258 67 58 45 189 217 188 13 268 183 182 95 268 54 53 71 62 194 109 207 176 11 14 80 287 215 297 299 113 60 240 36 203 100 78 255 108 199 267 225 92 130 268 155 104 9 193 23 188 268 105 33 198 24 156 178 152 177 128 9 223 109 206 303 190 122 63 196 31 223 8 116 109 53 287 112 258 227 46 3 147 211 23 300 288 110 32 152 69 272 301 17 187 30 26 88 115 204 58 24 271 250 130 262 153 187 152 34 142 104 253 266 137 146 155 196 16 122 182 188 108 117 82 251 5 284 272 116 131 150 109 37 106 254 135 248 77 185 187 123 79 175 53 6 218 124 154 68 147 171 218 31 41 174 37 287 71 247 216 132 72 255 241 283 109 18 170 216 239 197 3 91 258 58 69 294 48 215 264 257 11 25 39 225 120 302 38 82 282 251 47 21 166 256 185 178 62 250 156 147 190 285 181 157 102 57 156 262 87 145 18 113 200 104 137 269 131 182 24 61 193 197 161 41 30 63 131 47 263 106 257 228 122 271 255 6 2 294 295 210 269 116 24 204 295 198 303 112 198 239 232 185 225 135 302 122 287 112 105 151 175 21 41 57 14 180 174 98 183 253 78 249 18 266 90 240 145 22 2 238 231 44 114 274 106 103 238 68 206 255 30 249 166 105 230 216 45 279 74 242 89 194 241 28 65 246 251 200 275 180 196 282 252 17 26 75 244 247 166 285 1 138 18 217 278 172 61 143 156 91 147 81 74 214 214 298 297 156 241 143 289 93 82 190 34 283 46 52 32 108 42 204 164 247 95 192 223 282 67 195 262 293 83 247 271 277 69 37 187 298 53 49 112 217 286 149 289 103 179 70 155 5 97 129 29 16 22 45 280 233 296 225 176 85 107 3 140 228 203 297 235 32 156 79 192 192 197 280 222 152 125 139 232 292 148 144 103 118 89 281 81 136 184 42 9 241 63 103 74 211 157 242 182 236 142 75 210 10 124 264 41 136 67 195 190 48 291 155 205 66 241 32 22 28 184 234 258 63 89 184 125 132 263 250 273 160 191 241 178 108 56 197 241 147 162 161 192 150 66 186 40 151 210 100 88 193 154 300 289 131 183 122 37 89 65 129 161 287 152 97 145 166 238 30 49 121 65 295 264 304 138 74 126 99 114 175 168 20 289 33 278 248 152 295 215 302 196 298 303 231 127 51 151 121 220 78 78 51 270 14 123 289 249 194 248 7 166 8 2 222 248 93 79 146 127 112 53 116 10 241 262 261 68 201 13 221 223 138 225 256 204 169 24 197 110 251 223 275 98 251 101 177 134 174 42 67 124 48 164 213 61 1 43 184 128 177 97 172 4 292 122 149 124 289 58 116 213 118 62 186 53 90 29 55 188 39 131 255 205 241 55 45 153 241 52 12 182 275 277 14 159 117 121 54 58 294 127 82 4 283 85 23 303 287 129 124 182 70 145 82 43 174 71 207 302 71 26 56 215 54 182 44 10 178 295 155 158 25 215 101 215 149 279 89 112 123 175 239 48 226 245 140 177 215 168 203 173 15 135 191 180 217 192 182 224 148 204 257 9 159 113 271 222 40 198 45 209 28 259 182 179 136 226 15 111 72 195 100 227 266 187 174 239 97 171 161 124 215 290 65 157 84 9 98 82 104 172 70 82 224 82 99 172 27 236 199 279 222 170 270 279 221 155 181 35 232 270 226 90 157 299 138 113 78 276 192 46 249 162 81 117 81 245 153 303 272 97 139 261 27 251 127 29 284 245 272 136 171 48 88 181 91 51 204 25 79 24 196 47 139 199 120 58 43 43 142 231 232 4 83 87 150 223 83 182 31 113 260 112 300 257 113 298 246 172 53 69 83 119 70 82 195 226 230 225 147 25 265 207 190 229 301 220 214 192 207 136 100 90 159 231 65 155 56 291 233 215 33 97 208 85 54 69 80 298 170 133 46 135 147 189 180 209 112 164 271 69 67 118 287 280 46 148 19 24 83 248 139 67 98 49 19 60 147 2 62 18 85 275 58 53 115 227 254 240 15 16 179 292 280 118 176 9 117 128 275 85 210 15 96 82 46 87 299 200 79 213 209 165 72 93 18 213 215 192 21 202 114 146 269 20 9 229 177 4 136 110 204 301 89 35 165 255 161 26 47 57 216 93 86 129 81 161 203 223 16 131 52 9 152 240 136 60 150 185 38 210 3 4 34 294 277 209 121 127 209 77 109 20 17 122 184 31 41 191 146 41 291 207 176 156 185 239 264 199 90 287 229 259 48 188 58 152 109 235 192 37 141 205 196 19 158 50 304 254 254 62 183 272 289 304 135 289 132 223 42 272 229 62 168 85 195 261 188 83 264 111 87 71 212 19 43 67 188 40 72 79 193 213 90 199 149 221 214 162 56 290 248 259 260 107 258 102 283 190 55 220 14 115 190 173 169 150 251 187 136 222 185 64 189 193 154 94 14 147 136 168 123 223 100 2 35 274 93 12 125 253 107 89 51 162 46 204 122 179 235 217 161 270 114 8 122 94 220 124 252 117 303 254 276 65 146 249 55 76 17 239 87 188 259 217 120 15 94 227 265 73 50 75 149 234 275 214 217 8 81 28 33 215 203 138 296 84 229 266 138 38 238 55 110 84 212 120 72 260 232 51 84 89 218 16 195 14 37 135 258 189 32 104 116 260 227 169 170 135 33 73 175 245 209 184 96 31 298 265 261 2 19 129 101 102 33 45 293 120 107 172 285 174 264 296 295 185 192 186 165 49 59 218 75 100 52 194 159 60 31 224 64 8 299 293 27 1 194 69 129 6 87 179 198 167 259 28 165 98 123 63 270 287 129 16 198 215 167 240 91 64 280 115 90 54 89 233 25 232 158 99 291 214 171 113 17 243 241 275 237 292 118 265 215 3 60 88 268 227 171 31 186 145 51 135 174 226 228 207 297 265 227 67 220 23 239 121 101 89 136 113 280 13 266 218 117 147 88 39 259 53 107 35 279 198 137 230 177 203 81 294 127 16 279 19 117 281 115 132 74 82 166 56 133 124 88 231 101 116 234 272 67 42 291 292 219 129 167 286 203 143 288 282 191 85 270 171 188 80 298 106 34 295 208 35 125 279 45 183 239 74 62 78 277 284 90 162 106 289 88 119 259 2 217 101 24 137 188 113 60 153 268 63 171 86 31 225 298 176 261 28 185 297 115 84 282 54 120 44 191 123 251 42 36 89 44 274 9 235 289 42 208 302 238 7 263 30 189 112 279 241 279 20 233 159 41 140 121 154 135 28 11 34 110 184 79 288 201 239 60 154 122 201 66 268 102 281 282 92 167 257 298 158 140 145 188 244 113 16 304 114 133 254 59 70 37 103 66 216 40 21 91 92 161 180 96 71 115 73 234 161 264 21 181 132 115 215 299 250 223 26 299 167 84 82 66 217 65 202 228 228 4 150 144 254 128 57 29 284 5 302 32 283 246 195 296 198 176 119 179 277 220 275 99 258 268 167 77 213 232 228 57 278 260 92 225 52 36 282 237 158 201 38 106 52 125 153 2 137 215 29 228 31 30 157 144 265 133 17 155 258 232 154 207 214 76 206 196 21 184 282 96 221 57 214 30 116 148 181 29 129 131 51 213 229 84 9 240 229 20 176 157 86 304 138 117 256 226 288 195 218 276 200 213 268 192 27 197 112 141 122 1 95 291 272 89 219 187 228 183 53 46 178 208 238 184 256 221 147 239 196 239 273 162 33 272 108 256 21 78 95 138 264 278 286 180 248 286 138 86 301 146 81 69 235 220 121 27 178 139 35 139 116 47 150 195 128 72 218 221 45 143 252 68 4 82 288 71 77 266 31 111 24 206 69 283 28 221 266 278 21 86 267 109 192 259 209 221 240 43 13 206 166 275 101 293 185 79 144 265 279 84 37 213 1 9 265 257 179 63 242 141 160 77 286 152 155 59 199 218 109 259 167 121 165 244 29 64 4 156 81 249 73 116 153 99 22 230 69 95 120 162 183 294 223 96 127 231 188 223 97 196 18 70 235 87 219 299 167 149 92 30 55 87 94 94 236 291 62 68 255 221 55 167 74 156 185 296 53 47 154 76 289 126 223 67 10 238 60 275 133 156 64 83 288 117 168 212 202 35 52 80 156 217 59 194 284 202 168 282 19 116 199 287 234 203 19 282 84 154 213 144 10 150 150 114 202 29 121 181 138 104 32 206 110 301 86 75 29 194 34 7 132 178 82 110 298 16 205 46 224 33 263 245 150 1 25 185 226 238 44 122 141 98 85 256 228 168 273 303 73 209 107 231 113 173 232 74 4 265 230 165 294 224 171 103 46 158 139 263 253 300 156 165 200 203 127 157 297 112 284 109 196 53 301 81 283 163 74 210 93 13 122 103 282 21 187 56 101 152 20 137 204 250 76 66 146 151 18 257 56 12 251 181 224 147 202 177 25 190 29 12 110 126 24 260 36 72 21 109 105 74 262 3 285 203 26 301 191 273 198 230 114 282 165 258 209 248 197 82 36 28 132 177 182 304 79 289 143 268 141 225 265 274 303 82 176 14 210 188 150 71 187 2 138 29 200 238 165 126 102 99 252 57 28 274 62 2 100 131 263 246 283 48 168 261 78 10 199 197 254 149 178 300 38 125 149 290 190 122 270 205 210 54 158 228 202 272 32 4 120 271 137 121 17 33 246 30 268 226 3 243 301 81 65 184 73 281 210 270 14 157 66 123 295 294 280 152 190 286 297 136 117 287 99 39 204 152 234 103 198 2 15 48 122 121 184 145 240 298 117 157 201 241 250 79 197 229 85 304 75 109 164 125 181 168 74 276 75 166 293 232 114 56 283 153 112 79 103 267 191 300 100 67 220 58 257 216 63 40 208 300 173 303 37 213 138 274 276 65 151 6 246 303 130 263 82 122 111 242 204 264 46 52 40 53 42 134 81 216 139 139 43 260 258 190 183 272 26 67 207 263 286 236 40 33 287 3 188 110 195 152 247 77 67 122 27 67 253 95 274 89 249 67 38 295 107 254 36 80 127 98 258 50 105 63 192 140 253 190 4 85 282 283 129 178 91 31 65 271 169 55 273 269 249 162 191 157 216 300 3 149 158 102 294 127 31 228 78 291 157 135 86 40 17 29 115 224 208 197 266 273 50 20 266 220 27 169 146 9 57 147 277 150 111 4 132 126 264 242 294 179 231 236 18 84 60 84 204 87 273 228 154 262 108 95 101 181 287 1 141 264 173 262 87 210 196 127 105 3 256 40 78 199 154 32 91 163 16 145 112 46 60 58 189 238 117 86 17 250 57 156 60 255 269 280 216 189 115 224 245 65 55 191 150 233 228 152 163 49 130 266 15 29 69 3 20 300 301 113 74 218 115 195 296 63 61 271 76 171 174 300 117 218 88 143 271 103 303 262 19 74 303 185 41 183 20 189 69 72 124 160 152 197 214 77 117 243 30 24 66 46 91 16 196 250 254 66 78 297 216 109 138 267 136 106 96 53 211 149 290 128 283 151 160 188 80 128 58 255 12 233 280 184 211 168 279 80 199 243 146 204 120 262 5 291 11 220 26 244 196 267 15 154 87 40 62 94 274 219 171 71 162 39 239 225 168 19 108 238 219 213 236 294 103 55 106 110 103 98 248 138 129 134 113 300 48 37 117 107 101 30 91 40 123 272 40 132 47 64 133 47 133 166 46 135 248 110 164 199 164 216 100 279 69 149 254 136 117 56 300 228 31 195 167 2 110 289 188 10 117 154 230 60 74 78 18 90 53 293 25 260 190 203 229 123 272 117 32 159 98 188 58 99 42 285 110 223 235 121 23 279 250 109 269 240 213 282 252 71 143 86 108 99 78 78 168 139 226 253 295 210 50 225 275 32 140 302 205 232 231 80 282 9 234 193 16 170 286 155 118 79 211 16 273 166 295 187 11 141 141 125 292 103 45 177 28 118 29 174 119 129 165 86 192 104 293 75 22 247 68 115 53 301 221 121 159 47 206 236 71 72 53 222 291 298 43 13 23 178 162 117 253 127 279 62 194 16 184 230 217 60 186 173 299 270 208 226 182 297 182 26 12 8 261 170 100 273 279 181 266 45 214 288 160 124 219 209 270 13 50 221 294 103 218 191 4 231 84 102 28 40 136 233 249 225 218 250 226 219 287 109 175 255 242 87 55 3 136 81 71 149 65 239 42 31 179 25 147 108 285 263 209 107 67 301 186 236 38 236 232 221 256 193 48 35 264 62 11 244 5 262 265 289 3 130 122 291 268 74 154 298 110 298 31 68 87 185 96 98 243 281 271 192 50 282 46 158 185 127 283 287 73 301 147 4 102 19 292 192 82 285 304 184 153 91 35 79 298 133 297 276 119 226 113 243 200 237 129 222 21 13 288 92 217 75 215 250 33 22 253 159 100 257 125 182 274 111 86 120 129 164 199 235 285 93 218 229 262 197 245 121 146 34 205 113 266 119 235 17 241 37 92 124 144 130 146 173 241 296 175 105 56 131 93 37 27 154 198 300 146 44 282 158 92 65 295 69 173 120 242 158 190 238 215 91 226 68 44 165 276 176 229 83 169 254 183 183 34 267 91 69 115 260 67 172 234 86 97 69 251 291 217 166 301 185 201 220 291 126 59 119 35 76 223 19 196 134 110 85 242 268 273 235 173 275 184 49 148 146 45 226 270 73 217 239 258 151 263 240 301 76 263 44 62 173 280 233 117 92 121 264 291 127 204 225 290 95 109 204 219 64 4 261 216 199 211 132 280 186 100 30 165 126 147 217 253 153 259 282 221 223 7 162 188 165 304 241 126 78 63 73 85 208 115 114 50 252 114 36 166 122 148 57 156 41 117 149 174 201 227 265 135 2 131 161 33 38 176 13 279 52 175 274 209 69 270 6 105 65 202 165 30 57 85 67 204 286 108 175 186 278 8 238 190 258 297 231 252 240 299 268 160 294 247 176 146 116 173 6 251 175 19 138 287 66 22 140 117 146 119 224 207 262 232 118 122 304 5 117 143 148 54 137 116 189 49 137 106 16 74 74 217 19 10 149 279 144 112 82 183 200 264 144 248 258 187 6 199 288 51 64 89 85 75 33 179 132 29 73 106 230 100 118 64 179 271 268 222 245 234 100 277 246 88 234 13 193 87 1 222 244 123 32 105 112 41 30 6 112 51 300 169 94 200 221 247 288 34 268 103 69 222 133 28 296 202 220 242 223 88 166 193 24 35 21 196 97 251 22 119 172 199 229 96 196 182 212 60 219 248 279 204 49 155 57 126 244 189 3 95 37 151 237 148 21 115 104 217 217 53 68 102 254 205 277 244 33 255 30 207 239 52 232 148 144 235 160 279 236 83 298 69 297 15 28 17 158 81 298 171 178 283 26 23 291 177 232 16 153 164 298 47 114 194 131 111 100 44 270 236 109 69 275 84 77 297 10 2 272 266 186 1 135 104 289 198 204 15 34 82 202 178 8 19 97 133 171 145 204 41 231 55 213 277 276 118 38 195 147 26 252 79 174 115 290 210 40 128 169 148 161 52 296 300 104 12 269 50 76 29 130 255 49 53 119 208 211 224 140 212 196 180 168 116 143 121 175 54 155 150 189 294 107 272 22 176 207 188 264 21 84 53 264 289 246 2 77 6 259 140 58 89 172 65 2 281 137 96 279 24 64 120 291 145 260 264 127 88 189 281 55 41 273 32 252 98 46 182 176 101 24 299 160 87 95 273 257 177 252 19 192 161 120 110 136 14 6 263 226 217 273 284 38 253 140 256 13 182 57 35 270 68 261 174 208 42 295 162 135 263 160 230 251 143 207 158 1 95 9 83 211 29 103 207 286 214 173 101 131 279 301 168 277 116 302 85 8 86 136 94 269 21 165 119 63 46 287 197 298 145 275 226 167 100 120 269 90 255 11 274 116 283 132 68 178 118 160 302 198 302 110 16 284 92 34 206 207 125 127 225 63 18 224 45 20 299 222 194 18 137 2 31 90 64 126 223 91 223 69 258 27 283 147 300 96 152 162 214 73 146 172 39 254 231 29 28 206 255 131 9 220 74 282 52 166 277 168 240 204 41 198 71 66 4 226 180 48 43 263 12 55 231 44 260 103 220 143 294 297 115 66 153 229 250 246 68 227 28 221 295 65 92 274 195 254 98 254 155 38 222 249 115 99 93 155 232 298 152 276 130 3 201 174 304 30 292 212 67 208 187 170 228 21 211 160 56 85 94 287 230 214 65 136 246 31 81 129 257 204 104 114 42 264 242 271 215 32 190 276 275 297 67 250 199 260 144 65 112 190 149 232 46 28 67 277 270 173 38 95 298 63 289 123 230 105 244 139 94 221 244 95 98 256 164 176 113 66 113 171 35 8 144 38 266 148 228 160 301 297 219 127 108 302 117 45 78 90 204 76 292 254 288 209 111 163 153 148 44 156 216 108 93 262 181 225 213 175 97 202 243 245 126 52 105 209 276 295 232 93 270 264 123 41 195 51 45 62 196 89 231 122 206 227 103 175 277 157 38 33 138 133 200 183 30 51 36 95 167 204 214 26 155 263 226 289 50 32 100 126 15 44 241 259 59 160 36 177 274 167 278 17 285 239 82 155 22 131 23 160 118 212 94 228 229 223 123 47 296 106 135 127 185 56 101 238 175 255 196 194 263 87 293 51 143 36 53 283 173 283 71 87 271 125 123 247 156 25 94 149 237 209 288 249 216 237 159 14 159 109 273 260 104 117 268 289 3 300 139 258 116 219 104 63 46 277 189 69 153 214 114 222 253 282 91 297 174 237 158 64 170 207 21 156 181 6 63 85 176 86 26 93 113 73 206 75 285 83 227 79 217 242 64 219 168 195 303 206 231 145 18 209 244 258 149 39 299 164 89 152 88 227 230 201 291 196 240 166 155 110 25 282 272 46 136 276 57 276 66 119 126 45 292 63 123 62 169 176 184 165 210 108 127 283 173 36 91 183 8 186 101 90 111 61 25 5 225 261 224 46 260 301 32 82 270 282 223 79 249 250 284 301 154 140 268 171 108 176 297 6 83 16 68 100 140 158 97 182 259 81 228 110 234 103 282 103 66 157 63 261 235 77 228 177 217 100 19 200 203 173 212 14 85 180 89 143 178 135 58 239 258 191 297 247 134 189 71 290 97 218 188 196 255 90 221 50 272 179 134 67 41 15 31 34 183 214 39 17 192 64 49 203 76 277 120 262 187 94 234 38 98 66 198 101 173 213 180 244 231 147 103 290 260 249 21 208 67 48 15 250 203 225 239 271 46 30 147 163 295 95 200 229 163 122 197 76 30 260 190 211 134 124 102 40 192 231 79 176 186 185 123 65 141 179 22 265 249 303 182 108 176 2 107 6 197 236 115 180 134 182 3 189 132 110 246 161 87 39 182 123 132 297 249 243 88 166 53 12 258 167 44 212 143 270 50 267 168 106 8 38 132 129 115 276 170 72 147 265 235 160 162 37 3 37 242 246 234 273 56 66 282 63 22 178 203 9 160 195 113 52 154 212 6 72 225 63 221 112 61 16 4 217 142 67 280 20 161 241 142 124 176 211 192 80 2 61 244 177 16 82 88 279 61 33 220 52 80 42 12 157 16 254 282 209 28 62 28 71 32 199 34 11 170 298 98 58 138 66 215 167 48 255 180 93 161 179 157 209 131 103 44 53 252 115 43 96 257 115 138 45 194 148 168 51 272 176 286 136 155 293 75 237 304 301 121 1 94 121 248 216 209 111 182 176 296 11 59 17 54 206 154 215 13 182 169 17 51 37 104 4 114 273 80 15 33 238 62 205 216 136 171 161 2 232 116 124 274 205 166 304 122 51 89 235 251 85 240 77 202 304 129 215 28 47 38 29 37 203 145 71 252 163 212 288 248 26 129 116 96 38 120 98 102 249 279 62 298 292 157 6 70 89 70 81 45 17 118 204 64 197 249 114 167 162 165 16 98 66 37 6 58 239 201 75 66 15 183 164 271 139 108 9 62 110 218 75 96 103 221 206 98 18 144 122 103 192 212 57 109 209 9 269 14 189 137 112 142 9 275 259 66 276 162 71 126 104 188 123 97 120 292 154 100 264 253 146 64 111 119 289 97 139 222 300 192 218 147 32 114 175 70 60 144 304 277 241 232 142 180 174 142 14 173 262 11 217 211 92 145 164 60 149 163 164 44 75 44 158 274 49 110 89 141 54 236 91 222 189 259 291 261 293 237 88 282 190 107 294 146 80 6 222 162 83 56 57 49 304 169 78 22 89 214 143 41 296 197 153 240 106 184 15 154 155 144 179 24 66 289 264 259 156 261 189 53 142 271 11 277 102 287 217 170 55 239 87 3 247 36 13 280 269 230 59 204 185 254 8 206 186 47 8 51 16 159 296 274 152 12 79 1 169 46 284 147 282 214 182 200 101 33 168 279 131 176 35 154 291 285 99 130 135 207 275 125 207 256 182 70 42 257 17 246 242 127 172 10 237 142 44 6 207 129 218 287 76 57 166 55 105 2 149 23 143 66 225 148 134 151 195 207 27 110 214 175 247 227 155 109 252 298 213 226 17 2 184 253 290 300 237 139 7 224 246 284 17 32 203 132 170 102 290 172 150 229 225 22 213 19 130 98 180 217 237 193 3 133 221 245 94 232 84 47 54 120 166 219 180 119 199 220 20 267 242 182 286 167 296 56 10 127 103 165 296 127 140 298 87 282 285 204 301 26 249 302 28 69 147 143 156 260 119 83 272 82 43 128 299 279 215 145 215 231 30 30 111 275 193 178 196 302 291 173 205 124 125 92 123 217 137 261 104 266 295 148 23 48 192 10 150 175 57 206 132 127 131 273 244 142 179 231 132 109 281 259 296 216 137 55 1 80 75 220 161 139 187 5 31 95 162 53 263 28 193 147 121 41 294 111 65 250 16 224 288 253 159 57 27 258 66 68 88 160 216 90 76 144 75 135 130 115 216 263 100 197 233 40 109 100 228 152 22 28 233 7 304 2 151 199 35 160 228 40 85 94 289 81 78 45 273 67 220 21 119 64 30 163 108 186 146 210 39 119 150 208 181 14 48 32 66 257 17 15 258 61 173 290 301 281 19 57 263 117 123 47 168 49 66 109 213 297 246 230 186 30 13 193 163 147 209 56 109 276 135 253 248 209 160 29 47 94 99 57 197 100 272 191 3 9 239 31 141 125 213 259 155 210 14 106 251 284 295 266 99 80 196 76 33 246 95 104 6 152 234 177 280 77 285 275 135 47 21 186 282 80 264 60 194 160 250 226 170 91 304 125 253 117 92 91 297 176 213 176 49 5 115 12 273 253 120 199 172 302 36 38 139 216 182 20 255 67 244 260 187 61 190 158 249 161 12 179 187 214 38 140 207 39 267 271 175 133 159 122 171 195 301 90 49 131 242 161 69 89 169 208 172 48 154 267 126 180 129 267 97 142 173 80 185 13 184 98 60 32 175 4 92 161 90 300 254 300 261 9 31 59 112 155 101 275 190 128 23 39 141 128 58 44 102 186 112 139 9 193 227 150 291 55 116 227 172 79 283 38 184 179 282 186 13 52 61 71 33 20 285 219 72 142 272 247 267 52 244 214 248 169 227 179 264 67 219 231 157 230 59 182 271 286 55 302 123 198 214 264 165 44 236 239 47 180 165 72 51 5 214 243 72 164 89 156 160 199 55 21 204 53 52 215 296 172 104 224 209 256 48 121 25 173 27 173 123 134 121 179 88 48 13 91 136 107 294 117 182 9 141 229 258 109 159 111 144 201 243 24 259 41 37 235 13 191 281 268 179 40 292 229 154 216 273 98 214 39 18 242 280 51 101 165 35 192 43 102 1 123 276 262 273 154 77 236 200 135 233 78 269 249 117 256 207 75 167 176 170 275 44 3 198 211 145 158 284 274 18 120 190 242 165 202 276 189 153 147 50 98 258 122 147 185 273 205 140 285 94 168 117 265 30 102 194 195 61 137 206 131 276 196 50 264 65 233 210 285 126 221 260 163 24 182 285 127 260 209 269 188 144 73 98 185 262 209 66 77 6 195 30 289 201 67 138 295 164 154 177 241 156 139 111 176 300 250 136 132 201 56 217 47 106 146 296 55 107 72 3 178 62 154 279 26 42 72 201 44 231 223 21 223 122 56 18 50 129 172 171 281 120 209 122 220 49 169 51 208 141 41 25 143 87 265 9 183 249 209 254 14 22 300 133 157 122 80 58 62 160 226 261 8 53 12 162 240 144 268 205 18 150 136 60 214 232 147 278 191 27 18 123 117 244 228 10 224 255 125 30 203 141 240 260 127 109 5 27 24 183 285 263 22 213 245 218 43 134 300 10 189 222 148 73 152 239 261 124 276 54 15 145 19 111 209 199 300 276 169 53 270 133 168 83 282 1 218 87 19 31 134 21 169 118 57 280 33 165 178 3 187 268 239 233 162 41 57 45 284 291 53 170 24 97 124 42 111 189 233 177 109 108 268 303 133 79 290 240 11 241 170 12 16 122 48 88 34 123 53 248 119 148 288 25 211 114 239 32 136 182 113 19 54 141 90 36 220 199 195 250 60 210 217 36 21 286 149 230 188 15 24 209 3 175 214 15 5 141 51 246 53 177 77 111 37 249 174 88 49 56 222 36 243 27 208 76 99 156 146 254 34 81 19 282 17 178 33 213 180 88 250 155 245 69 81 89 62 180 123 248 142 197 35 263 68 200 66 11 128 191 157 293 251 2 237 46 249 150 105 110 180 90 98 117 135 268 271 41 79 105 155 83 28 212 189 254 161 95 128 133 286 133 273 77 154 13 31 30 138 157 134 90 56 92 271 101 302 214 14 55 163 239 90 80 251 143 177 262 142 104 304 222 130 46 48 253 206 24 105 74 272 53 89 149 92 299 66 123 198 177 39 297 222 121 70 19 275 294 37 160 130 194 295 23 284 193 295 60 180 39 50 71 42 122 195 181 93 20 265 213 211 48 88 272 8 137 297 60 107 43 83 58 65 174 272 32 144 17 178 56 107 243 75 188 100 144 68 236 229 45 257 25 63 97 255 214 5 287 180 158 28 194 83 255 148 256 293 101 37 20 289 190 145 200 64 50 226 194 35 224 79 149 164 189 67 171 257 91 51 34 64 202 200 122 103 204 15 115 264 45 114 298 117 268 108 69 52 297 150 66 258 44 230 115 47 193 208 214 124 225 91 128 294 138 256 132 151 267 25 156 2 44 59 144 53 90 298 165 173 171 214 145 72 230 240 46 196 33 29 171 139 11 132 60 81 301 209 119 78 232 180 120 252 37 285 53 273 192 17 37 91 300 67 86 86 112 6 243 300 291 28 120 141 178 72 295 265 209 199 303 2 165 232 70 237 203 299 53 227 146 254 197 36 204 141 295 221 150 69 157 279 114 127 97 62 68 48 295 145 94 200 212 228 72 43 252 96 166 7 269 192 166 119 3 53 272 133 113 204 283 170 268 296 48 92 189 100 243 32 291 287 140 200 84 171 2 202 211 25 296 263 241 121 123 156 85 157 71 141 11 300 294 179 282 93 114 32 98 292 286 150 250 238 96 284 224 256 60 52 156 158 107 47 176 269 124 204 27 258 243 242 272 218 180 15 245 137 96 243 18 236 79 79 55 268 52 174 28 278 85 58 275 276 234 227 295 139 270 23 279 194 243 215 229 191 100 261 158 217 164 265 77 112 29 28 167 304 82 122 269 52 102 230 175 159 20 38 267 95 257 34 50 183 272 83 224 263 249 112 68 144 213 141 193 17 246 36 181 145 236 169 40 77 44 114 47 258 18 53 27 151 59 143 49 243 166 145 34 131 44 247 117 109 251 228 302 14 278 241 202 4 286 154 15 225 74 165 271 4 210 283 223 208 238 100 265 184 22 181 119 30 219 176 74 260 203 147 87 113 237 263 152 88 188 71 270 60 104 105 96 177 164 154 84 23 270 87 176 200 193 237 145 248 298 233 60 280 40 115 93 195 144 134 271 111 43 150 173 303 152 154 295 165 115 146 189 121 185 142 275 122 192 112 207 9 194 161 165 171 296 115 223 63 239 225 259 101 292 259 102 78 96 228 36 267 217 96 106 114 144 90 40 177 122 278 261 268 292 162 279 195 215 280 285 256 153 288 150 183 300 17 27 48 210 262 104 90 39 276 176 192 245 264 99 289 151 64 226 151 21 44 108 23 209 280 89 35 288 106 131 268 212 193 294 4 37 104 191 240 24 13 153 6 90 209 3 68 168 56 4 169 130 296 194 18 62 270 144 13 218 90 62 80 283 90 101 201 55 112 147 108 202 149 201 65 48 124 88 266 252 87 124 268 85 20 290 112 219 301 150 284 50 191 135 61 283 302 301 158 150 231 139 176 191 73 72 107 4 257 144 150 77 266 19 260 134 8 19 301 2 1 232 264 85 63 110 28 190 5 31 246 229 21 229 117 297 289 114 220 180 258 123 67 234 12 251 259 69 184 73 211 59 292 157 183 134 3 303 122 159 17 201 38 149 7 177 126 253 71 30 43 183 71 287 8 254 35 169 83 219 50 3 40 32 254 23 143 6 55 156 102 125 205 264 89 177 263 184 91 258 158 254 52 290 133 54 53 10 33 36 215 282 298 94 268 181 139 175 73 242 169 175 302 7 100 300 205 234 278 174 250 269 4 172 111 162 217 88 191 83 63 130 203 36 43 90 49 144 56 217 43 92 88 116 98 56 215 6 257 157 178 56 112 63 180 224 90 126 68 256 210 1 145 232 56 79 166 200 290 110 223 107 200 34 23 76 99 254 35 180 197 271 235 49 291 68 244 1 294 241 95 250 41 1 84 182 73 272 174 230 171 146 124 50 208 124 38 105 42 121 150 290 249 54 216 67 220 43 124 252 90 161 21 252 297 175 148 121 135 248 300 230 170 111 300 180 207 46 187 18 25 124 282 111 60 231 41 248 39 75 179 173 16 262 242 297 198 108 47 87 290 186 251 246 106 145 46 44 124 291 197 272 274 267 214 155 258 227 177 68 222 108 137 216 254 229 12 37 266 34 47 220 148 98 80 229 186 102 147 77 271 67 79 269 255 21 96 78 284 91 22 218 54 48 134 282 196 261 256 7 106 225 299 79 217 193 278 4 79 30 195 133 186 119 8 220 257 304 2 292 10 59 167 226 145 254 119 161 174 172 214 169 158 42 2 165 104 258 159 152 2 67 303 86 187 149 29 3 148 234 129 287 139 254 30 138 204 175 5 152 84 45 129 219 116 23 106 114 145 165 1 228 222 159 302 180 236 132 253 62 184 95 265 224 138 298 230 48 293 178 165 114 23 135 236 183 257 281 65 247 191 79 104 289 43 112 24 85 243 18 35 239 71 113 217 98 144 216 46 65 212 245 134 60 36 75 167 51 128 245 11 35 155 279 32 27 103 37 80 202 98 213 116 108 242 269 29 243 37 107 47 225 61 158 264 10 181 37 22 157 208 271 228 108 196 126 125 244 191 34 47 230 121 99 289 45 146 178 30 241 165 32 198 82 68 96 149 85 4 58 165 276 22 229 109 218 277 236 103 284 264 175 270 285 264 40 179 164 173 206 1 210 28 203 211 123 135 117 221 65 77 4 126 49 102 44 123 196 119 217 202 70 275 80 135 251 271 157 240 164 275 36 291 288 231 28 281 200 47 47 287 50 301 98 252 141 220 264 6 202 142 5 79 76 20 49 193 242 193 25 230 260 141 252 248 136 20 159 233 269 229 7 228 285 32 78 57 225 188 34 301 105 177 130 202 255 135 151 190 265 5 193 11 116 261 182 33 192 20 281 19 150 89 192 1 61 63 223 279 160 189 258 301 100 163 137 256 68 50 238 198 221 231 8 221 126 295 216 146 145 233 227 139 188 241 199 165 257 43 49 41 31 194 17 16 101 230 247 172 170 117 43 285 256 208 144 41 249 294 113 82 128 175 41 123 24 246 246 101 135 251 250 64 232 275 115 213 271 251 264 274 202 139 296 257 291 162 154 167 124 78 137 260 143 191 177 6 68 267 249 32 299 89 140 42 38 80 279 49 102 86 170 183 110 251 61 167 294 27 80 254 30 152 62 201 174 236 241 140 159 26 100 230 96 289 8 204 176 101 231 128 19 75 14 113 272 263 247 301 225 205 174 191 95 184 99 290 37 61 126 185 62 286 73 88 127 91 58 279 160 191 85 179 27 36 300 139 108 196 74 2 150 7 181 299 193 148 284 145 184 121 57 22 100 13 156 294 115 145 213 65 241 17 275 5 127 150 138 40 200 40 181 258 62 237 234 7 190 106 161 304 214 283 21 265 6 5 273 93 44 160 103 41 252 67 39 267 288 254 122 196 201 252 237 134 63 243 252 7 188 163 28 156 44 79 114 213 289 200 202 93 38 277 209 163 66 90 36 8 74 62 129 163 61 148 43 283 61 1 259 186 108 266 228 171 265 208 180 301 39 293 142 188 293 216 15 22 289 122 304 142 83 136 166 24 69 178 302 48 223 32 159 214 263 116 296 79 143 101 94 39 14 152 278 293 192 265 126 301 103 154 205 93 217 117 9 56 43 151 4 225 62 61 95 151 74 169 300 32 229 239 182 167 82 214 283 263 72 221 195 246 131 39 117 283 301 124 279 200 125 91 84 44 117 181 39 25 42 217 48 91 228 231 126 132 5 34 106 138 65 282 64 76 54 218 242 46 156 244 230 49 8 158 297 109 278 32 171 72 20 103 188 206 101 298 194 57 88 266 255 83 174 198 89 232 271 168 184 126 3 188 260 183 135 187 139 297 200 295 301 143 145 142 167 124 265 154 156 72 45 99 72 186 56 13 22 215 80 53 165 17 93 91 186 209 190 40 283 197 206 252 107 109 88 148 145 169 46 152 13 265 235 196 108 16 150 284 257 141 146 81 181 60 147 272 252 161 281 102 104 155 235 118 135 8 104 56 38 277 83 33 293 34 207 132 217 117 3 38 38 161 301 172 121 206 276 77 158 138 95 70 213 202 121 245 21 194 233 40 83 221 197 208 120 51 39 87 147 185 246 144 65 211 136 83 181 67 195 156 226 213 40 171 88 118 123 160 297 159 195 32 192 304 242 223 135 246 193 88 262 63 257 185 283 186 250 303 121 261 119 170 39 35 26 190 171 149 133 63 232 271 281 210 230 34 298 255 15 75 119 111 79 74 54 210 120 288 180 137 55 245 15 115 218 218 125 150 220 181 241 68 289 141 246 209 244 128 160 225 100 97 267 43 40 68 69 235 180 85 226 181 269 8 80 115 238 289 168 211 191 259 74 222 248 196 110 11 94 48 210 47 61 179 191 42 86 213 190 52 122 109 120 168 110 9 121 294 158 139 157 51 134 223 92 298 162 171 147 35 224 196 78 247 264 119 271 182 24 29 94 201 202 150 175 190 38 126 211 73 22 278 231 97 210 169 143 275 15 159 204 39 242 188 198 32 56 170 277 62 109 205 34 49 206 228 135 4 302 201 157 29 241 153 23 75 234 61 113 134 4 78 74 204 68 143 86 126 149 225 92 247 92 261 266 201 274 163 80 4 250 290 293 205 282 242 172 287 175 68 9 19 261 102 61 102 265 287 62 14 217 139 87 189 60 239 229 54 220 162 170 127 104 125 124 278 301 174 130 52 223 202 86 45 146 277 44 191 202 135 122 113 147 27 71 224 40 21 154 75 170 94 65 295 12 130 242 191 209 100 96 185 171 203 133 58 149 62 243 185 55 251 179 142 46 136 7 257 113 286 87 225 226 201 49 170 119 45 248 65 226 40 182 54 85 243 157 33 70 287 5 144 179 49 211 128 113 162 37 222 279 120 15 142 230 44 255 27 4 180 8 110 211 22 302 134 110 11 212 246 3 193 218 190 233 87 296 227 181 234 303 45 222 216 151 281 41 73 127 256 149 169 170 14 21 140 49 219 11 186 229 4 44 266 77 135 59 153 226 53 282 97 226 129 163 303 207 303 191 189 77 140 190 247 289 297 300 271 192 90 28 191 167 2 28 289 116 138 168 226 17 144 262 148 186 279 2 266 131 146 28 169 139 299 199 86 36 260 87 219 212 301 283 122 118 130 8 116 220 24 257 87 284 13 99 141 88 280 245 127 267 198 62 243 140 280 220 7 127 259 115 41 143 269 225 188 264 86 176 234 269 16 193 209 233 80 81 49 46 279 156 32 266 239 213 216 254 282 149 222 30 104 141 262 290 183 34 212 183 265 4 161 175 194 135 30 24 120 16 113 273 266 119 154 185 82 139 18 81 8 263 86 252 44 295 200 157 129 66 295 252 248 1 182 228 190 29 106 282 240 49 257 67 186 162 86 27 298 181 209 295 155 82 24 257 283 257 74 148 131 10 212 163 274 186 250 76 150 96 293 210 229 164 15 7 100 200 67 197 166 262 223 56 84 166 223 289 122 69 34 237 58 159 170 244 171 107 173 129 124 171 39 66 181 103 294 250 92 130 234 191 75 64 196 74 205 197 87 50 118 72 93 25 177 294 12 286 169 30 296 157 275 78 287 30 57 61 90 224 2 35 143 84 241 102 303 91 189 142 47 35 97 12 31 52 105 237 88 216 273 211 251 204 174 2 148 122 187 223 152 183 216 111 269 41 5 170 183 215 252 99 113 128 4 245 205 192 183 103 93 301 199 89 235 233 128 4 173 60 11 1 51 65 236 96 128 106 33 11 138 187 253 168 221 135 288 120 145 189 144 193 152 296 95 206 74 293 51 260 169 127 30 273 149 8 28 146 59 206 217 24 279 91 197 4 243 205 106 300 101 87 93 145 57 285 78 191 81 71 163 75 141 144 176 273 67 178 157 176 38 279 118 209 36 229 287 28 32 46 183 224 238 35 194 78 237 254 283 169 152 217 143 264 217 267 126 241 76 282 275 116 148 197 294 303 281 266 197 253 206 70 36 231 79 274 192 197 56 194 86 49 189 245 4 108 41 260 167 118 290 161 217 73 226 278 4 33 253 205 292 222 177 210 193 20 285 62 157 142 7 150 252 97 282 122 195 67 131 51 300 214 133 141 142 27 179 204 212 141 248 266 275 226 109 185 55 9 1 11 90 84 22 110 89 58 146 206 289 4 156 158 247 121 4 88 29 239 27 228 13 168 197 70 112 117 280 94 86 227 31 234 271 291 222 77 25 218 235 88 119 46 257 196 207 111 69 263 216 40 238 85 97 42 94 36 2 172 61 297 60 222 274 229 75 28 86 75 101 69 169 45 70 98 280 29 282 210 228 207 144 228 8 194 185 160 211 114 293 253 175 32 133 134 134 62 77 117 271 244 174 175 259 11 243 240 112 19 286 193 223 179 302 21 22 116 53 121 236 210 9 118 119 265 190 237 107 41 255 95 145 98 95 68 299 72 127 157 140 265 263 45 30 259 126 186 63 80 257 72 71 155 13 176 121 196 72 250 5 281 70 205 124 277 9 211 177 31 237 213 289 34 177 133 163 124 147 233 252 4 206 38 114 268 295 286 171 238 66 267 199 178 68 297 260 90 49 199 21 87 223 102 267 125 264 302 122 264 254 102 156 148 244 97 9 166 144 69 155 147 202 65 138 195 208 119 54 226 74 97 294 163 121 134 270 304 271 282 49 226 154 230 63 226 9 126 104 77 108 78 262 13 34 127 227 10 156 120 19 58 83 232 248 200 192 122 179 167 166 199 43 141 30 138 121 285 26 170 276 30 205 295 160 17 41 151 129 46 267 134 48 243 16 245 133 290 113 45 57 73 93 13 181 128 266 79 42 148 160 279 21 300 3 103 101 282 120 121 302 291 226 102 279 171 10 211 179 66 288 105 246 255 158 270 244 11 156 220 144 281 293 201 182 303 7 178 119 62 18 43 190 13 301 117 71 283 176 206 236 48 204 113 227 196 165 234 186 272 104 61 192 186 189 101 260 201 154 296 147 207 219 282 31 193 5 143 19 129 62 239 12 270 137 283 118 231 239 115 237 218 57 64 241 237 161 302 73 61 61 205 273 231 58 84 97 66 125 121 265 186 199 137 289 78 248 107 143 21 210 288 188 216 278 87 95 207 61 145 124 254 12 171 236 54 198 146 6 100 167 58 6 238 211 214 221 266 237 228 33 290 7 150 182 155 265 24 78 295 101 80 189 177 297 10 276 137 278 66 170 263 180 228 72 84 46 96 46 250 5 269 156 279 241 226 215 226 129 48 92 9 112 15 97 10 2 138 256 170 174 235 281 97 59 35 245 112 76 59 19 150 260 93 150 211 290 43 209 80 53 291 283 88 37 25 130 293 98 24 135 151 250 20 269 264 134 220 259 96 12 185 181 97 58 242 114 197 134 276 91 87 300 49 300 96 87 35 168 39 190 286 58 290 120 46 259 162 55 215 198 253 283 43 152 193 250 61 38 211 45 152 14 150 112 50 13 261 125 252 182 38 273 66 224 96 116 77 276 213 19 180 89 162 281 98 160 158 217 267 270 294 94 138 35 8 100 62 217 274 243 197 33 142 46 58 139 130 45 33 296 215 17 65 20 70 203 137 114 164 284 78 236 48 284 9 3 17 104 131 250 111 226 210 35 265 224 130 220 154 283 238 288 234 161 39 289 192 147 197 153 185 92 34 210 48 173 94 10 96 30 88 49 145 272 39 98 260 157 30 54 191 294 28 150 277 189 162 227 240 6 36 155 237 1 140 294 47 94 78 226 39 164 67 246 141 17 221 103 21 198 48 66 208 253 248 12 5 180 58 91 33 153 48 240 263 125 283 80 177 240 194 230 152 105 116 12 214 26 121 303 154 302 191 13 20 195 90 77 93 253 213 68 258 186 151 27 112 103 183 8 9 245 163 3 297 175 269 236 24 115 278 138 17 249 158 104 208 13 54 266 51 158 34 84 141 202 77 299 112 261 262 60 282 238 78 19 252 201 76 265 8 176 289 100 164 279 16 303 36 69 90 87 134 75 247 251 266 56 38 110 146 196 245 176 86 2 210 276 185 193 161 81 244 98 35 102 199 169 72 91 62 221 224 128 33 254 205 200 218 182 3 252 91 50 82 188 287 209 183 230 227 164 176 187 70 11 304 226 295 289 289 40 32 230 240 145 241 194 33 222 226 282 177 272 289 19 140 177 127 104 136 142 12 303 235 245 246 125 68 172 156 83 145 175 293 178 166 143 82 276 54 271 144 268 141 12 40 45 141 291 276 202 285 24 54 290 41 81 139 188 273 233 155 37 59 173 276 75 198 236 116 19 248 217 172 101 62 105 243 286 37 32 85 275 102 74 187 172 143 226 232 56 284 161 91 65 178 151 294 220 148 80 105 134 281 57 118 10 204 93 260 141 28 247 114 141 188 160 203 60 212 273 57 204 235 98 104 281 267 233 216 10 215 16 28 111 34 39 156 40 40 70 228 159 41 130 240 275 248 298 184 291 275 201 28 205 94 35 167 214 8 120 146 41 21 7 230 101 265 256 128 108 198 183 123 14 292 103 177 128 45 259 47 197 92 215 57 158 87 281 215 190 173 249 37 139 104 66 7 177 111 97 247 94 82 221 149 192 258 4 42 187 10 89 195 269 208 224 47 93 132 43 282 219 285 99 186 182 75 248 227 224 56 282 138 154 60 295 23 33 37 139 51 278 113 229 265 122 130 21 120 176 230 286 229 301 241 129 265 177 30 294 42 51 101 7 201 160 64 137 180 194 208 260 188 84 132 45 304 20 253 59 209 288 172 266 142 243 55 102 157 190 171 138 48 255 292 128 74 107 83 89 10 74 207 150 56 76 131 3 302 118 39 132 267 224 13 280 25 106 104 245 38 4 68 86 186 9 197 237 161 155 297 80 136 56 175 136 96 169 195 87 193 289 87 97 178 201 250 235 34 44 179 276 138 100 199 116 209 243 159 180 128 199 146 161 16 125 264 108 259 151 227 124 128 27 266 32 293 175 270 236 124 190 71 141 227 139 75 133 294 279 229 184 240 257 116 193 283 48 302 216 14 138 70 37 214 177 209 285 106 69 13 75 135 300 219 200 25 204 66 170 285 169 131 65 108 42 192 168 295 122 55 95 277 232 201 99 81 243 241 65 32 289 98 54 23 16 25 58 258 181 20 304 155 75 120 101 249 42 121 161 209 22 108 116 223 93 276 231 190 60 71 163 265 112 52 223 122 6 19 89 46 187 205 35 86 291 195 30 233 14 205 303 59 90 185 36 35 115 35 230 258 69 39 278 30 235 277 200 129 167 208 202 96 291 179 110 160 235 16 46 52 262 217 21 156 207 113 129 111 99 55 98 78 256 41 166 12 45 130 299 238 225 34 143 227 74 224 42 281 220 17 233 250 238 220 54 276 33 247 142 241 239 125 236 287 97 178 187 161 258 25 198 137 183 119 157 57 262 135 212 99 277 239 60 85 150 89 241 295 79 81 78 303 84 37 102 70 62 243 154 37 54 261 4 205 131 22 73 74 158 201 139 144 163 17 66 264 285 187 244 111 112 260 266 267 85 69 66 281 299 85 52 253 291 258 119 229 236 44 29 147 22 200 2 135 243 291 166 146 255 189 187 74 251 235 271 69 186 21 234 208 224 247 230 97 294 38 127 165 188 152 135 156 132 158 253 23 99 130 77 232 240 182 139 127 245 196 228 290 136 242 138 124 122 200 238 34 176 267 126 290 127 143 296 191 72 67 175 100 40 22 140 137 192 271 264 292 234 100 208 244 112 245 253 297 69 232 110 109 298 100 303 136 207 218 227 14 201 72 183 38 222 88 213 159 4 245 161 262 299 102 53 290 155 58 269 158 25 207 216 161 155 219 208 120 151 277 211 220 91 260 55 88 233 54 54 159 162 282 241 137 101 127 143 81 77 146 46 131 93 146 106 132 22 24 303 261 64 161 171 137 182 144 172 77 239 241 89 123 190 12 279 141 1 281 209 21 111 40 157 299 284 70 295 16 121 65 270 200 117 292 253 209 155 240 61 142 1 257 139 40 285 120 8 148 32 65 185 50 42 54 203 85 147 61 257 21 150 298 76 173 17 140 25 132 206 285 139 11 125 227 220 47 214 174 276 232 296 84 34 87 77 51 86 44 63 72 83 234 85 43 37 213 61 270 70 241 188 5 250 224 79 188 162 241 6 225 268 100 106 286 158 44 188 170 249 201 166 153 37 241 233 84 23 216 72 188 131 85 215 157 16 22 171 98 249 251 165 154 217 260 5 131 92 121 161 197 21 152 279 141 50 42 109 198 9 175 36 157 34 258 98 171 262 296 215 288 207 229 202 115 126 157 47 107 39 56 114 271 51 70 22 285 141 14 77 147 251 79 217 267 20 218 101 97 231 208 261 48 18 129 238 289 244 20 247 130 204 163 291 159 202 153 170 266 110 110 261 298 267 251 297 22 293 123 29 111 230 275 174 304 81 7 3 135 185 106 60 17 279 5 120 53 228 131 47 2 75 100 152 171 147 3 20 191 44 87 183 197 30 234 74 195 25 164 98 107 231 29 280 265 228 203 253 28 172 181 229 205 258 193 220 42 192 51 82 60 122 234 77 303 136 186 138 100 90 93 283 295 40 25 280 259 245 221 232 225 81 28 295 234 219 184 4 33 62 98 19 18 243 77 183 17 118 274 88 111 172 76 168 261 113 259 184 36 77 61 301 152 160 187 280 153 103 254 165 281 29 242 16 179 188 6 270 144 246 104 46 125 291 223 107 76 143 215 244 79 83 250 27 67 149 37 61 94 5 98 279 223 268 90 205 183 285 118 284 2 294 159 68 232 297 297 216 72 123 254 155 6 85 58 125 215 232 284 291 148 26 223 3 89 54 222 252 241 255 71 123 134 57 279 211 164 158 82 293 125 32 253 42 48 170 267 286 121 148 83 69 39 181 143 21 47 95 242 210 249 174 272 69 216 119 108 119 162 29 203 228 187 114 46 93 160 129 289 176 186 243 247 125 295 266 285 58 243 161 126 122 94 48 220 151 39 220 56 12 174 291 248 91 42 214 161 45 118 200 8 116 127 61 167 200 276 18 150 302 83 219 69 137 247 11 291 268 119 272 1 300 198 21 152 47 288 172 177 25 10 24 138 114 135 254 167 219 231 280 118 168 11 191 299 96 157 199 196 44 25 233 236 180 128 121 262 205 190 141 270 22 278 3 262 111 135 12 39 52 74 265 55 181 125 278 143 141 301 48 132 144 225 164 144 116 7 271 259 90 135 263 228 132 276 229 237 76 60 297 94 27 249 304 63 158 96 121 46 83 79 86 16 172 152 212 112 28 164 23 109 173 116 132 214 45 294 71 62 273 224 214 251 83 121 123 121 223 297 293 292 128 225 93 142 169 275 199 222 66 252 214 66 46 277 237 158 293 3 277 190 19 40 294 57 162 68 288 184 64 298 113 112 150 45 258 30 127 61 108 293 283 3 213 265 62 250 241 149 148 62 13 237 85 291 109 217 74 240 109 195 301 32 153 194 46 256 267 130 80 106 101 104 34 112 71 194 49 123 75 155 175 254 27 136 76 297 285 262 102 61 223 179 11 2 142 168 12 135 71 111 93 134 264 246 228 219 36 19 7 113 291 28 53 187 195 114 140 58 45 26 72 248 295 273 140 119 264 126 272 170 156 218 189 67 299 152 218 182 184 158 300 31 204 137 157 88 21 191 287 4 264 15 136 263 107 90 171 163 35 220 266 274 177 204 294 110 74 300 101 224 303 145 271 224 34 190 156 1 188 231 304 200 235 258 100 275 123 145 213 202 184 221 26 221 106 117 64 242 95 146 255 123 65 141 296 295 81 156 43 294 122 214 117 42 268 191 136 72 89 22 74 99 230 47 270 128 230 179 280 128 148 24 273 66 97 37 166 247 207 200 45 107 224 59 277 108 239 54 99 113 192 58 87 6 58 181 28 55 97 237 145 153 197 85 166 146 74 300 16 3 80 37 255 297 270 135 180 100 184 255 99 63 73 191 152 283 64 66 156 297 221 59 168 113 208 265 37 35 33 298 109 213 187 194 155 163 62 96 102 166 86 28 262 36 226 5 99 201 96 141 248 247 44 266 190 155 71 248 297 116 235 183 74 153 50 14 301 158 290 64 125 209 293 62 11 121 239 246 276 76 266 52 158 49 68 178 86 128 4 128 85 289 212 202 73 31 40 61 263 85 164 256 195 250 76 171 164 203 97 106 231 286 150 32 34 103 249 181 113 136 259 139 17 295 71 142 158 244 49 210 285 242 61 226 11 78 126 80 216 38 211 262 200 278 16 287 228 187 229 114 72 94 12 222 72 256 209 290 130 257 202 134 180 118 236 65 58 21 169 164 264 9 252 87 144 282 219 111 106 302 123 278 95 60 154 301 302 76 196 85 88 299 2 265 2 137 238 91 154 275 104 117 136 206 256 85 226 278 112 77 206 152 190 149 270 182 37 167 137 34 105 283 226 159 35 190 146 74 107 301 236 1 111 168 199 221 11 22 108 103 11 39 107 1 171 52 35 87 146 249 9 74 64 11 156 35 198 230 207 132 66 270 266 170 44 178 116 43 269 134 263 140 250 224 200 207 53 84 37 105 288 150 229 281 78 100 65 3 121 127 34 178 32 108 286 288 125 114 64 30 222 200 215 283 108 66 110 276 30 202 115 60 253 250 123 304 85 141 137 147 274 160 7 49 223 183 25 223 165 264 214 93 81 86 39 204 181 230 233 63 8 111 8 138 144 93 141 274 148 166 74 283 33 197 213 208 204 34 90 300 56 276 114 276 9 92 67 8 251 30 246 117 275 95 304 96 213 68 18 13 299 238 114 289 275 197 55 9 270 160 76 300 282 304 80 90 248 126 37 250 69 34 191 304 213 33 233 92 229 170 92 74 226 116 284 54 5 5 248 71 153 63 165 290 172 9 9 80 6 107 9 3 247 251 116 289 274 232 264 242 56 77 79 102 153 50 51 225 98 153 29 260 136 129 239 74 258 159 149 145 210 176 38 169 256 194 239 137 214 201 66 149 112 297 281 12 212 81 131 225 64 239 235 265 253 181 300 25 27 296 17 270 154 150 15 125 116 153 292 221 73 291 193 50 132 3 144 113 181 156 83 153 126 297 72 213 94 6 129 103 231 302 294 264 155 73 67 46 146 218 48 2 102 259 172 281 265 185 246 161 114 87 198 189 107 131 27 28 164 209 164 192 102 237 194 96 299 102 75 170 53 186 192 256 38 249 224 283 146 205 29 133 3 26 27 122 82 9 266 100 134 12 260 18 27 60 288 233 251 96 220 134 284 107 54 142 232 193 49 227 55 22 90 241 277 210 109 50 136 94 276 146 127 179 10 304 122 138 78 295 104 122 19 131 237 178 2 288 173 28 195 236 261 117 206 239 303 68 253 233 171 197 116 94 55 239 28 176 236 149 261 265 242 110 35 29 268 52 196 210 181 173 76 251 43 135 198 144 293 195 262 102 267 198 56 53 226 158 247 280 254 287 41 215 123 14 116 256 240 21 304 86 175 203 184 289 151 247 23 4 197 70 224 69 150 91 225 68 290 175 26 200 276 130 248 270 180 189 121 287 141 119 77 167 137 84 28 140 42 112 14 63 30 61 75 205 36 30 251 99 138 89 93 24 253 1 123 127 275 43 59 31 158 263 234 192 2 121 168 56 252 19 78 220 62 266 256 24 264 191 248 141 118 92 51 42 53 91 297 189 269 164 31 245 134 298 15 52 178 245 297 151 235 223 152 74 296 43 53 233 128 24 52 48 83 8 133 296 157 20 20 130 223 186 199 132 58 287 254 245 11 52 25 248 204 209 26 242 184 196 229 303 209 151 56 180 271 173 208 203 174 10 227 87 144 203 251 45 185 240 112 139 121 282 236 64 224 103 26 233 244 214 57 267 210 147 214 135 172 257 75 66 49 252 139 181 269 5 23 13 84 93 293 108 159 27 161 278 137 45 296 175 178 228 207 193 241 165 269 199 276 207 169 198 30 203 252 290 81 167 75 214 196 267 282 52 214 260 245 198 177 140 61 58 286 92 244 272 99 147 68 304 166 243 258 9 83 131 191 101 172 244 145 13 230 183 8 21 206 153 248 104 164 254 165 67 8 12 36 202 42 151 19 85 299 63 228 24 103 71 175 68 277 292 181 299 258 220 109 286 61 185 22 192 34 21 200 242 288 147 58 275 82 202 24 204 63 37 54 255 81 41 49 275 24 25 50 103 225 56 31 239 273 35 192 196 205 15 292 290 165 71 53 166 227 300 45 61 196 91 20 238 240 127 133 236 140 143 63 118 56 284 100 183 273 266 126 262 230 291 195 111 276 196 93 89 199 191 175 24 104 106 211 261 44 106 80 142 104 150 78 283 45 69 255 145 230 173 102 255 4 53 218 7 169 136 51 173 162 192 3 205 246 21 150 247 56 228 162 141 113 67 93 160 90 200 225 71 30 293 239 211 17 289 202 255 59 166 256 274 241 272 291 100 60 13 141 195 53 151 172 60 13 237 298 256 102 240 116 244 10 102 207 228 262 194 166 239 32 171 24 295 132 192 230 243 15 268 186 120 252 30 34 6 267 51 56 184 162 253 114 227 234 255 91 212 136 125 268 96 11 290 286 47 162 96 288 191 161 231 176 304 38 108 39 62 289 271 180 91 290 106 60 102 114 253 142 269 198 34 11 284 293 256 49 138 195 189 139 239 24 35 294 30 210 29 184 243 197 155 156 181 99 9 117 89 184 118 146 91 256 151 102 61 35 165 272 12 217 6 53 113 284 178 220 66 196 250 282 67 302 123 48 28 137 172 222 242 61 126 263 251 67 255 262 243 59 256 224 243 230 117 247 132 297 65 279 133 108 204 9 118 167 69 18 138 225 244 27 189 303 146 296 120 97 152 194 110 109 108 85 297 304 177 197 2 194 131 231 51 86 188 293 232 195 174 84 16 278 134 151 201 251 40 48 104 103 43 212 230 262 146 118 223 121 218 126 175 189 134 115 156 162 63 104 242 282 161 222 25 265 6 215 149 95 148 199 70 138 97 242 80 51 31 169 285 272 139 252 78 149 216 116 274 164 135 95 206 31 98 138 1 37 158 273 188 299 105 104 103 114 188 66 257 84 220 79 8 255 50 14 163 103 232 116 170 188 11 123 55 122 24 281 109 54 41 266 149 108 247 92 151 289 76 250 56 266 288 270 199 75 123 224 96 54 195 3 142 60 240 257 221 107 234 146 201 239 273 76 3 153 50 117 64 216 194 43 152 163 5 38 283 142 92 257 257 4 3 260 69 86 77 227 46 149 247 176 253 222 158 170 40 278 38 136 302 257 16 87 302 28 152 94 125 303 155 53 280 244 99 2 65 100 139 88 128 185 110 245 137 233 251 251 183 9 302 158 195 252 94 239 222 290 214 28 165 76 7 264 261 207 78 232 77 188 238 169 120 146 178 242 241 170 50 302 11 132 144 117 172 209 157 96 254 253 283 256 116 46 258 159 161 203 206 229 287 265 192 168 131 45 235 219 265 268 165 16 302 233 242 241 247 208 132 187 281 24 60 9 223 60 273 198 184 252 288 297 86 154 172 174 216 83 110 176 157 112 178 148 200 278 72 264 120 56 269 20 270 132 300 137 176 293 133 53 252 133 160 104 104 180 153 155 196 186 224 197 135 21 279 34 63 276 170 165 158 3 214 181 259 66 46 206 191 7 88 199 15 71 13 203 290 226 176 227 223 99 262 294 100 42 206 136 69 65 192 115 277 173 299 25 145 207 236 98 161 290 26 47 47 82 240 34 105 285 15 287 114 32 171 63 64 41 77 80 35 257 21 193 283 181 180 304 188 191 215 127 85 83 246 19 127 76 43 301 196 207 170 209 261 92 65 66 81 54 180 66 276 63 43 152 123 147 133 84 199 48 192 147 135 275 55 265 165 302 170 51 149 253 60 2 54 115 47 214 199 114 119 151 165 254 223 251 91 97 60 154 244 78 18 201 300 271 77 296 171 44 97 76 114 47 210 248 167 142 16 57 57 179 54 245 288 76 39 220 205 238 244 228 42 149 109 251 146 234 136 237 282 118 167 188 120 254 230 179 128 67 127 27 161 283 139 245 52 169 104 83 185 60 42 69 129 247 136 186 101 113 302 99 101 182 114 201 272 227 214 292 87 260 286 19 20 247 186 218 187 231 178 27 48 166 5 165 40 9 171 171 14 4 135 228 80 6 135 57 298 177 99 32 33 227 294 161 281 199 239 239 218 46 247 274 154 40 50 238 85 70 83 220 112 237 214 262 296 30 174 10 297 4 25 166 155 52 301 146 195 147 298 237 144 136 140 86 37 83 102 190 194 267 276 140 140 62 30 49 16 132 304 110 122 297 36 56 271 247 210 273 60 197 265 115 138 288 174 64 199 49 83 22 131 83 278 280 63 149 252 98 159 145 11 38 266 60 43 53 50 185 67 134 122 30 11 226 214 8 218 5 240 223 23 43 204 283 283 299 97 249 273 304 10 82 290 133 224 81 181 241 28 167 27 268 161 122 150 276 113 255 53 165 225 237 182 70 168 63 214 188 289 34 77 132 168 134 172 228 118 215 25 159 284 20 188 183 20 167 70 166 154 129 218 82 77 185 68 213 50 192 286 298 8 190 259 256 129 32 197 224 49 29 29 1 44 231 117 101 11 53 232 148 64 167 286 184 213 39 74 260 46 110 86 284 166 80 183 231 237 252 200 76 47 148 136 14 115 90 285 170 63 251 16 269 80 106 264 206 265 81 251 252 32 195 73 7 124 101 2 25 216 125 213 170 196 107 6 71 272 281 154 199 173 292 144 41 68 77 193 94 278 25 285 294 166 144 22 224 95 133 190 221 38 64 162 226 26 37 58 67 114 235 236 98 229 72 212 48 54 27 195 63 117 270 89 152 240 67 178 49 127 130 205 105 53 96 192 86 162 60 290 81 303 107 249 118 162 124 135 246 55 147 148 176 224 7 13 157 116 174 74 80 258 127 187 150 123 203 292 62 117 138 257 269 28 205 204 304 201 293 234 68 44 154 173 122 268 34 50 193 274 63 52 128 222 85 121 160 272 214 40 192 49 214 124 282 94 136 172 147 1 56 93 138 287 255 217 190 198 289 239 139 122 85 130 258 228 159 127 85 181 76 59 185 117 82 122 10 224 245 212 29 48 38 102 188 173 189 169 4 1 299 92 157 12 114 3 249 111 99 256 37 50 70 57 80 28 189 230 157 234 70 73 176 216 12 113 114 295 89 18 48 273 9 241 67 250 139 287 258 83 122 258 119 173 222 241 206 300 189 264 85 173 223 296 169 262 48 67 128 173 268 199 70 3 143 206 117 262 252 303 171 283 262 28 159 193 4 67 268 110 101 238 284 188 214 99 282 237 148 233 246 114 56 197 146 139 206 130 170 246 180 147 26 82 298 285 91 272 35 107 74 229 184 210 125 293 57 172 20 252 144 9 107 150 298 153 304 78 105 85 12 214 213 82 27 64 261 63 256 171 204 66 303 111 274 86 167 67 215 86 128 249 243 62 302 249 162 180 185 280 44 115 215 86 23 261 243 38 25 8 218 120 8 271 265 84 32 122 278 154 50 40 155 289 92 227 94 290 120 74 236 131 130 20 92 45 302 227 216 32 88 151 131 5 64 208 87 246 135 157 288 39 294 102 16 152 181 70 231 185 6 2 11 106 304 273 89 34 77 243 52 198 296 192 166 188 31 110 300 212 19 220 93 56 212 132 58 81 103 156 114 295 43 204 167 62 25 158 109 155 280 275 230 289 130 124 144 101 240 152 87 232 127 26 247 68 117 33 292 241 133 19 188 139 96 223 166 74 260 70 86 105 106 268 84 269 84 93 16 190 118 213 112 192 166 141 288 155 228 208 87 261 268 256 181 237 116 204 283 228 246 154 111 82 17 14 63 47 63 134 220 11 82 125 1 234 85 74 101 240 103 204 153 73 257 233 121 237 268 237 111 111 212 134 161 51 11 16 109 52 187 174 300 143 148 118 268 249 81 277 52 174 159 93 47 31 183 8 233 205 60 222 39 169 116 17 227 303 302 176 171 98 135 248 40 51 87 4 213 246 105 276 166 281 245 243 215 121 204 84 60 217 93 113 161 116 128 152 99 302 25 122 24 158 237 81 47 179 278 103 35 205 89 273 177 127 65 237 211 103 198 88 209 210 133 132 2 279 267 237 230 215 269 45 64 260 299 16 52 170 100 155 74 17 282 238 237 188 264 270 47 34 54 170 58 187 38 176 41 181 205 95 255 93 298 145 200 266 156 159 271 139 173 268 269 23 192 188 15 79 188 288 107 107 183 107 177 101 291 250 2 301 77 184 157 138 144 59 242 170 19 289 203 49 303 175 180 171 81 108 260 180 288 125 172 255 182 190 97 199 303 166 248 86 48 84 101 266 285 148 284 103 5 224 226 4 88 110 134 183 197 182 68 285 248 180 29 298 285 281 219 300 286 75 118 50 141 91 188 131 273 29 253 172 35 250 61 106 101 140 225 138 261 15 223 251 60 271 120 134 258 81 183 289 214 238 144 23 159 18 273 262 50 138 205 95 224 249 61 170 159 186 41 54 67 259 118 123 75 185 204 169 175 27 212 82 123 246 130 147 85 50 13 180 280 86 59 11 19 165 54 225 166 89 51 299 69 213 21 285 149 78 106 29 212 23 73 224 228 102 116 160 242 265 57 236 12 8 72 268 88 229 3 126 108 304 152 4 20 26 93 112 101 47 242 196 257 14 171 211 200 256 77 40 279 52 266 262 66 139 70 301 91 207 282 264 166 220 257 98 101 135 108 13 86 53 197 293 281 105 260 38 279 223 163 298 259 232 249 109 90 98 153 128 178 193 176 122 287 90 94 224 215 92 13 147 184 173 123 281 101 69 73 141 195 248 270 271 155 296 134 269 51 210 101 231 130 147 52 89 292 29 279 39 130 218 163 177 136 191 161 12 19 21 180 204 119 252 276 228 219 296 207 262 146 180 167 97 25 107 64 265 78 213 292 210 278 213 256 153 127 102 197 204 142 61 248 103 130 251 106 203 261 64 210 218 238 169 144 188 300 111 58 178 173 298 96 47 111 290 245 55 225 304 204 46 206 259 300 108 137 26 239 170 112 49 193 177 260 296 52 21 123 159 193 114 269 181 54 273 288 145 70 287 54 263 10 169 246 257 265 206 17 54 250 193 181 43 37 228 126 264 114 148 133 197 283 265 14 4 203 12 189 5 121 140 151 249 129 78 89 131 168 83 291 52 128 79 228 151 158 278 132 293 4 65 66 36 129 267 57 83 52 190 32 104 148 34 238 249 249 210 130 170 21 22 281 102 66 176 24 304 134 260 195 64 214 160 272 59 131 124 239 164 240 78 207 196 280 81 158 293 240 131 9 238 292 23 68 126 262 272 257 242 59 220 159 225 190 249 219 159 289 39 56 173 47 176 264 285 239 212 243 266 119 20 173 128 206 278 84 20 41 256 79 180 170 260 276 263 165 177 20 234 277 97 156 129 95 271 138 68 215 292 147 65 298 201 103 36 72 227 39 204 252 200 267 205 236 246 211 160 203 80 280 63 37 169 188 236 158 256 68 80 252 287 146 64 128 132 66 255 180 300 286 297 84 197 61 27 286 21 162 146 69 272 90 54 271 230 2 21 281 56 278 223 265 33 23 99 246 245 214 84 127 1 235 260 70 45 297 109 188 243 170 46 241 266 225 130 229 65 122 120 225 95 162 90 54 251 226 53 181 213 57 79 119 174 131 85 303 195 42 62 157 304 72 179 68 24 89 289 297 62 39 220 190 250 301 77 124 84 39 303 179 151 226 225 215 264 84 60 15 242 91 285 224 263 214 2 128 275 25 191 146 167 298 267 284 23 202 55 62 146 116 100 290 41 8 112 230 19 70 258 38 159 178 115 178 259 282 254 49 176 167 215 162 259 56 93 265 70 14 148 65 162 12 51 168 138 28 297 286 179 35 160 52 79 49 97 268 41 221 225 144 53 112 243 76 140 55 240 103 285 190 1 35 60 61 86 129 37 28 267 221 75 199 51 114 301 147 82 159 152 292 272 48 271 242 62 24 4 231 20 234 244 46 130 301 237 33 61 130 237 6 202 99 299 303 112 252 172 148 146 191 37 225 260 173 68 16 99 89 247 243 264 165 186 149 191 155 10 274 291 22 293 147 246 1 254 261 186 237 48 208 208 226 81 84 179 262 285 44 106 262 211 102 58 118 287 94 203 268 264 119 123 295 112 201 109 206 277 192 270 13 50 279 218 265 159 278 161 130 166 260 160 169 118 221 145 133 22 32 250 123 33 275 295 39 259 230 86 115 265 268 17 69 282 153 180 67 110 188 269 98 40 217 218 19 142 173 110 56 114 8 51 236 245 41 96 235 140 287 168 241 67 148 289 301 2 265 254 139 241 300 4 12 267 230 152 132 287 231 17 259 41 65 198 111 303 93 160 243 188 276 1 57 136 204 98 263 70 93 104 106 108 173 198 58 180 276 125 201 269 65 192 29 200 106 243 175 164 164 264 165 77 142 32 229 269 100 271 176 37 160 288 176 119 290 219 71 173 274 76 3 190 279 228 75 188 165 105 244 280 229 44 98 19 185 103 6 61 205 275 255 213 158 158 210 219 275 88 288 178 41 260 99 98 115 133 214 231 60 202 50 91 80 204 186 2 168 170 45 169 61 230 241 157 67 93 152 187 11 120 72 67 139 115 6 20 275 234 145 114 295 26 206 28 28 26 226 105 243 276 288 49 47 224 141 298 61 212 269 176 191 44 9 256 129 84 203 256 279 70 260 204 166 6 158 97 151 42 243 256 272 183 265 20 234 108 40 47 149 45 198 78 199 247 75 163 224 180 127 161 113 194 273 125 188 37 15 64 291 131 203 196 146 232 72 177 85 263 190 238 34 183 42 139 116 129 207 139 107 159 27 146 126 299 144 257 281 90 167 133 220 25 105 5 251 285 64 265 270 34 134 47 57 116 58 90 132 176 26 97 104 20 194 155 51 93 18 301 112 211 177 120 149 102 157 46 173 146 123 120 237 47 86 142 262 242 180 90 77 296 168 152 45 136 102 273 157 191 194 83 53 60 138 283 128 185 170 189 213 34 62 152 140 7 59 235 99 168 232 13 205 158 112 127 133 64 146 153 167 118 190 132 3 173 80 287 229 122 184 58 276 49 117 302 250 189 13 102 153 171 211 257 72 283 143 153 159 134 278 219 178 88 99 205 3 57 216 232 286 54 254 199 292 82 236 64 58 45 163 275 302 245 153 109 25 103 246 61 217 217 224 268 95 206 296 119 120 6 256 126 67 250 211 94 29 28 29 271 160 289 137 96 204 258 157 281 203 235 225 216 47 14 8 35 300 210 77 291 254 3 10 239 179 69 215 268 137 130 243 304 242 219 10 268 302 187 136 104 76 158 142 73 261 147 45 53 54 245 92 265 30 285 252 222 134 284 117 217 211 45 145 60 269 104 284 138 158 33 242 51 158 132 153 230 281 197 97 270 28 188 27 99 221 4 41 206 300 102 78 29 98 172 31 194 200 113 283 304 1 270 224 192 197 142 201 266 151 58 225 303 250 33 50 157 121 224 20 151 123 13 40 147 57 62 234 122 103 61 12 31 185 153 235 6 188 48 47 54 32 38 267 220 189 87 98 137 269 302 82 199 220 160 27 201 15 122 133 206 189 166 158 130 40 155 252 280 10 78 29 266 73 216 179 32 76 124 66 56 252 102 156 117 109 120 200 248 63 236 115 50 273 119 69 162 75 35 290 84 229 150 293 20 75 31 31 195 119 46 9 81 284 88 36 262 160 13 128 10 241 283 106 80 114 198 163 158 269 82 177 25 158 209 157 285 195 31 128 23 37 193 154 128 260 289 179 88 177 38 37 179 65 284 196 272 18 49 126 222 283 69 272 223 119 140 198 23 264 123 254 176 222 68 255 140 180 128 255 72 33 246 217 14 231 275 212 248 80 9 93 2 236 196 134 43 43 275 183 64 13 176 225 80 63 249 93 42 84 277 187 295 250 101 16 215 277 246 81 144 35 276 36 254 126 198 96 201 26 108 30 239 128 72 52 258 138 185 290 210 232 184 283 6 221 36 33 108 34 182 187 155 163 157 192 46 256 51 222 58 267 185 189 46 186 186 214 129 192 289 233 93 75 22 57 7 94 36 204 240 216 195 240 198 107 145 56 29 295 144 91 147 159 18 295 154 101 218 282 263 196 78 276 62 168 149 124 75 272 115 1 130 164 116 15 103 13 170 207 147 133 280 160 172 69 5 137 214 135 196 125 67 298 25 87 188 26 63 259 198 35 83 17 245 99 181 93 269 196 97 4 199 231 147 248 12 221 138 295 243 277 295 272 217 297 183 152 164 25 225 249 194 272 222 248 285 13 155 113 134 253 243 144 69 219 75 87 24 214 108 59 2 71 160 135 284 183 158 235 245 211 283 159 127 224 276 284 286 80 273 20 272 132 71 304 36 92 184 63 274 19 223 43 188 135 188 127 77 296 103 72 206 236 97 132 36 131 204 214 18 251 84 115 142 133 7 296 227 145 156 23 119 118 247 225 64 271 77 176 86 160 32 266 84 18 135 201 263 120 100 229 222 143 253 278 242 70 62 284 129 2 114 298 35 160 189 198 185 293 83 4 50 78 37 139 212 177 169 100 154 198 191 268 133 110 298 248 71 220 5 35 293 147 134 158 125 73 292 180 29 15 283 113 75 257 279 231 163 36 247 222 179 176 170 237 241 90 61 221 213 147 52 301 197 117 211 44 63 121 127 281 97 154 165 220 221 158 302 38 83 151 9 218 145 238 17 11 92 212 103 97 105 5 78 40 267 107 287 221 65 299 287 232 202 247 223 181 264 176 187 59 27 270 57 287 301 298 140 96 3 198 253 104 256 230 90 23 65 30 68 295 106 270 300 280 133 156 84 181 110 251 218 183 249 36 303 123 215 201 22 196 203 127 256 256 73 225 219 110 259 6 226 210 175 99 15 60 8 292 238 82 40 212 138 73 235 104 298 169 84 106 304 97 213 124 293 205 2 277 201 147 154 110 132 250 152 299 271 74 172 90 128 172 241 293 85 47 146 34 248 69 127 265 153 179 58 27 165 26 168 120 12 291 33 197 218 256 18 199 287 28 3 274 294 190 105 102 59 256 286 152 228 22 106 86 71 98 14 188 52 273 219 68 244 53 86 113 182 76 54 256 176 142 226 134 59 15 81 216 294 138 260 268 120 10 270 137 90 260 69 273 80 123 25 227 161 237 168 198 257 224 135 82 217 253 40 162 54 116 182 167 151 134 249 38 43 140 58 110 297 26 122 204 92 52 59 77 32 106 293 17 67 167 106 147 45 43 83 227 209 213 303 157 167 27 125 17 301 19 185 84 266 254 205 106 207 142 244 133 160 28 87 134 263 137 153 232 138 65 237 133 6 89 144 92 117 121 162 268 44 242 117 55 125 185 280 111 8 93 279 109 284 137 17 70 284 35 186 217 296 165 175 31 181 65 251 245 188 304 29 291 168 10 74 26 25 86 130 53 226 191 115 9 17 73 80 294 18 295 176 258 253 188 113 219 170 193 36 239 26 234 166 8 265 130 20 168 81 151 156 143 87 222 272 217 143 100 134 125 300 157 19 241 72 57 2 277 174 27 53 271 155 78 81 139 262 67 79 147 281 165 55 11 2 131 257 270 114 270 14 104 75 261 115 97 114 291 145 129 218 120 255 252 178 255 246 54 289 84 42 287 205 46 127 207 85 88 60 193 87 106 67 157 170 196 216 100 8 280 152 61 135 72 178 7 9 35 114 297 163 246 20 259 287 71 154 269 284 268 274 273 224 209 22 138 281 237 148 125 232 236 219 110 209 56 176 173 206 96 80 73 144 85 64 111 126 225 294 230 83 304 74 127 40 8 237 195 102 34 112 251 269 101 16 70 274 54 128 140 168 204 270 127 250 269 66 265 246 247 238 147 303 111 109 179 278 258 200 284 186 231 22 186 56 213 206 195 190 253 157 300 225 214 174 233 119 158 279 167 140 135 43 48 20 72 61 258 169 125 20 104 33 155 115 200 299 289 6 147 50 200 127 288 24 70 258 172 65 53 183 82 146 267 91 189 198 24 24 83 234 158 90 92 127 118 233 234 103 86 203 80 100 86 60 183 120 31 286 89 127 46 198 85 226 123 198 90 70 104 52 270 174 20 84 218 183 204 218 259 109 151 115 299 100 150 35 9 232 42 284 81 46 197 269 216 139 164 296 155 246 131 212 169 15 45 291 25 214 23 114 109 301 189 294 11 61 86 28 228 153 64 217 257 134 124 232 174 242 1 293 143 239 56 66 133 147 22 178 109 194 16 66 289 204 109 61 202 262 121 139 121 248 178 167 295 141 275 148 5 282 111 203 102 299 10 285 121 3 48 219 222 58 150 150 42 280 191 272 169 33 252 119 71 235 284 230 299 192 255 130 135 222 36 131 37 37 44 208 207 9 213 209 60 291 203 208 221 185 301 240 112 209 240 12 201 226 97 113 153 93 119 204 295 95 43 105 209 74 8 114 49 269 228 296 35 147 278 162 139 40 9 210 286 254 34 29 7 212 100 293 274 24 110 236 257 131 198 30 262 24 185 299 241 118 29 245 49 198 28 272 40 120 206 222 292 80 116 210 136 202 36 131 208 166 215 4 68 176 92 215 122 148 291 257 155 71 181 228 162 291 195 304 101 283 233 75 181 35 280 242 216 299 16 104 272 56 234 140 302 54 65 205 225 1 37 294 125 225 157 299 22 294 112 188 178 202 86 10 135 242 87 103 67 62 163 263 284 277 210 275 104 282 75 177 77 284 96 128 119 290 50 169 234 115 158 231 117 30 14 179 113 30 179 298 79 56 13 116 294 60 185 184 154 4 88 285 123 147 96 203 144 302 100 87 195 121 122 54 225 125 273 161 282 77 48 217 100 121 106 285 261 227 121 242 112 238 56 95 260 10 58 263 298 233 88 169 66 125 228 205 261 47 251 211 88 263 147 72 175 153 26 256 155 259 304 133 137 221 182 250 47 177 238 61 98 138 87 133 254 140 115 189 196 218 87 169 160 201 303 293 182 145 4 54 33 28 272 116 94 173 162 293 246 106 129 222 185 181 117 278 114 55 273 63 29 166 110 22 9 134 117 227 68 150 162 171 296 17 294 264 77 23 95 72 286 134 118 297 115 14 187 208 33 167 10 73 94 206 186 79 105 109 152 126 230 161 151 115 255 246 297 87 268 270 150 266 262 136 107 67 67 218 152 146 102 237 170 120 210 204 93 7 195 136 254 274 184 9 9 278 114 128 203 160 187 82 165 17 10 107 257 126 200 160 225 114 177 210 281 43 22 140 303 205 13 62 110 268 224 142 34 217 63 236 250 133 6 189 15 300 294 95 205 164 47 226 173 281 266 64 249 186 8 201 288 63 125 193 183 222 276 227 53 114 237 180 262 5 227 133 258 254 291 1 116 1 75 20 243 94 244 176 71 159 108 246 74 125 144 53 32 124 271 242 25 35 152 221 126 265 248 279 14 213 75 71 25 41 248 240 122 239 45 133 205 46 18 13 94 124 301 121 220 244 223 300 149 199 253 37 92 44 105 257 217 153 191 262 118 177 91 35 282 290 188 110 242 31 8 142 186 157 149 183 287 12 206 119 277 256 241 118 288 285 12 41 47 137 229 140 166 33 91 155 279 126 15 252 191 242 26 144 125 180 227 295 160 86 243 229 14 298 185 206 162 259 137 273 181 139 82 176 40 157 33 281 115 142 256 184 123 264 20 150 235 64 261 260 177 212 114 164 141 214 210 173 282 40 112 301 245 303 258 166 1 247 171 253 106 45 11 106 160 17 3 87 70 84 276 259 95 134 33 197 126 291 173 269 151 266 179 297 213 39 208 63 70 151 229 279 216 267 51 191 29 183 53 213 120 244 169 202 133 162 244 154 78 203 71 204 55 154 165 161 184 178 155 273 219 145 238 49 160 278 193 225 158 228 214 26 65 144 264 296 77 28 81 161 198 262 162 19 291 232 136 154 139 278 238 157 93 199 196 250 236 190 129 72 100 154 272 294 71 181 231 238 235 301 3 47 137 143 153 197 11 301 115 58 129 53 136 260 211 29 272 115 227 205 214 283 298 257 194 189 38 173 82 246 241 152 280 126 87 186 301 130 61 282 277 238 41 13 137 31 273 82 80 233 223 50 282 275 115 125 217 280 31 46 44 34 106 45 58 45 135 127 273 291 36 95 106 161 62 47 75 9 171 188 112 245 75 92 295 202 218 150 114 301 16 213 5 93 105 111 118 61 79 135 166 124 252 5 257 17 280 212 236 51 243 157 64 257 129 130 147 117 156 94 304 165 299 194 26 151 24 295 282 54 77 157 21 196 297 81 158 58 135 132 95 61 60 304 60 112 191 281 164 157 87 254 261 49 261 251 130 297 109 162 159 89 227 54 31 3 172 203 107 205 132 28 208 96 158 264 18 283 185 180 265 253 168 77 19 174 188 173 30 242 97 64 20 56 243 20 186 129 199 78 99 299 199 56 251 161 10 39 282 176 285 263 50 294 34 58 60 193 189 254 174 301 125 25 121 13 89 23 264 111 129 26 285 126 106 146 118 175 170 17 32 123 60 210 286 114 99 229 222 16 263 156 205 207 277 256 260 256 280 61 294 204 286 42 36 234 199 199 167 208 188 80 241 16 292 264 234 37 24 90 180 22 88 203 24 112 108 121 185 22 111 175 231 120 119 12 268 210 118 262 32 244 140 210 91 22 299 4 41 32 109 39 245 302 300 189 162 124 281 226 130 104 66 50 140 140 34 242 222 234 61 277 48 102 138 238 152 194 147 279 226 230 84 287 129 145 146 244 60 142 267 269 160 166 75 192 149 280 279 213 26 96 142 25 114 18 169 160 177 148 140 290 46 118 295 97 32 2 138 243 282 192 98 65 157 144 25 87 173 205 125 210 214 150 286 120 11 177 256 58 217 177 47 122 166 145 138 259 160 182 73 99 236 164 199 166 163 219 139 268 205 278 169 280 205 198 129 279 296 65 248 292 297 131 191 248 294 85 260 63 48 117 178 193 27 267 247 264 130 272 244 282 191 241 184 162 281 90 54 282 274 50 132 100 109 265 106 220 199 154 281 86 113 17 211 108 212 53 225 211 25 56 236 42 285 295 112 156 105 141 72 137 10 186 186 135 78 41 57 299 151 137 181 247 249 254 107 12 112 253 243 221 248 22 181 242 200 61 3 147 66 124 234 107 243 85 275 82 53 70 206 303 256 252 2 177 221 62 199 62 56 2 206 282 107 102 76 165 34 157 251 234 91 256 59 304 133 177 176 45 75 240 254 228 270 155 263 66 297 125 229 189 199 62 137 187 254 215 202 157 83 100 202 89 35 230 220 103 172 108 169 155 59 257 113 252 65 288 48 36 140 42 43 223 126 196 14 150 143 177 232 62 123 28 70 232 19 172 228 174 270 278 58 227 228 303 227 71 62 283 155 161 269 209 274 162 113 104 264 79 218 149 255 160 277 15 14 283 51 81 9 247 161 284 126 199 216 13 245 145 293 176 150 218 73 140 224 163 199 100 142 20 289 133 289 33 33 87 303 163 260 69 68 58 222 118 288 57 111 122 283 148 37 292 74 83 215 28 159 236 225 59 225 179 79 101 123 263 88 150 290 20 121 10 116 275 272 8 131 18 203 223 41 113 192 49 184 175 101 79 125 298 15 160 224 1 280 242 80 133 105 86 298 170 27 20 83 241 122 275 233 255 252 214 164 2 235 189 111 250 81 242 214 254 44 215 251 21 43 17 293 198 248 120 73 103 188 139 48 235 102 210 81 225 109 280 48 215 58 269 97 153 248 207 90 209 67 101 303 198 68 219 218 76 161 92 58 114 188 90 107 152 5 197 195 30 273 159 122 37 166 257 11 257 30 151 286 220 129 219 115 51 255 47 53 272 55 85 156 139 2 82 103 188 23 38 185 174 70 231 248 140 293 244 35 240 164 234 251 173 52 158 261 162 37 3 67 83 190 113 235 196 207 141 230 87 252 48 147 86 261 143 14 18 275 193 198 294 25 128 216 31 202 296 6 78 249 178 85 8 131 245 180 141 197 93 296 212 36 184 185 43 288 237 210 142 239 215 76 219 145 11 272 225 59 118 42 80 141 99 217 246 170 217 249 102 134 150 56 233 133 280 300 230 57 242 177 235 206 36 36 12 137 276 134 97 253 89 110 292 54 230 177 250 261 55 93 244 270 259 146 231 34 21 74 71 218 37 60 118 259 122 175 279 180 290 194 300 169 42 45 182 109 54 78 300 178 242 298 37 63 25 223 77 177 281 292 293 283 37 171 250 76 97 61 101 294 303 142 172 49 214 242 256 147 234 168 168 303 191 32 92 298 170 43 210 158 145 241 77 273 111 87 156 171 272 240 178 25 206 161 174 278 140 156 92 281 210 104 63 291 8 40 76 29 196 24 142 282 96 236 260 170 37 263 140 194 292 88 194 155 278 255 63 233 183 248 235 233 259 235 44 289 211 40 135 24 162 291 57 53 97 44 47 44 149 68 271 171 113 240 59 235 102 82 153 21 149 6 56 38 232 206 285 278 62 209 296 1 10 283 203 22 46 51 165 186 17 23 137 76 19 157 225 23 228 78 225 284 284 4 291 210 73 159 80 218 296 70 199 14 24 300 229 47 278 135 35 90 162 267 179 168 264 29 125 246 48 72 241 280 226 109 105 90 48 140 270 98 273 198 123 158 72 267 241 211 104 12 211 302 51 153 164 12 104 275 41 210 144 200 176 89 41 165 185 257 225 40 192 110 62 11 108 99 72 140 33 47 202 156 107 148 74 148 245 213 281 143 134 126 250 148 105 47 69 57 71 5 272 296 215 83 124 174 182 140 72 105 122 16 78 153 248 75 13 26 65 87 124 100 125 84 84 247 58 165 261 49 95 160 233 73 165 148 250 96 114 53 218 144 34 177 197 102 149 4 55 168 274 34 151 233 30 214 248 261 161 108 253 35 2 151 3 92 243 70 119 159 52 166 285 35 245 237 46 27 75 252 166 300 109 109 79 97 257 107 283 216 214 209 78 158 260 237 107 153 159 55 163 188 272 148 109 231 18 69 39 299 205 67 270 125 35 34 49 72 86 301 5 154 95 179 29 83 103 130 28 118 284 68 130 272 254 253 64 57 191 197 133 277 128 164 200 183 72 261 163 107 160 218 252 298 156 234 239 21 203 17 201 131 162 264 112 79 10 126 154 189 267 162 278 62 153 121 240 195 86 173 253 164 7 248 157 119 116 60 106 106 90 123 15 225 13 206 204 74 85 99 129 286 16 49 29 113 31 291 74 130 40 131 119 134 42 259 3 140 132 75 226 302 267 220 275 130 241 60 4 283 21 25 197 35 139 191 265 291 111 211 210 141 220 167 158 44 26 174 57 194 225 287 28 297 68 143 116 117 281 106 190 127 130 272 264 44 80 43 275 185 255 289 73 38 142 119 65 164 168 279 223 263 9 24 227 46 235 101 3 178 108 6 192 257 97 111 78 177 38 144 36 38 146 14 19 19 47 159 34 193 134 146 107 239 261 64 247 285 176 295 20 48 140 272 280 14 15 56 243 99 62 108 223 66 287 109 184 193 167 273 256 167 106 19 251 260 158 230 30 202 104 184 166 4 231 119 286 195 146 272 216 247 242 54 135 172 8 4 165 279 105 277 289 12 130 263 273 54 36 289 291 244 154 233 270 125 108 209 130 154 195 102 93 57 225 153 78 22 163 212 296 64 278 17 262 79 164 261 1 254 90 174 248 9 48 111 95 230 224 79 220 284 260 99 88 218 213 161 184 291 31 250 41 186 119 106 200 101 85 32 18 227 162 181 240 9 286 172 196 149 295 25 24 182 287 103 236 138 208 35 60 286 258 286 78 96 14 1 2 42 46 39 77 283 103 20 296 86 121 199 287 255 294 49 76 2 216 70 114 32 1 170 290 231 110 47 36 296 28 225 105 218 225 166 11 97 138 175 287 57 79 240 59 214 165 271 137 19 276 236 269 120 54 171 245 289 53 82 97 72 48 262 63 169 9 165 164 193 15 88 265 41 136 22 259 247 79 251 162 146 262 131 11 118 152 267 218 129 131 88 269 61 7 126 295 134 278 17 44 219 274 124 105 39 30 54 38 169 272 233 89 280 31 57 78 117 41 145 151 258 257 299 252 205 83 134 137 179 95 161 53 270 116 78 274 100 300 259 201 29 24 199 204 149 194 138 244 49 193 13 123 171 214 195 245 131 220 90 200 284 247 28 76 103 180 10 290 278 263 18 159 100 18 25 102 48 265 42 133 34 124 69 264 247 48 10 136 279 165 126 24 3 294 127 80 216 132 8 180 284 149 294 300 252 40 25 210 168 144 241 132 56 88 167 219 19 44 159 165 278 32 295 186 245 43 280 249 67 206 81 237 216 224 294 27 73 96 6 141 287 222 288 178 89 105 40 68 222 173 161 68 202 68 295 287 104 217 124 126 171 134 78 256 70 108 46 246 24 169 211 136 49 249 303 248 39 202 44 92 21 14 164 262 215 35 238 240 83 104 254 8 128 237 49 288 257 151 63 177 15 275 203 24 198 299 102 20 246 216 275 50 98 90 294 68 5 258 110 128 250 201 299 16 194 103 33 125 227 233 115 292 186 159 253 272 148 152 13 143 3 91 50 38 42 219 267 112 213 213 225 29 176 125 274 68 281 195 161 190 89 223 288 272 111 293 40 138 232 182 43 44 42 236 276 265 96 67 12 169 261 287 245 142 226 6 64 84 284 88 4 201 133 73 127 270 190 213 233 227 88 254 170 96 260 163 113 166 236 144 41 107 5 39 41 298 141 162 84 61 281 121 8 1 42 87 247 35 53 213 186 262 195 20 224 100 200 150 57 187 246 241 127 214 172 146 75 7 31 27 244 90 244 179 191 48 240 117 115 117 202 196 192 49 232 62 224 236 193 60 22 6 149 40 218 20 212 259 282 289 40 247 152 275 225 23 227 210 117 18 41 186 188 244 150 244 42 121 242 133 4 276 143 110 96 250 235 215 147 171 36 241 7 90 97 304 187 120 257 233 39 200 48 27 242 241 89 152 188 290 146 152 296 177 72 23 30 216 217 82 124 233 83 257 151 157 68 12 188 203 45 163 221 274 108 117 144 199 205 181 224 277 89 148 5 226 294 161 138 62 51 63 299 39 40 40 291 2 155 106 262 109 161 104 195 75 203 284 284 119 267 194 29 37 227 249 78 159 242 151 213 151 91 164 198 227 49 152 91 170 21 289 90 270 206 248 157 292 228 298 294 226 241 298 45 300 264 190 226 97 239 53 297 206 288 131 155 194 79 125 43 191 162 261 195 268 248 49 86 283 59 199 85 180 89 203 47 208 220 153 57 16 30 149 45 89 46 18 203 14 116 218 14 133 163 240 120 113 25 177 300 196 14 85 91 49 200 242 74 176 154 212 154 211 56 101 67 239 286 216 2 58 288 37 89 39 274 300 254 292 55 220 2 101 74 280 295 114 158 216 103 254 77 137 288 215 167 41 196 203 266 223 273 9 152 244 215 42 217 153 32 153 94 215 244 200 95 297 213 223 261 215 172 117 245 236 224 175 210 93 175 27 231 119 155 231 263 113 123 194 272 158 148 129 49 108 257 228 93 152 116 122 236 36 219 237 271 83 291 69 283 93 121 92 198 29 172 54 149 48 227 185 133 220 92 28 19 184 43 113 125 297 46 244 16 134 33 38 127 247 90 146 26 240 40 49 114 258 162 104 299 178 165 57 4 186 83 85 142 193 178 106 295 192 1 246 8 54 71 219 146 66 72 168 215 113 162 252 90 52 282 55 83 267 25 61 1 266 85 213 245 48 258 61 186 61 224 64 176 91 2 124 175 209 206 298 216 168 27 19 29 240 269 149 211 120 278 13 57 192 254 255 96 9 46 240 23 190 213 119 2 137 168 118 275 233 170 117 280 39 130 282 88 165 288 30 167 31 255 105 128 82 299 136 41 268 255 179 153 33 102 149 56 145 55 253 168 150 10 293 112 210 162 97 301 12 20 116 41 153 152 122 86 76 94 69 70 132 159 69 238 277 160 287 101 84 187 36 189 22 114 70 79 142 153 205 77 93 150 22 252 141 268 6 56 228 103 124 259 176 3 297 96 250 36 211 233 111 64 104 20 143 39 202 159 180 196 5 57 292 206 161 9 162 8 62 239 294 134 79 239 233 51 165 221 263 253 223 262 303 294 243 36 95 65 120 133 28 110 4 210 171 140 83 11 200 241 269 289 53 155 248 130 292 76 84 189 47 61 139 197 141 231 26 164 52 296 132 177 167 238 256 282 280 105 15 103 285 288 129 135 21 95 117 188 12 181 266 167 299 111 140 88 157 51 202 95 218 268 167 107 153 60 86 23 128 68 258 67 45 12 127 250 249 235 19 205 230 252 119 215 37 111 12 223 56 107 41 257 32 181 261 241 210 145 242 21 96 84 257 9 155 219 11 268 168 225 185 176 52 82 211 136 260 149 45 75 68 61 13 302 237 142 191 106 178 291 129 232 119 39 205 86 163 278 281 291 174 304 193 211 166 25 151 158 166 62 167 220 116 193 225 218 170 247 276 21 248 124 13 268 73 203 263 93 284 214 267 16 20 206 148 151 268 76 264 282 91 241 184 201 257 264 127 277 252 226 6 44 118 26 266 272 1 291 136 154 201 275 86 126 38 142 94 108 12 68 155 3 288 215 219 37 74 58 262 273 19 304 55 190 187 219 51 4 16 49 173 13 244 28 169 86 271 89 247 180 275 202 284 192 43 45 213 207 53 236 83 279 292 296 84 257 34 73 56 264 156 113 194 293 220 17 102 180 283 178 214 282 44 229 6 268 9 303 220 30 267 37 202 265 230 267 191 18 38 163 235 55 119 94 142 139 284 59 64 251 292 183 233 65 236 197 12 98 223 253 60 70 227 30 267 94 49 255 200 21 57 57 262 5 254 38 31 215 109 277 232 292 13 109 40 170 55 287 194 195 64 166 128 203 129 35 177 57 232 233 37 32 30 1 101 303 12 243 31 121 237 61 23 54 34 86 50 15 146 161 268 36 48 62 166 143 196 266 36 270 45 170 300 170 65 274 132 63 119 177 276 107 205 246 109 137 185 101 224 273 133 100 98 278 246 96 166 55 280 235 18 31 6 25 40 55 241 46 17 211 177 226 117 49 276 64 184 149 293 142 68 109 236 186 213 196 1 259 116 114 55 78 116 130 58 135 36 138 72 237 188 30 49 85 91 213 187 41 191 139 105 190 274 273 292 265 97 211 190 285 153 70 276 56 5 80 182 248 87 123 152 229 19 114 148 278 99 110 179 4 183 96 164 209 29 238 11 92 288 257 59 18 33 9 246 284 173 217 138 163 257 58 244 15 276 34 42 15 242 192 215 275 167 121 142 22 7 112 71 96 191 180 121 13 135 64 298 169 20 32 92 91 203 196 124 237 108 236 302 164 81 24 129 295 255 125 60 62 156 290 133 239 235 301 105 152 21 252 132 224 100 81 289 278 280 229 249 287 14 192 129 188 272 222 139 168 153 249 64 182 48 296 25 242 152 184 77 56 275 17 209 74 220 167 47 292 162 133 134 230 163 9 243 279 275 231 113 246 55 203 21 34 44 184 216 118 36 105 303 101 9 183 273 90 278 144 87 206 202 179 34 292 52 110 262 162 281 246 170 242 68 3 244 21 105 189 52 139 140 142 140 182 268 230 223 253 67 98 270 136 208 151 47 30 227 247 220 134 26 185 76 247 174 45 138 26 271 135 8 178 153 159 282 106 118 20 149 40 277 107 281 18 56 2 83 255 99 70 101 80 218 225 19 82 201 146 31 196 22 103 207 40 9 207 281 245 143 214 97 24 301 114 228 123 190 280 23 153 103 13 125 3 282 60 40 71 127 43 70 109 234 139 260 191 24 131 160 227 37 245 245 51 295 115 118 43 117 190 274 220 93 293 38 30 95 164 60 171 27 165 31 208 239 136 205 12 214 110 296 18 241 248 303 209 31 1 151 62 91 284 261 222 153 139 164 295 142 287 186 114 205 300 89 272 46 46 3 165 12 269 25 143 73 124 117 291 16 260 240 268 121 210 78 82 92 272 31 125 26 232 267 152 121 121 136 104 24 298 73 12 280 169 46 39 300 66 167 189 264 252 153 132 175 119 211 213 73 65 68 267 98 297 296 275 173 263 275 247 251 18 84 181 129 129 28 152 36 218 47 107 224 253 271 100 239 181 234 114 126 106 243 30 109 213 19 163 107 29 268 228 244 233 88 86 278 271 171 122 138 56 206 66 51 185 267 233 246 5 168 245 160 298 293 51 9 6 275 90 149 78 139 164 135 211 226 18 298 107 227 28 266 219 133 250 121 153 70 20 164 111 12 279 219 238 229 295 51 17 227 44 112 100 9 86 193 149 247 127 118 4 224 111 235 181 293 183 128 242 261 237 203 159 117 275 50 245 134 42 158 196 152 110 243 159 105 181 34 189 31 163 260 68 134 173 13 89 86 49 56 171 77 220 208 103 286 277 42 47 175 166 148 18 283 61 123 284 235 79 170 50 73 24 20 112 287 233 115 192 301 287 271 32 150 198 73 173 189 236 258 231 232 127 304 40 189 302 33 32 183 100 257 194 67 105 175 200 98 145 60 238 92 112 258 107 100 4 127 34 47 263 149 209 258 281 220 193 217 179 101 6 100 276 166 227 99 53 293 260 23 287 158 293 199 172 138 82 259 1 63 289 42 197 90 94 261 274 266 223 200 94 84 67 66 17 243 146 303 270 256 77 84 287 266 206 299 55 158 208 115 295 301 257 268 68 241 17 210 304 290 292 59 167 83 273 200 276 47 266 142 293 35 142 230 245 157 3 195 137 196 287 83 152 129 259 295 101 111 251 281 248 138 12 178 117 198 216 284 4 7 259 241 1 111 21 139 56 153 128 194 162 58 174 301 12 92 281 37 1 113 73 141 201 105 230 29 243 69 41 101 275 100 50 81 143 240 218 150 242 266 158 127 100 112 84 146 85 213 118 78 31 68 174 208 286 241 191 172 232 298 173 145 274 128 223 67 203 287 101 101 148 217 259 255 3 82 174 244 177 151 228 149 170 281 39 20 301 73 148 63 167 98 74 215 186 97 113 294 26 52 131 175 115 207 68 130 183 63 172 282 96 52 2 35 163 56 200 86 292 261 63 219 190 86 155 112 237 218 287 163 200 55 233 193 45 204 74 90 38 49 281 146 59 33 244 83 242 59 268 274 182 119 209 4 156 73 131 270 153 199 162 257 4 114 218 189 203 263 215 154 118 108 69 21 78 212 173 75 171 99 21 300 73 122 54 7 281 135 244 233 130 258 289 261 166 66 236 262 201 133 120 129 163 277 236 102 93 161 75 29 93 48 28 124 229 155 172 74 300 53 259 117 38 142 179 282 65 140 144 245 74 163 104 283 266 39 110 46 287 166 82 199 165 20 276 301 196 82 48 255 203 296 6 258 144 16 74 133 7 96 190 154 114 9 299 264 75 170 88 301 252 251 61 186 212 243 65 27 168 289 193 180 129 84 22 304 190 219 84 166 12 240 277 150 111 67 298 38 171 38 277 81 2 273 57 37 238 10 132 145 192 204 47 67 272 40 65 21 75 154 159 182 29 182 248 29 3 4 34 245 211 168 70 262 289 151 215 170 224 239 115 263 116 185 243 247 240 196 49 131 153 288 133 277 129 290 102 172 57 211 99 82 200 298 91 208 304 270 141 7 42 244 201 108 61 5 279 299 200 4 111 2 268 187 200 83 85 303 197 63 42 275 55 102 204 120 61 302 153 108 93 56 72 297 17 157 146 63 273 210 137 298 298 56 222 99 134 113 204 116 301 203 136 78 60 23 266 79 65 78 201 160 42 94 248 202 75 207 274 285 123 90 156 178 215 239 242 134 77 153 172 210 262 280 144 91 131 293 239 43 51 183 92 124 240 296 142 244 38 19 123 172 55 138 13 15 86 272 43 103 139 114 167 260 297 141 143 295 60 217 161 291 200 267 266 282 49 214 160 216 7 154 106 194 38 219 295 201 126 113 265 172 163 140 165 59 141 289 179 210 279 173 20 46 132 11 176 94 20 1 102 52 122 97 49 183 298 51 20 285 50 30 238 10 108 149 298 238 241 2 89 167 54 187 284 1 236 213 2 270 144 227 166 55 190 33 182 105 74 275 247 165 22 205 195 18 161 253 283 79 109 216 171 126 127 118 61 88 178 273 119 115 295 274 71 111 155 23 56 156 128 44 99 119 173 84 35 217 187 186 277 200 159 103 118 289 261 1 156 231 2 40 31 159 164 274 229 193 136 215 120 42 224 15 275 52 220 200 90 65 90 246 111 92 168 247 285 229 177 135 245 277 63 153 53 85 118 78 86 264 239 76 183 36 240 16 127 120 258 220 44 118 122 200 45 47 260 168 29 136 244 35 272 76 158 119 57 147 249 14 195 180 202 75 142 2 132 274 40 211 226 24 69 165 235 228 186 50 277 206 161 272 301 214 187 263 251 43 141 112 13 114 17 123 62 158 23 119 16 120 80 197 29 259 257 16 151 8 67 81 33 44 119 179 290 121 50 171 68 87 46 304 102 118 195 53 88 210 264 61 289 62 231 214 122 281 50 250 12 68 183 272 5 21 105 70 81 274 152 221 284 244 205 164 229 220 107 146 9 276 299 277 189 181 83 61 124 138 90 40 37 122 182 237 34 98 212 12 85 208 120 259 36 89 64 242 114 248 205 195 293 12 85 17 290 230 266 220 215 6 180 258 173 173 189 93 247 89 186 260 299 35 116 226 267 89 180 52 235 248 90 142 3 188 33 91 136 59 295 23 178 124 182 262 232 115 14 197 71 140 156 133 8 180 257 177 156 83 255 226 17 89 60 237 193 5 196 27 161 277 157 93 291 103 57 97 183 11 74 233 214 250 173 38 96 107 298 174 57 249 5 284 234 26 127 26 53 231 145 251 213 16 132 285 1 145 95 76 220 230 13 188 144 28 25 81 128 164 31 98 104 265 163 102 234 53 146 131 132 299 4 279 284 131 171 230 207 174 149 81 88 10 48 186 205 211 182 177 81 237 73 134 131 127 32 284 248 277 250 113 73 128 63 215 27 192 160 73 170 295 241 76 294 173 181 284 141 233 87 181 269 16 34 65 173 225 129 183 35 222 284 235 237 272 173 54 255 49 301 210 154 9 203 171 131 178 269 69 125 244 178 213 3 139 166 278 179 61 101 4 228 57 74 243 69 74 296 246 298 198 199 195 172 203 55 205 181 82 301 8 146 222 162 298 66 132 174 230 283 29 203 164 252 237 216 155 67 172 35 46 19 253 59 209 185 154 130 229 171 123 221 276 162 23 267 302 280 90 88 31 183 22 99 227 264 280 286 215 22 15 46 115 149 244 161 134 249 8 262 214 174 219 13 35 20 213 287 262 72 289 81 161 191 12 25 86 37 186 205 145 214 115 5 110 281 20 227 78 119 3 149 8 304 68 205 63 36 12 260 40 77 164 102 18 33 56 90 294 24 72 155 215 48 19 267 72 281 155 40 206 269 103 300 245 280 248 236 263 85 214 19 66 8 108 241 3 64 31 81 40 7 123 33 7 166 48 66 169 272 132 201 51 247 289 16 184 245 141 139 61 203 205 249 150 61 28 96 111 14 262 24 156 277 156 286 157 41 120 183 270 154 276 301 186 227 257 168 164 263 17 267 33 123 118 191 139 229 144 75 105 1 142 190 13 214 236 273 137 268 220 47 50 283 95 266 227 142 30 31 215 283 201 65 15 61 39 99 54 42 155 300 26 199 132 209 41 129 234 106 180 18 282 144 92 84 166 38 272 296 196 22 237 283 250 2 45 175 35 163 299 3 43 256 1 39 142 56 166 253 115 204 285 30 235 148 219 207 210 159 169 205 294 139 33 206 140 141 128 231 198 114 22 176 144 22 51 270 303 77 141 197 161 221 269 69 11 139 73 52 264 225 245 39 266 44 107 44 20 249 192 158 70 120 179 204 186 286 10 141 292 144 127 115 60 130 141 4 248 41 148 128 67 111 100 294 168 134 230 246 205 84 192 282 117 141 249 122 3 106 200 194 33 164 99 120 115 32 275 165 126 37 109 79 126 246 251 236 31 298 296 33 84 298 167 48 260 270 139 221 58 40 161 138 246 295 43 113 300 43 240 171 194 209 32 219 28 39 228 82 89 249 181 118 258 71 18 252 60 177 134 12 121 129 256 113 126 172 198 51 8 69 99 136 282 304 260 69 279 258 76 141 304 87 93 1 122 248 121 3 59 264 58 269 130 202 263 175 265 9 98 198 184 297 238 129 130 143 130 71 256 190 51 136 242 211 109 138 269 142 279 299 37 183 150 108 269 106 258 70 64 51 201 115 61 51 296 229 271 244 208 40 243 221 75 186 209 11 157 215 41 99 12 230 168 76 291 88 36 3 275 32 46 11 229 288 206 177 2 276 303 22 48 13 193 147 112 75 196 55 118 165 159 191 107 288 28 213 295 299 138 181 145 242 170 280 117 98 158 23 111 251 63 119 134 192 294 217 187 289 303 210 87 16 23 140 76 255 42 191 158 139 88 116 225 240 210 240 122 66 267 123 298 284 166 302 186 241 122 37 222 157 60 262 145 217 204 221 258 192 11 274 24 172 301 227 8 249 177 298 98 12 204 57 79 279 49 176 273 81 208 40 150 149 228 70 28 228 2 23 124 221 240 262 154 264 245 40 100 273 50 97 142 39 173 297 278 32 49 269 129 23 60 182 193 281 219 188 177 96 255 208 206 295 194 144 299 292 265 116 278 146 13 92 192 27 98 300 172 294 164 122 284 165 71 40 200 69 230 249 175 220 33 169 136 160 97 19 48 7 2 51 49 214 149 11 118 189 217 241 105 169 202 45 75 295 61 58 262 122 69 134 142 92 12 65 260 284 27 159 225 50 46 26 171 265 143 240 296 53 102 190 163 10 203 267 83 267 38 83 26 85 219 298 220 264 167 298 119 130 186 277 157 105 71 193 37 246 61 65 304 133 6 291 23 191 107 66 133 265 13 286 62 75 44 16 98 268 240 62 154 79 218 205 41 5 177 29 208 37 197 229 105 134 71 77 190 155 233 10 260 132 22 76 215 137 211 16 17 40 78 299 230 179 179 78 224 195 128 94 241 39 263 34 273 286 34 121 290 9 31 259 19 43 255 247 189 257 282 28 271 151 82 286 215 209 78 1 212 271 44 109 31 91 51 286 261 74 35 282 253 209 157 78 294 254 139 51 276 225 292 145 239 99 212 181 45 293 73 300 87 61 32 26 192 302 89 118 133 146 272 10 277 25 142 150 17 226 241 200 86 245 110 217 287 62 86 81 84 108 50 81 94 111 279 188 148 21 114 269 30 8 300 175 293 207 78 280 245 74 179 276 194 194 205 161 11 241 236 21 99 135 12 14 27 290 62 140 153 53 296 254 94 62 24 253 284 151 76 304 149 29 8 211 35 131 187 285 298 254 193 110 269 221 48 278 286 246 62 166 235 39 214 196 256 62 122 111 242 133 21 128 32 23 86 61 200 24 178 131 133 79 77 110 242 15 157 108 25 146 128 268 109 302 216 24 253 186 230 295 123 292 46 10 29 114 108 85 271 58 3 76 70 145 143 56 108 138 116 178 31 90 291 6 280 10 131 120 191 167 151 28 303 170 132 25 72 302 163 107 220 79 158 217 46 60 177 219 265 227 210 250 134 142 73 210 28 181 74 36 178 199 185 148 157 149 285 141 69 2 185 26 221 215 85 249 269 66 165 248 178 287 237 75 302 293 133 245 124 269 252 284 55 111 300 193 204 35 229 241 254 185 85 269 23 260 233 214 40 78 216 63 258 167 192 38 2 155 60 16 48 156 72 30 275 229 21 193 103 135 144 170 182 36 94 250 113 278 242 70 191 159 161 159 81 263 273 157 73 17 101 292 69 22 213 158 63 58 137 196 186 296 29 33 140 149 13 134 208 68 210 22 288 126 153 281 205 12 267 29 272 14 170 25 276 59 176 117 107 302 54 289 182 288 246 20 225 260 2 224 237 158 257 51 202 197 302 281 130 84 281 86 297 163 24 274 211 288 168 99 45 200 267 255 202 283 226 112 55 81 273 195 191 251 167 154 61 15 270 44 297 17 300 72 14 290 151 17 23 242 8 215 304 224 275 269 154 71 153 186 101 31 177 115 117 30 188 169 35 285 291 12 89 178 299 252 135 124 291 186 195 152 13 250 304 56 283 108 167 85 90 264 106 50 9 28 287 85 235 299 71 259 164 122 168 252 253 48 22 241 21 245 259 174 114 236 81 177 101 30 23 142 301 7 185 78 249 91 266 78 289 16 190 80 196 259 167 295 191 218 277 64 145 185 188 281 191 66 41 272 62 207 153 177 58 200 79 23 128 59 222 60 242 113 277 69 257 277 214 60 177 170 79 250 30 263 2 272 160 43 79 208 203 144 108 6 256 272 74 165 17 182 87 153 190 83 248 152 209 43 107 210 182 174 29 265 220 129 144 124 257 66 275 7 91 167 262 238 183 249 120 87 24 224 125 164 45 170 189 101 41 231 55 82 183 154 69 257 220 175 106 206 244 92 96 155 144 138 274 250 254 226 264 149 142 60 86 303 22 211 112 16 161 79 93 18 78 200 193 86 236 17 53 150 52 65 197 7 211 142 152 19 135 5 73 238 285 7 236 1 123 89 196 263 102 271 221 122 137 84 95 163 23 47 231 175 229 302 94 170 287 79 157 56 187 229 55 11 231 134 117 13 121 245 156 161 120 72 266 283 44 165 190 133 99 8 135 177 150 7 19 149 199 247 192 185 112 127 98 176 19 46 263 299 44 247 56 152 268 254 248 259 285 246 214 171 237 79 41 238 161 33 195 190 15 204 155 8 272 186 121 101 191 29 269 300 57 299 95 228 190 78 89 113 43 247 2 91 11 44 179 33 223 34 276 270 288 300 208 93 117 141 226 287 280 130 254 34 28 286 88 174 196 18 112 212 273 175 292 101 170 247 160 44 263 217 183 229 37 286 225 118 108 94 158 88 121 211 225 193 260 79 133 95 187 111 302 118 267 16 95 282 122 104 57 219 283 40 182 61 33 97 204 271 189 187 166 89 154 287 286 249 113 257 210 53 224 197 2 261 234 57 48 48 110 60 183 93 57 263 159 250 187 298 231 163 257 135 115 82 304 81 37 233 95 159 76 54 241 236 45 184 194 138 23 80 53 90 46 159 1 271 252 80 109 176 55 60 244 303 203 24 165 258 26 194 129 195 296 193 137 257 49 303 160 146 224 219 183 253 178 178 72 225 153 225 215 186 273 170 64 182 137 163 141 175 225 88 173 216 47 213 180 130 18 54 282 94 137 220 132 204 16 61 12 204 100 121 135 18 281 84 138 153 217 133 116 110 231 59 36 16 250 145 303 252 91 96 213 192 65 210 211 159 90 253 81 14 191 64 202 283 123 160 169 290 11 155 70 302 18 19 298 303 246 151 75 242 263 140 247 295 185 86 159 130 35 3 238 63 258 166 35 261 84 108 288 51 296 147 192 253 120 285 55 92 119 103 102 16 256 74 224 87 3 192 205 193 142 79 263 215 240 175 273 231 100 288 130 93 123 104 254 132 89 268 56 243 165 115 114 40 59 112 169 5 175 154 188 289 190 18 70 62 287 284 226 67 24 171 79 171 274 38 155 86 289 30 120 301 13 66 70 271 279 38 93 219 7 147 15 128 172 214 233 225 231 68 99 179 146 77 152 194 177 98 136 114 61 202 71 286 250 8 15 110 226 261 77 23 32 203 52 264 263 74 105 206 18 274 132 161 144 179 157 240 90 296 204 41 216 70 31 253 10 190 281 179 278 283 255 297 297 254 152 60 221 157 136 259 144 290 202 46 26 57 246 197 258 41 230 108 73 31 195 217 34 26 304 183 93 2 129 193 287 172 18 78 185 31 208 263 5 230 268 246 85 57 227 50 162 125 116 133 104 135 133 14 169 270 31 107 172 194 116 56 262 233 257 216 148 89 233 59 218 261 299 106 248 204 57 276 219 277 146 190 74 82 35 163 272 85 192 80 81 206 189 44 298 219 135 120 191 281 247 24 185 290 300 245 103 88 115 17 40 5 100 36 147 8 44 156 285 281 252 146 56 1 200 31 19 244 294 230 41 93 20 63 288 27 280 68 183 218 169 142 266 78 217 259 255 110 275 144 130 226 58 205 271 53 98 25 57 304 160 46 276 63 29 151 20 109 267 270 59 147 207 185 155 44 149 35 124 189 161 94 148 295 257 65 51 195 93 30 174 2 271 90 65 272 255 4 228 206 24 81 62 82 252 98 33 85 50 228 116 139 154 292 224 268 218 185 169 170 254 262 233 164 240 223 214 140 1 13 24 39 155 182 97 202 4 153 129 148 257 52 276 201 224 93 237 65 53 110 82 295 26 250 168 204 83 273 10 87 203 69 158 36 164 50 137 223 27 252 161 67 66 251 67 191 251 78 66 141 50 147 116 245 14 181 39 235 152 294 164 201 90 298 261 51 104 137 50 46 278 84 196 253 244 78 282 189 77 83 84 26 215 211 136 212 140 157 107 218 148 93 279 75 1 72 135 52 167 85 45 193 219 114 137 253 228 99 82 304 301 208 136 164 174 250 2 198 254 148 195 2 147 266 113 203 157 284 97 95 291 85 300 226 119 66 11 120 28 260 118 187 301 240 284 144 16 291 106 101 35 18 101 230 171 188 292 74 98 208 286 83 195 291 200 180 86 71 34 285 238 156 265 208 260 288 38 68 70 50 159 22 271 17 283 113 35 262 245 178 130 296 59 20 93 129 268 16 288 124 181 88 232 101 126 88 9 12 102 231 44 81 142 128 99 150 65 99 297 56 247 86 67 299 197 253 82 247 61 304 205 241 81 61 193 69 152 232 104 134 34 48 12 200 105 105 98 260 84 242 44 203 304 17 30 72 219 228 270 206 138 120 77 144 56 24 93 43 131 216 233 30 66 133 139 11 153 231 64 148 80 167 256 199 108 260 119 241 281 51 38 60 135 270 139 53 103 267 208 191 242 26 58 190 257 11 204 176 253 269 21 180 16 43 114 184 218 269 216 34 163 250 239 204 239 93 85 173 86 297 122 303 72 195 16 224 45 169 186 175 67 23 129 87 265 167 171 37 161 5 131 301 173 277 133 44 86 299 76 200 14 257 21 70 15 284 304 64 271 148 283 149 280 52 162 203 285 91 178 41 234 293 291 264 70 183 52 182 253 60 211 129 141 56 109 108 128 30 276 29 223 109 252 166 145 274 103 146 251 285 291 245 260 194 113 126 171 197 39 226 211 197 85 286 160 45 62 184 283 59 50 225 4 121 67 232 66 272 298 286 214 84 137 22 278 114 62 71 211 7 88 251 259 96 41 205 76 61 273 131 254 4 48 34 3 44 33 271 262 294 233 249 27 275 119 301 129 62 133 39 156 95 79 32 223 161 271 111 209 300 263 14 196 86 242 148 6 198 10 227 217 292 152 302 165 288 98 104 32 168 59 230 17 277 206 91 298 186 93 298 107 185 19 52 1 84 202 236 275 153 193 138 69 192 4 150 181 249 224 198 8 294 133 122 26 126 80 213 170 144 17 297 18 231 23 75 245 208 59 284 58 228 28 227 117 286 37 281 173 9 235 284 185 252 81 297 61 199 257 186 295 245 148 53 65 33 95 216 18 260 207 143 297 263 219 181 179 91 124 31 191 257 279 118 83 207 222 94 149 228 19 291 45 35 24 104 302 26 183 144 88 84 177 215 42 96 15 283 208 258 211 267 151 281 20 137 198 87 113 241 279 17 273 253 270 88 109 97 274 249 213 47 84 166 1 180 55 298 290 16 55 89 124 275 92 142 101 112 135 103 115 201 44 90 258 19 173 57 33 82 297 228 12 235 290 294 231 168 107 251 254 234 87 286 297 98 216 146 2 255 120 270 96 48 264 140 106 15 85 297 213 303 160 39 88 238 55 75 149 81 199 129 295 86 100 259 256 20 214 224 36 127 3 245 54 211 107 285 133 65 238 113 28 205 167 4 2 86 130 8 23 5 62 82 216 35 303 142 43 16 104 296 204 274 38 43 146 207 128 14 196 157 37 191 197 263 122 98 220 299 265 277 266 205 107 228 64 92 64 228 102 111 136 253 92 299 147 88 198 276 143 256 42 280 87 100 180 42 218 177 81 49 151 299 169 17 263 215 219 220 89 109 62 303 55 40 46 234 226 218 139 15 289 8 12 154 131 180 282 166 285 146 40 175 58 31 166 97 28 223 186 246 139 59 73 166 162 15 221 172 89 92 183 230 40 7 129 199 123 93 269 176 172 76 131 12 292 194 76 136 184 168 34 9 88 115 272 267 291 7 11 89 3 60 125 120 46 242 219 245 34 298 134 178 175 97 215 37 191 248 47 287 269 34 290 35 11 250 86 73 140 151 269 170 145 215 26 3 214 43 92 57 114 208 261 118 288 91 143 144 154 287 243 1 78 210 230 56 302 201 214 126 217 253 35 208 125 168 77 108 45 168 181 55 70 148 212 269 296 299 4 264 64 280 6 235 73 177 114 217 193 26 97 51 157 55 65 201 266 257 25 105 42 76 207 184 289 177 162 100 105 241 179 200 261 56 117 223 204 8 128 282 159 50 259 84 138 148 173 295 182 214 10 164 6 267 107 150 252 75 94 79 85 148 105 159 113 290 84 164 23 118 17 244 58 227 32 287 128 68 216 168 14 252 74 178 134 93 17 68 99 17 84 151 122 74 273 207 18 187 45 89 269 28 71 255 242 211 49 243 240 94 83 283 291 4 155 171 56 55 131 198 21 105 264 97 304 294 86 26 293 124 82 250 146 40 127 5 226 108 168 287 78 146 272 102 9 77 287 232 147 77 148 183 156 254 270 108 71 108 193 134 256 80 116 113 179 86 39 62 173 275 34 257 129 87 73 59 277 247 58 91 145 149 166 198 143 35 171 123 227 96 24 257 12 69 244 18 25 56 194 297 158 226 62 225 176 2 57 73 45 133 284 41 292 115 53 94 179 123 10 246 48 164 237 252 188 185 222 133 261 50 118 132 272 297 10 158 8 151 269 285 125 265 17 134 189 301 89 4 185 147 54 297 168 277 65 230 24 169 155 15 221 93 204 285 211 122 99 215 253 123 190 238 105 226 97 13 189 111 224 293 78 233 122 12 20 111 153 16 30 60 14 266 233 267 94 185 76 241 139 21 181 217 103 19 192 98 22 77 198 170 56 132 279 289 252 85 285 104 190 33 26 91 227 241 279 27 22 1 19 102 229 123 5 52 290 182 114 238 70 243 125 151 115 244 296 144 258 234 40 98 33 50 238 42 280 163 82 125 223 37 168 278 142 15 210 49 198 23 79 166 64 185 39 300 218 95 128 235 164 253 282 125 250 235 208 148 262 164 177 92 265 52 282 148 287 286 87 162 268 262 296 44 302 237 98 296 198 201 242 156 296 90 230 185 5 254 35 257 157 154 287 258 228 297 190 83 288 298 140 147 204 241 84 114 295 54 199 10 143 294 31 194 151 127 259 79 303 232 210 158 299 181 259 63 66 217 292 1 23 110 196 237 219 207 175 218 286 271 232 118 42 204 3 206 71 151 86 195 168 138 9 128 11 203 24 43 14 18 65 163 178 195 146 110 274 239 198 7 207 100 254 296 144 297 133 229 138 41 212 203 135 197 27 75 112 28 44 192 73 77 250 87 63 160 190 277 61 149 239 290 45 226 6 57 218 43 198 116 68 17 141 255 236 187 281 103 71 34 140 58 174 207 65 173 77 207 105 95 196 184 153 88 202 91 163 207 260 97 184 137 14 74 131 46 261 159 71 119 191 137 106 157 75 88 23 114 301 296 264 185 45 292 19 170 35 146 260 102 156 289 16 102 48 218 170 304 220 267 112 296 55 15 183 118 34 250 263 134 152 249 200 57 156 292 106 274 242 104 226 45 27 257 82 281 231 14 304 270 79 268 253 93 146 36 2 182 288 70 74 31 192 279 44 132 219 64 206 27 32 303 63 61 174 58 85 108 33 138 161 30 135 271 217 152 234 95 205 172 221 294 71 28 75 100 270 65 164 169 194 9 139 132 120 40 136 261 19 139 99 212 275 300 161 28 260 149 41 206 174 199 11 241 13 238 139 36 146 67 172 269 183 299 190 167 43 262 191 203 144 202 196 81 150 45 118 30 80 291 10 224 180 47 123 288 280 54 20 188 254 42 36 146 219 6 166 73 67 64 111 291 302 274 126 253 174 180 166 68 218 27 154 272 230 172 202 58 27 180 222 200 77 188 78 266 196 202 228 86 299 62 233 83 34 250 95 229 187 33 100 185 225 57 244 98 195 236 3 211 111 67 12 176 298 247 210 42 180 142 70 121 135 189 249 195 279 178 2 146 201 299 292 38 128 154 170 43 32 170 35 11 42 81 240 217 105 1 257 33 234 199 149 197 239 238 62 51 209 273 142 12 190 217 284 100 236 27 296 62 214 277 212 107 278 270 199 272 202 59 209 73 57 149 27 284 217 85 102 19 248 185 8 149 243 1 115 156 146 73 51 177 223 300 136 234 101 191 280 113 50 163 71 104 125 62 173 62 35 163 64 108 279 291 94 246 149 100 287 295 126 282 292 273 31 185 20 76 53 92 2 239 219 56 118 240 162 287 234 196 300 103 153 258 263 217 157 232 201 152 270 128 278 254 168 240 78 170 297 269 26 30 60 71 63 148 189 176 270 183 140 297 79 11 126 239 101 227 252 179 184 126 120 168 209 190 170 229 158 286 228 54 131 29 119 232 187 241 286 303 156 302 111 255 163 145 304 59 170 220 19 114 258 299 21 208 149 112 37 33 290 53 144 204 186 157 67 9 298 203 213 140 183 129 73 119 79 34 272 63 32 194 83 17 143 260 164 201 258 170 103 194 194 263 66 86 293 228 26 118 86 284 142 263 121 284 120 23 298 268 11 188 252 280 288 189 299 269 46 88 233 146 73 133 130 111 209 35 296 298 76 156 112 194 167 262 188 175 293 296 272 89 46 291 264 14 50 234 36 172 175 293 242 123 267 8 196 250 114 298 206 27 157 135 28 68 85 71 74 104 166 67 221 195 94 30 285 281 228 212 124 11 204 297 126 77 264 88 57 141 111 25 190 178 216 255 224 92 269 219 246 126 228 33 108 116 205 142 78 204 151 41 112 270 152 50 61 168 193 187 284 283 221 94 192 119 76 279 79 14 83 188 27 298 296 97 194 153 223 287 247 202 81 65 115 7 145 2 164 91 41 213 12 247 81 116 183 175 39 72 14 236 260 104 180 273 105 101 33 206 238 179 241 244 115 93 101 6 234 130 188 303 93 89 242 8 215 109 271 141 137 62 69 216 232 134 207 49 12 184 265 269 77 195 251 120 75 120 298 24 269 64 195 142 260 285 103 138 1 79 148 67 56 1 27 295 304 302 30 255 209 215 141 236 100 2 197 286 288 160 83 21 286 72 111 251 109 13 10 239 68 163 36 49 133 188 78 224 214 255 2 22 111 97 23 289 18 168 114 162 264 86 4 51 285 267 245 174 99 70 95 274 16 144 219 264 45 90 246 212 292 24 147 244 115 259 20 187 62 8 121 190 208 85 187 271 250 35 127 43 155 81 31 286 60 135 27 12 86 212 184 250 183 237 65 145 125 174 96 67 232 107 53 28 112 272 219 55 41 164 99 290 231 300 138 99 105 61 108 51 45 255 39 194 108 249 292 227 262 17 99 79 278 296 201 121 162 299 275 157 102 89 132 282 177 176 94 213 287 158 151 88 43 271 122 29 121 219 99 34 186 219 254 222 212 258 36 178 2 114 130 209 58 182 251 118 3 201 225 246 189 51 48 23 283 89 197 122 162 147 131 194 158 39 201 186 237 48 87 73 263 38 264 123 19 273 38 55 157 163 270 127 194 141 86 92 277 219 203 282 38 184 257 156 86 283 82 42 251 89 186 168 52 223 156 149 46 227 274 258 215 301 233 67 132 140 246 276 246 236 74 203 263 153 279 188 10 185 224 27 260 175 294 14 162 256 26 87 182 49 30 158 9 64 201 178 134 88 61 96 127 258 77 74 231 65 57 6 115 169 40 121 72 45 178 294 201 17 74 217 242 131 190 78 211 209 163 33 212 187 19 277 149 280 272 207 232 245 222 293 236 5 71 15 279 101 136 56 177 204 11 56 258 31 156 30 128 286 144 211 208 168 153 143 219 156 122 55 11 219 227 37 45 43 93 68 45 151 9 96 129 34 159 103 123 174 216 225 135 54 62 228 49 30 72 89 129 123 249 207 15 218 117 88 157 119 234 253 215 71 29 11 302 247 293 270 281 217 225 70 11 249 70 186 235 158 264 166 250 152 175 43 138 191 78 156 264 149 216 178 94 119 262 235 11 287 210 226 302 163 204 46 150 118 63 229 245 29 115 29 187 243 259 171 234 87 41 275 168 145 231 200 290 13 285 168 253 129 160 213 277 24 154 235 18 5 251 71 278 55 18 81 234 229 105 26 42 156 100 9 92 224 109 265 89 239 115 42 81 111 256 99 234 267 299 271 176 228 174 209 98 287 284 151 106 44 43 231 224 80 46 102 45 235 193 196 268 79 240 218 108 28 148 272 18 50 86 22 24 9 223 36 30 263 32 95 28 276 22 134 220 37 67 264 256 159 295 209 221 275 107 259 164 181 163 188 263 161 110 39 297 196 218 7 71 90 252 241 161 114 52 195 279 270 70 136 121 231 34 272 191 119 83 65 284 191 273 237 28 268 283 79 53 49 27 76 163 296 269 276 291 30 144 223 44 45 283 198 135 33 258 237 15 65 56 194 186 56 161 272 95 304 69 128 95 14 288 297 94 78 72 47 84 10 84 262 8 135 212 202 145 222 30 90 199 158 5 172 112 16 297 154 303 289 189 284 32 191 27 291 80 68 124 163 34 73 175 15 82 35 8 288 222 88 279 130 179 263 25 157 153 223 286 185 24 87 205 89 8 17 126 163 41 260 106 150 227 114 234 118 190 261 99 147 110 236 77 71 150 148 214 112 82 70 185 110 111 285 19 30 3 215 33 1 283 255 8 3 13 83 138 198 177 33 196 198 261 114 120 194 98 7 241 190 240 247 223 290 74 283 279 200 121 174 132 225 14 266 60 190 17 218 276 283 96 155 48 14 178 88 153 14 149 235 111 110 16 238 114 160 302 194 15 160 186 87 69 228 248 279 76 2 99 47 183 299 237 225 240 169 304 175 194 202 304 47 287 149 206 144 162 159 268 303 106 263 220 17 42 7 232 149 60 187 1 176 276 35 5 84 147 75 300 40 190 155 196 21 295 52 288 220 287 4 129 122 181 66 40 184 125 160 210 48 262 118 110 114 274 48 271 15 25 84 268 114 150 255 24 9 202 107 84 130 208 192 272 292 284 211 292 238 212 66 256 141 64 297 60 8 276 190 301 212 116 193 256 158 175 52 262 294 149 41 60 70 3 273 162 88 276 193 80 38 25 62 176 168 303 27 10 115 202 283 206 80 231 269 167 63 170 183 216 202 126 12 177 39 47 198 19 43 49 196 156 175 205 149 204 121 171 178 176 36 150 229 70 81 32 55 54 67 118 60 135 209 158 221 199 226 194 276 71 164 189 208 159 285 50 274 263 203 133 228 212 215 195 196 203 205 18 174 278 173 127 196 184 147 64 279 253 72 52 94 98 120 289 263 257 117 144 210 87 4 195 269 36 69 113 90 82 251 256 288 213 110 232 271 288 80 170 235 185 284 17 190 293 104 100 94 293 290 251 298 28 194 109 300 28 70 35 10 46 68 121 49 284 142 30 61 27 109 203 282 133 17 192 194 5 217 188 120 246 117 282 34 121 234 60 114 145 282 127 56 15 77 233 74 194 92 148 126 75 150 68 287 172 284 131 255 81 22 50 58 280 105 82 214 84 206 299 184 274 193 167 301 197 193 159 291 140 137 48 300 134 213 276 69 255 117 219 28 93 97 113 243 243 282 172 252 239 257 15 16 281 110 295 12 187 223 288 66 167 80 265 117 207 192 258 84 234 13 279 185 46 297 184 89 204 250 51 165 67 204 125 281 193 226 104 5 62 59 295 73 55 274 219 248 19 168 188 217 277 102 20 48 43 284 292 20 100 250 170 293 31 100 5 41 135 280 217 71 235 159 253 11 49 26 230 54 2 51 176 61 188 213 232 181 66 227 142 142 63 30 93 205 74 260 164 282 94 80 75 268 272 112 134 226 18 25 165 288 62 209 278 104 247 223 233 162 124 87 36 152 124 56 203 104 187 268 177 265 11 230 159 289 297 160 149 258 236 105 191 187 190 263 81 71 17 238 239 85 114 101 269 180 137 8 81 243 196 56 164 110 236 164 31 201 207 44 124 85 135 240 216 97 212 100 248 63 246 83 294 162 105 44 65 89 23 257 151 274 228 181 119 276 93 71 127 283 286 224 146 139 153 224 191 291 220 230 43 100 285 208 301 80 115 289 133 111 221 190 169 267 85 203 153 162 219 293 203 45 62 7 69 137 115 226 64 33 156 148 146 143 145 249 212 53 218 24 22 71 116 204 157 96 14 130 153 80 282 234 286 280 19 31 67 50 182 292 228 81 190 212 76 205 237 65 85 22 141 247 95 271 77 280 206 148 51 80 137 151 293 138 295 203 257 228 32 261 99 42 74 118 145 159 228 257 53 108 184 199 109 234 86 162 62 41 275 186 272 215 286 83 57 18 51 185 29 71 112 216 278 138 182 168 265 140 236 9 259 104 86 273 229 143 42 106 26 25 262 35 14 203 168 98 9 195 61 144 6 300 163 57 230 239 269 83 168 209 8 68 174 125 196 106 223 85 107 3 175 149 198 197 213 54 304 122 192 204 220 114 55 52 24 190 262 14 7 60 194 240 128 165 3 212 262 224 298 138 51 101 89 248 190 186 156 226 232 257 254 202 75 260 76 34 155 31 285 143 299 25 215 29 66 230 233 202 202 112 221 175 148 105 46 285 68 23 195 291 269 260 99 112 222 261 45 113 256 148 112 179 184 125 239 269 29 139 178 192 2 107 268 295 97 199 236 38 250 118 178 303 40 51 249 218 206 231 202 265 58 190 240 142 303 11 253 113 137 99 270 228 192 68 11 223 137 258 239 237 221 52 132 32 76 32 37 87 188 121 146 93 148 205 190 33 42 23 26 101 284 48 87 194 173 210 160 141 285 223 272 132 48 166 9 303 281 242 92 78 304 167 225 286 84 56 273 182 130 139 233 86 296 168 301 214 247 81 19 127 75 299 230 8 4 227 255 92 180 85 67 210 206 127 72 115 207 201 253 167 205 30 76 282 241 301 274 243 220 91 124 271 134 127 179 157 274 44 2 41 57 6 37 197 221 65 286 58 118 155 28 184 23 154 181 194 268 132 49 118 88 283 144 242 158 98 262 136 143 264 3 256 23 7 30 83 76 189 273 287 283 145 263 239 224 172 77 83 265 39 19 59 270 138 280 191 228 252 58 143 215 295 94 8 138 51 87 230 235 73 16 128 295 231 104 257 255 52 26 225 205 44 57 71 11 45 289 8 80 280 249 174 29 21 107 128 210 227 42 75 280 2 35 157 171 221 196 272 127 120 132 59 30 194 238 218 143 29 254 78 152 226 202 197 181 18 220 102 282 3 82 29 284 141 184 247 189 122 121 240 88 160 91 39 80 88 23 159 15 35 163 170 152 60 303 215 282 68 43 268 160 164 203 242 290 154 163 192 277 95 45 283 255 32 1 41 281 32 97 210 156 152 144 289 255 132 183 111 87 99 67 34 51 93 248 204 67 9 263 296 104 61 254 137 265 82 232 133 155 95 77 64 106 31 34 195 179 87 283 163 172 257 137 148 180 267 175 81 255 162 232 300 49 297 273 101 113 230 240 12 238 184 255 172 118 276 24 128 269 16 190 271 176 192 57 203 149 47 300 108 241 194 87 119 218 72 8 54 164 250 99 73 27 301 75 107 67 168 135 223 27 144 155 108 128 279 71 191 72 75 171 200 212 142 202 24 109 266 44 97 254 204 241 95 95 121 256 168 238 39 40 124 300 260 139 256 56 195 162 141 99 67 53 293 45 57 293 31 211 36 43 206 78 157 113 10 27 82 236 164 233 130 264 175 28 18 147 273 118 123 15 253 46 243 56 151 22 299 132 91 225 280 13 71 30 122 152 61 60 43 74 165 126 287 253 209 133 233 246 165 208 228 262 102 91 59 141 55 188 104 269 52 106 261 189 181 79 201 185 100 138 101 43 54 15 267 171 54 186 275 175 53 250 35 54 111 1 141 38 50 149 140 110 126 279 86 131 280 85 264 187 44 288 285 204 122 62 246 82 64 285 282 222 113 186 181 13 170 142 174 157 87 15 84 202 3 122 261 4 134 103 294 86 192 175 162 148 201 189 155 134 72 152 32 80 231 111 65 141 32 247 174 149 218 2 160 265 279 282 15 87 124 231 176 66 69 145 97 196 1 189 218 280 216 65 52 271 298 111 40 174 219 284 232 161 300 95 294 139 199 197 91 68 172 189 212 294 65 60 207 154 125 130 116 44 164 186 249 249 95 239 174 80 70 144 84 265 74 143 43 9 148 220 291 127 88 142 250 222 244 169 179 144 203 141 287 224 149 55 121 39 165 141 127 173 276 138 115 177 268 56 73 24 189 256 134 277 172 69 157 34 34 29 56 40 292 189 204 41 70 296 263 217 181 264 120 77 185 250 250 251 261 76 13 129 265 237 227 120 183 290 198 289 15 261 153 137 182 173 130 146 216 234 223 280 33 263 42 127 169 80 195 260 247 137 8 288 249 251 236 61 119 119 277 118 293 73 157 158 300 249 219 89 61 90 290 14 24 235 181 106 269 101 221 8 249 303 24 74 3 35 266 262 152 165 211 212 210 86 178 72 50 117 216 60 67 235 265 303 187 141 260 198 100 296 128 155 48 102 50 131 278 48 170 231 152 60 288 166 196 194 147 127 253 217 88 241 240 47 154 180 279 17 109 303 219 256 65 128 184 81 177 4 245 53 231 43 280 101 222 169 66 137 131 185 257 127 233 67 148 19 143 280 210 195 80 208 97 181 201 35 255 52 298 55 23 101 115 233 130 133 268 141 158 114 301 244 242 216 145 302 185 252 4 94 86 248 249 304 143 63 17 266 194 245 215 7 105 298 265 99 112 55 107 123 242 69 238 291 224 117 256 213 55 228 40 211 270 92 47 148 179 52 138 241 62 95 291 165 195 11 28 119 157 287 51 181 131 170 94 46 174 38 70 65 123 179 260 2 272 41 33 246 246 12 80 125 191 108 74 1 235 5 179 40 3 69 230 131 125 63 21 237 209 264 292 74 127 112 85 101 223 192 123 2 295 190 48 169 55 27 106 1 77 40 270 185 10 233 179 257 71 7 121 99 35 250 81 23 290 233 288 142 209 235 32 68 134 191 179 34 142 279 133 188 119 36 51 203 122 78 210 79 95 228 83 157 271 152 115 187 134 209 125 248 67 44 77 204 257 8 126 95 113 52 135 268 230 177 109 184 211 90 209 76 41 304 16 210 275 146 120 239 13 18 211 142 285 265 275 294 112 203 279 165 224 121 144 226 35 176 144 173 21 231 292 126 208 74 242 268 300 19 138 268 236 211 290 124 294 136 12 76 56 91 54 58 38 203 143 222 52 201 232 129 266 207 288 167 273 157 111 93 26 189 75 15 32 155 126 283 95 196 304 212 175 157 47 139 116 11 57 278 23 159 255 166 47 86 77 68 230 242 87 176 115 176 195 297 213 139 101 280 171 267 251 130 134 44 32 72 241 198 2 206 273 53 57 211 89 163 72 142 266 27 125 42 93 195 79 225 56 148 143 239 100 73 290 65 74 182 119 258 155 90 188 276 297 121 61 236 278 263 76 80 151 232 304 231 77 168 106 108 37 298 107 164 288 95 42 250 142 143 73 99 105 295 178 271 197 148 304 193 37 92 221 78 161 179 7 172 48 10 4 104 176 78 300 205 78 63 251 151 22 239 187 153 261 230 295 99 279 74 125 146 258 219 128 44 119 110 210 231 141 23 221 111 162 130 85 22 24 66 183 297 219 188 140 270 87 246 165 273 85 287 181 303 238 29 21 259 125 157 191 292 1 292 189 254 123 145 105 5 134 181 44 170 290 50 265 20 185 17 245 204 233 236 189 228 171 247 298 279 142 89 227 35 4 255 278 157 240 275 282 199 25 261 270 280 249 266 26 160 106 302 1 288 175 166 275 2 61 302 202 189 224 247 101 51 100 220 70 264 116 229 149 35 36 235 29 144 74 145 86 125 171 122 254 55 77 232 22 66 296 303 228 98 25 133 202 132 300 200 172 184 61 80 31 238 148 232 249 135 5 195 134 221 179 191 117 302 267 141 55 286 87 19 259 147 161 253 129 257 113 204 278 95 9 302 116 147 176 300 248 126 162 33 279 267 161 236 107 273 90 246 221 234 163 288 253 234 276 179 89 232 88 210 73 119 178 26 107 245 89 193 139 88 282 120 138 249 153 156 187 92 251 204 191 166 49 17 219 163 129 29 158 111 147 77 11 290 297 76 104 15 249 175 154 247 132 302 182 231 77 271 227 265 122 159 208 159 242 135 290 21 76 87 29 208 245 99 198 118 55 121 25 86 128 40 27 93 300 163 79 198 156 67 129 65 214 251 120 243 286 22 265 22 196 303 129 178 244 106 9 51 233 212 278 254 31 91 246 237 132 275 184 273 11 11 94 143 49 258 292 204 61 193 75 284 285 77 107 72 271 160 120 160 34 270 53 171 156 246 300 26 104 126 72 134 273 92 45 122 35 8 49 211 156 27 110 184 190 220 190 139 280 58 5 103 193 157 185 125 247 37 77 97 93 206 9 132 81 200 180 228 241 263 289 129 223 228 60 185 257 287 273 213 149 123 182 180 235 188 117 288 272 293 19 156 268 230 186 277 203 74 66 133 148 185 128 93 111 72 176 158 111 304 181 88 227 20 90 77 96 254 275 180 255 165 272 114 161 130 71 38 61 145 59 83 264 51 116 22 274 46 90 238 97 177 139 57 89 13 218 246 188 257 221 147 40 124 234 170 8 134 27 115 33 288 89 2 147 83 303 52 17 107 72 76 11 224 62 9 73 96 210 110 233 292 120 101 103 136 218 189 147 242 50 276 31 139 134 105 32 77 113 171 111 219 174 218 91 209 298 59 120 249 40 47 108 250 238 40 36 193 155 63 124 222 188 171 73 60 63 221 230 7 39 210 84 240 55 137 82 234 62 49 248 179 87 8 12 230 120 299 159 264 118 158 177 293 165 110 185 145 120 5 196 246 23 7 276 120 246 111 164 283 228 90 292 247 187 234 114 213 265 299 232 107 39 119 74 160 101 64 191 150 116 279 267 31 1 105 89 183 224 103 174 295 155 296 235 10 300 129 206 249 118 287 217 105 8 116 287 70 26 277 42 49 252 249 72 22 239 205 172 75 54 61 53 186 148 151 103 32 239 238 193 298 267 227 281 277 108 265 186 204 38 287 252 258 167 260 162 255 156 103 221 221 124 32 113 287 99 139 259 71 93 21 153 11 107 46 73 15 261 185 218 132 55 238 193 173 103 250 235 201 278 111 247 282 110 233 253 291 190 188 79 232 232 153 79 295 43 80 265 114 47 182 183 201 116 24 113 161 150 31 79 198 84 297 140 231 52 247 286 10 178 184 182 131 141 224 261 269 248 133 191 260 41 287 155 245 224 77 223 152 285 6 136 225 153 292 22 141 209 225 154 302 130 193 189 124 133 264 160 88 230 255 141 133 126 279 236 183 285 283 252 59 236 59 283 189 278 85 63 223 66 126 105 87 97 106 282 5 303 55 28 224 197 6 38 33 122 121 164 191 25 19 194 202 197 245 189 87 99 196 1 5 52 56 150 247 50 21 256 148 25 208 192 70 21 212 82 271 175 71 30 169 39 247 212 118 300 277 186 268 51 13 67 215 252 177 197 61 231 216 214 275 236 84 190 139 130 133 269 277 293 72 219 20 50 51 265 285 206 95 82 269 53 141 104 92 199 2 71 167 97 144 83 138 57 244 56 111 58 1 212 204 14 114 252 17 20 209 247 50 132 172 230 55 269 46 253 301 223 291 107 213 96 211 234 300 269 141 66 136 167 29 160 260 200 50 119 111 76 278 2 102 277 2 54 156 230 292 226 247 227 280 95 47 164 208 90 64 119 196 124 79 93 36 212 57 269 12 52 248 241 105 114 278 293 32 204 280 118 89 60 126 207 155 42 109 170 102 124 132 73 1 119 199 228 88 46 257 61 122 182 182 4 24 6 31 230 89 84 144 112 180 282 260 59 60 76 230 87 195 209 136 160 48 82 166 276 178 123 251 272 240 200 31 42 215 1 34 259 82 275 194 252 238 53 174 109 210 267 204 186 86 251 286 125 147 212 302 11 14 88 64 149 298 49 203 220 105 50 279 31 221 226 140 154 225 287 17 208 189 43 128 5 8 91 208 210 177 120 248 98 123 153 232 89 207 134 251 16 143 240 1 103 23 51 193 226 87 298 274 126 85 54 294 201 225 245 201 151 266 300 207 177 296 138 97 224 207 66 75 94 80 211 263 33 56 89 19 276 177 228 205 78 5 159 46 190 199 70 35 277 291 112 34 274 234 247 53 238 41 122 300 124 103 58 100 212 284 147 167 92 230 246 265 188 255 260 21 162 175 215 110 24 13 15 55 2 289 56 189 81 175 283 109 170 232 226 277 85 183 302 25 92 62 266 94 214 246 144 12 294 186 187 164 257 179 82 250 280 46 126 265 283 57 44 90 255 145 96 99 26 189 203 69 135 170 24 94 255 249 275 139 169 198 5 100 245 54 71 87 58 21 33 21 170 73 209 231 249 131 111 105 30 261 234 182 27 113 239 7 71 108 92 98 59 142 147 47 161 234 201 185 209 66 114 21 138 88 228 176 91 179 232 279 36 288 269 107 106 273 56 177 160 214 289 252 241 143 27 60 36 263 272 182 203 243 290 92 78 246 271 169 48 219 173 99 199 157 292 192 31 117 29 237 57 210 206 304 286 241 270 131 81 5 262 261 304 211 126 28 263 16 166 34 265 60 267 279 17 47 141 189 26 158 144 118 151 94 67 135 131 196 171 216 171 160 20 160 148 83 260 75 211 43 242 132 216 157 98 233 144 240 303 195 138 171 183 184 165 142 106 67 298 203 3 91 6 144 167 218 34 17 180 246 225 126 297 194 292 260 249 8 217 141 58 260 113 136 49 118 238 207 78 255 144 52 296 298 36 61 17 158 83 161 294 203 183 78 11 294 255 82 298 278 70 239 169 207 23 294 224 31 11 289 21 16 142 295 195 145 89 143 1 142 280 124 174 71 185 84 209 223 158 209 20 142 256 13 282 35 120 204 120 149 177 60 90 151 277 60 3 41 285 31 35 173 98 143 230 294 143 68 183 232 255 126 113 209 206 68 62 244 303 104 68 207 9 190 284 174 40 226 2 91 25 179 226 43 209 161 141 102 128 279 255 91 1 286 194 43 214 284 23 32 21 32 101 169 161 287 150 10 2 184 234 49 197 161 282 133 182 4 289 253 185 257 36 152 257 256 240 35 157 226 160 129 238 184 137 195 166 221 126 228 297 240 91 190 44 59 161 82 137 152 222 145 4 255 71 278 136 200 292 207 79 129 101 202 194 151 171 265 1 145 219 41 229 19 153 225 206 212 239 188 224 116 293 291 65 218 120 77 148 227 179 116 92 9 56 292 57 34 161 293 254 8 121 15 136 247 32 89 100 222 176 133 129 266 78 51 294 147 106 53 248 189 254 112 224 184 183 293 166 224 276 191 275 10 249 18 242 229 299 135 207 270 291 149 41 126 224 11 239 238 289 182 115 46 197 7 53 212 120 71 249 110 23 68 55 137 168 278 249 299 157 239 197 89 67 77 156 257 222 256 165 139 251 270 111 55 204 115 94 125 101 50 10 48 202 73 14 86 214 156 165 205 202 7 43 121 243 7 276 33 134 161 27 118 24 99 224 18 226 169 7 101 134 23 3 6 179 33 295 222 129 65 25 187 287 104 177 117 145 172 250 258 277 183 171 264 230 61 292 159 274 270 151 88 124 181 172 123 266 138 284 19 221 57 275 23 135 150 118 65 240 85 231 50 74 24 161 168 46 171 192 149 29 287 8 198 134 175 56 35 235 247 34 29 300 278 88 212 24 196 254 298 64 255 210 47 294 240 143 65 18 69 107 253 107 135 69 96 304 211 236 49 17 292 250 225 74 212 138 65 27 163 11 296 280 8 193 165 188 2 296 95 111 13 167 103 221 165 39 278 95 217 2 94 17 177 297 85 226 178 228 178 66 169 195 136 129 162 77 52 67 276 219 280 50 20 64 298 37 48 20 129 199 23 197 130 283 234 242 285 19 125 231 242 266 266 47 152 115 157 109 245 134 195 50 260 184 271 193 261 242 89 198 235 61 111 40 180 215 303 232 88 206 279 142 153 92 275 264 217 4 264 60 104 181 5 7 114 176 235 95 144 23 265 116 136 222 220 170 105 100 178 186 138 76 86 73 63 50 102 172 301 97 274 274 173 184 147 32 159 66 136 98 60 26 285 288 228 165 58 289 179 146 175 44 230 29 244 43 133 19 141 123 1 10 114 86 129 210 205 276 269 134 163 278 169 14 3 277 1 246 154 32 57 53 59 300 98 301 129 292 171 262 93 35 35 179 233 215 255 46 223 255 44 125 275 189 145 282 179 243 127 120 287 200 124 16 115 4 289 236 37 2 104 58 250 126 277 6 240 175 264 161 77 281 169 10 261 113 286 221 152 238 183 251 272 138 177 234 32 55 20 290 212 216 193 181 93 7 168 116 191 275 244 193 29 152 46 4 298 64 150 86 125 186 36 206 256 38 142 73 239 136 188 171 294 48 34 27 173 213 197 108 52 81 165 166 226 100 84 195 4 291 83 64 200 82 270 285 183 290 103 288 86 32 5 82 43 178 117 138 205 292 237 217 31 192 278 21 35 188 233 290 122 45 43 226 5 73 2 281 48 78 245 261 250 57 213 184 195 135 98 117 192 267 57 196 122 200 303 7 188 14 1 171 252 158 185 187 43 207 58 288 66 304 109 154 283 108 114 297 56 167 167 273 9 163 204 177 68 287 170 217 149 216 30 251 202 129 88 44 261 93 263 270 288 143 60 240 7 208 78 81 108 44 16 232 17 179 57 225 141 180 245 144 259 14 2 186 292 45 241 79 142 71 276 94 185 302 273 151 96 35 239 144 51 273 245 193 251 42 141 13 302 45 209 122 77 187 186 36 9 252 276 167 207 131 18 177 187 175 93 300 131 64 280 268 182 77 11 253 83 253 102 185 108 165 295 247 221 119 31 218 128 29 58 63 48 102 210 67 219 280 46 121 228 255 256 119 93 211 45 158 228 158 225 8 98 120 242 88 293 127 233 14 68 171 93 130 172 29 298 42 75 157 245 200 64 192 286 95 200 201 271 110 303 229 119 156 51 215 242 303 181 211 275 156 170 16 251 81 185 85 153 72 85 131 182 293 229 63 271 245 145 225 194 254 298 293 52 104 6 151 110 230 151 139 254 261 95 198 167 230 141 144 86 276 238 8 67 277 247 160 284 29 60 22 116 129 26 8 301 273 70 43 135 276 65 304 156 288 1 223 217 146 232 36 137 24 172 218 148 112 78 153 235 175 117 33 38 277 285 123 187 50 15 68 193 87 213 218 152 301 296 267 286 208 265 192 247 84 192 68 172 86 12 272 55 163 73 38 130 184 181 108 131 41 114 289 19 50 113 219 158 92 238 11 172 119 2 243 3 112 205 181 200 167 46 74 121 2 61 185 24 173 218 245 131 285 248 187 286 83 137 110 144 146 289 211 179 127 96 212 58 249 252 52 185 204 79 273 161 229 39 110 197 264 273 226 72 123 267 223 265 2 63 156 164 43 52 267 180 8 16 58 287 180 259 269 210 242 155 292 197 163 233 142 228 32 215 147 97 237 51 186 296 60 263 245 55 44 106 263 74 297 119 90 181 178 35 286 233 164 4 283 284 229 113 242 48 217 122 157 211 183 237 269 123 222 197 57 256 123 265 270 110 176 193 15 46 253 205 265 53 52 25 93 254 154 144 205 10 160 50 90 254 9 55 33 62 111 252 112 276 22 55 266 110 70 299 142 230 263 252 43 164 140 66 253 264 55 142 5 91 42 37 190 300 62 76 212 29 180 243 73 276 45 133 166 285 24 121 177 120 295 49 249 82 244 3 99 35 105 235 16 149 26 201 189 155 106 241 32 77 18 199 207 142 9 172 146 84 185 1 54 52 36 53 146 279 146 292 292 109 249 219 82 51 124 270 285 171 191 294 47 225 100 1 29 144 65 249 207 142 221 197 188 98 18 222 225 268 178 9 7 6 249 28 51 79 70 38 72 264 114 169 250 209 173 48 140 112 183 4 35 302 143 188 302 172 137 53 154 42 251 151 301 290 57 121 25 118 137 114 132 207 73 253 263 44 256 188 172 56 288 79 276 76 197 189 187 233 258 198 137 1 173 286 122 218 57 68 227 111 109 148 249 274 220 280 42 283 152 207 113 49 20 214 38 243 199 70 176 223 291 267 248 92 69 127 192 152 304 99 83 128 107 275 150 234 215 279 195 248 39 178 7 256 56 205 82 84 14 228 123 1 271 140 3 70 19 175 188 60 18 228 245 132 264 98 179 10 186 10 194 149 161 231 289 133 69 260 269 134 218 275 286 16 117 160 280 198 231 198 72 231 6 142 158 141 274 288 108 253 12 211 232 111 282 5 19 243 46 251 298 44 119 216 270 137 282 209 235 283 147 114 38 129 65 164 34 170 278 291 304 248 75 196 174 196 45 111 140 77 208 32 79 80 102 285 193 15 217 293 92 206 12 8 241 297 31 23 241 292 129 237 102 273 172 48 10 272 286 194 20 103 225 90 134 129 232 174 93 257 231 37 122 236 163 287 43 233 43 34 230 169 178 252 176 211 106 34 108 215 121 220 253 201 210 224 288 128 155 224 287 267 187 202 36 185 11 192 83 114 290 37 170 75 213 159 57 115 231 271 245 23 177 21 207 80 150 73 177 282 78 272 148 110 83 293 31 277 117 31 30 2 212 121 64 7 89 36 164 40 296 243 3 160 125 92 137 233 45 192 171 88 246 233 224 118 274 280 69 139 177 89 158 182 112 23 288 226 140 235 297 31 77 230 45 59 268 19 77 67 93 228 77 189 246 77 203 49 166 272 14 235 283 142 49 157 217 109 15 244 238 225 300 78 54 142 210 128 89 22 6 180 41 85 130 267 236 117 230 181 247 21 136 19 197 239 143 119 63 203 241 131 106 23 102 250 109 102 228 7 209 85 93 117 138 293 64 147 243 116 67 73 92 185 213 231 248 238 34 293 130 294 172 106 128 30 79 202 99 250 90 154 231 159 86 51 267 11 236 156 9 76 149 147 80 298 43 153 244 112 279 227 85 163 280 237 258 158 84 81 135 108 8 227 242 282 69 99 31 14 254 285 210 154 95 41 149 292 208 220 104 262 113 217 265 261 63 196 2 42 201 183 94 25 171 127 77 219 69 63 99 34 290 201 23 18 148 11 70 160 57 21 54 31 286 220 247 51 259 201 95 185 194 49 303 180 215 101 51 143 67 54 12 229 241 112 120 248 278 85 69 250 128 36 292 72 180 110 110 25 177 207 212 301 233 30 36 196 76 278 268 85 109 3 246 191 19 167 124 212 146 39 3 270 191 290 125 218 221 115 178 50 55 159 242 219 72 245 64 215 178 88 227 252 8 210 256 182 8 3 55 115 40 205 7 20 284 5 274 127 23 236 258 206 243 67 207 138 8 206 136 86 34 179 223 142 256 21 125 141 171 220 273 265 303 213 231 76 116 283 188 225 101 29 105 18 195 181 92 31 186 226 164 74 187 154 233 251 161 73 131 91 106 75 102 200 82 140 157 135 291 222 56 78 117 178 131 248 93 193 56 119 225 132 158 209 208 76 301 246 242 210 265 166 111 43 81 37 195 151 261 50 179 157 192 130 139 91 16 167 172 121 160 15 211 142 75 219 185 79 279 118 220 31 2 81 260 114 236 176 303 99 183 224 211 210 250 35 300 22 67 184 150 149 276 133 242 194 288 179 15 220 29 136 184 293 161 180 30 170 109 267 228 24 86 56 120 217 94 72 265 101 173 286 198 5 75 67 216 116 262 58 11 73 127 218 49 211 12 154 57 69 117 37 278 34 153 108 38 60 295 251 69 49 19 262 287 263 135 264 259 37 103 208 224 231 113 31 165 195 279 69 198 165 101 101 19 231 146 172 35 165 58 139 299 36 73 223 152 43 225 83 268 271 115 277 272 12 164 297 24 173 164 181 300 248 155 169 175 112 281 169 226 196 138 185 249 154 233 194 71 172 224 228 81 151 38 301 229 32 166 118 186 87 264 59 285 87 47 37 251 282 97 16 219 186 73 56 293 84 225 66 189 277 69 212 129 210 264 77 257 284 276 66 181 194 303 13 229 197 225 238 255 134 20 145 117 231 55 176 241 124 139 122 136 195 170 115 14 2 53 79 248 12 44 193 288 71 215 11 228 292 235 294 107 250 233 60 191 256 296 275 63 169 284 134 7 13 100 94 137 195 205 81 228 83 254 230 170 107 269 92 289 85 2 257 66 235 59 110 5 158 302 234 129 39 200 304 18 236 144 36 86 135 80 121 216 112 141 66 175 201 264 234 225 64 153 173 286 299 121 298 120 174 137 217 294 200 86 9 62 198 282 155 48 151 214 206 225 116 280 173 191 199 15 126 190 52 297 239 211 55 128 3 215 247 266 11 249 82 132 276 23 202 201 46 171 256 53 117 111 242 287 41 134 262 29 69 160 301 56 184 277 220 238 180 266 179 233 282 173 52 219 86 163 252 246 183 18 275 39 42 300 221 249 284 34 75 11 41 110 9 2 101 294 66 290 273 248 169 298 161 159 196 156 218 107 101 80 274 47 28 215 161 90 183 59 253 52 1 153 233 227 81 105 218 226 54 40 78 10 273 246 33 40 18 276 281 154 73 198 302 212 181 135 5 245 105 274 168 43 35 236 129 31 51 203 31 99 279 82 131 10 98 236 150 88 176 140 114 5 73 33 223 231 85 151 123 254 178 131 231 206 12 243 83 64 135 274 134 241 96 182 94 248 271 2 74 138 206 281 302 229 211 150 215 270 84 161 65 304 136 128 191 274 262 138 32 196 213 187 272 85 29 112 51 194 61 43 113 161 81 110 112 86 69 86 292 152 219 95 289 179 247 231 217 61 153 244 215 207 152 225 248 6 237 155 231 17 204 214 299 16 234 208 100 110 273 173 176 154 225 292 173 112 281 15 94 144 65 44 217 253 86 190 75 160 183 202 190 112 298 73 42 183 267 158 64 98 133 278 182 147 42 230 155 212 18 299 213 170 294 213 211 43 208 52 258 293 177 89 198 118 236 135 8 178 202 34 173 90 111 244 262 10 270 64 78 6 273 292 73 89 53 272 201 28 157 255 51 218 248 9 4 190 244 261 301 55 135 260 195 77 168 80 112 70 36 25 221 106 78 104 26 181 174 80 285 166 38 40 248 77 110 247 185 132 31 75 105 163 246 51 74 156 198 160 70 134 91 170 301 98 52 167 57 152 198 278 276 289 75 96 86 104 241 272 241 202 51 86 8 180 154 125 257 188 208 192 179 283 181 166 122 59 134 101 200 190 12 289 290 131 256 211 53 101 234 257 218 204 252 49 189 216 226 28 231 114 258 171 255 11 46 51 226 204 53 155 249 69 249 244 97 96 229 218 188 68 176 253 76 217 167 192 148 222 109 225 301 166 239 263 32 254 198 276 254 297 34 181 141 166 280 181 292 256 157 143 138 111 201 222 204 78 199 217 4 39 31 290 64 39 118 136 162 123 241 165 163 202 101 4 198 95 142 130 222 41 271 53 112 201 170 111 293 297 174 263 137 259 214 201 283 254 61 25 84 261 229 114 287 47 158 142 21 220 190 65 99 286 204 69 46 11 71 151 300 194 89 109 122 18 54 148 130 108 188 271 137 217 289 1 120 297 144 33 106 76 162 197 19 244 69 113 189 32 77 190 193 224 78 166 203 288 7 66 299 158 12 17 272 93 5 206 67 22 24 249 186 203 169 177 250 245 188 214 239 200 4 185 72 217 49 163 58 201 118 35 225 64 176 303 76 153 74 47 48 99 265 174 182 265 143 36 131 113 188 42 198 254 19 219 54 167 277 17 152 168 278 9 206 145 260 18 281 103 267 86 185 107 220 40 282 284 7 100 57 34 20 46 61 68 154 234 210 149 80 147 150 297 238 58 214 295 72 124 47 171 24 270 249 301 172 187 252 148 50 258 182 73 219 76 301 204 19 72 175 143 278 55 96 248 85 200 232 113 40 278 79 136 154 67 76 117 223 43 226 295 112 78 64 109 181 124 10 65 8 20 113 119 267 218 125 189 54 121 297 8 39 185 17 150 242 289 36 177 22 298 286 174 268 189 279 127 265 220 43 251 13 6 298 95 32 21 63 297 269 288 266 25 72 16 43 196 162 280 184 69 185 277 22 251 255 237 227 168 164 120 266 244 16 175 173 296 196 21 46 241 259 299 222 71 28 263 121 49 219 288 95 150 292 108 194 120 234 298 81 68 49 167 25 29 184 111 49 264 194 191 33 99 196 227 193 136 148 126 73 285 267 88 199 103 270 86 291 186 174 69 223 111 68 278 237 202 80 33 182 245 29 232 299 302 39 270 220 262 264 183 151 192 198 122 136 293 198 63 65 175 12 227 299 212 157 294 304 12 182 276 242 256 279 102 71 131 75 203 49 255 44 279 194 211 24 155 117 224 234 159 109 29 57 3 187 264 226 245 207 86 52 130 130 210 1 187 145 302 24 195 206 119 261 126 75 188 227 59 80 18 100 101 146 16 187 259 269 101 226 40 242 163 156 105 256 274 111 135 41 103 139 103 148 149 18 227 256 91 270 238 153 89 289 223 236 76 295 229 70 279 32 4 41 127 226 190 189 271 201 164 273 23 301 297 196 180 246 245 210 146 54 100 283 183 238 247 273 279 244 25 228 166 92 146 133 259 216 239 125 214 107 149 67 59 46 274 25 226 69 239 181 94 214 66 163 176 126 58 197 116 77 278 283 263 68 266 61 82 51 54 169 77 273 188 190 126 217 270 233 23 217 268 284 236 208 17 280 132 77 77 114 62 85 31 209 290 265 95 108 170 147 99 142 286 117 239 86 164 189 123 180 50 268 238 111 148 233 228 190 44 117 297 253 122 209 31 281 180 164 47 115 212 255 215 252 12 79 147 163 80 302 252 19 249 22 150 175 168 250 224 155 22 139 127 94 212 208 294 256 300 53 194 78 66 28 216 111 2 130 43 283 266 25 7 27 225 18 300 14 180 204 40 136 164 57 95 139 26 151 271 115 158 7 206 193 10 214 289 304 216 169 130 77 256 261 59 38 35 199 55 114 64 170 112 256 6 155 192 287 106 104 181 56 42 237 70 277 175 185 278 298 69 210 204 295 45 110 65 275 5 258 4 83 239 287 129 119 221 290 111 227 3 164 179 43 83 218 197 61 111 49 92 164 85 298 263 113 61 119 173 59 114 282 167 148 282 77 83 57 123 222 296 21 125 110 298 206 300 183 162 128 186 201 273 132 156 247 102 302 110 218 67 204 295 54 75 29 196 180 252 50 300 46 300 41 59 111 259 235 144 160 136 8 292 250 10 276 161 53 229 9 290 192 258 106 176 106 196 117 68 122 267 167 36 204 68 273 127 65 86 11 103 135 67 114 221 303 207 98 218 166 261 174 277 245 164 161 110 300 252 281 184 64 273 71 145 93 286 260 53 56 167 247 273 133 133 140 56 233 64 219 168 43 239 204 279 99 269 217 161 280 53 293 137 124 237 206 121 138 72 171 255 50 158 300 55 112 249 255 262 238 208 199 304 11 69 272 134 142 211 263 163 130 137 198 293 185 235 148 86 237 1 271 135 177 211 40 181 189 52 50 93 170 67 247 283 48 102 234 61 8 242 52 126 124 4 154 229 161 108 135 58 214 26 230 199 223 124 178 82 58 204 31 37 241 272 185 58 46 255 48 148 132 24 219 302 76 156 201 124 103 126 63 198 271 54 6 78 60 46 70 153 258 219 162 18 217 297 181 25 273 96 251 302 89 52 96 234 227 259 35 230 247 294 12 166 192 175 98 56 156 55 298 298 284 7 301 1 275 117 52 54 51 133 200 206 189 176 137 240 196 290 65 55 95 66 287 85 108 283 274 110 168 111 274 206 128 9 100 240 86 165 303 146 219 114 158 43 148 76 235 191 152 203 269 142 44 175 176 9 278 72 91 105 243 186 188 152 14 96 80 290 10 167 123 154 56 298 204 182 283 190 39 74 37 234 154 91 236 289 259 263 56 45 128 14 275 151 99 38 58 82 32 151 5 43 260 31 274 205 91 141 270 14 39 73 200 40 221 260 55 149 98 92 285 112 136 94 274 263 248 197 193 299 234 81 21 217 39 292 297 276 267 132 293 108 182 174 130 247 133 17 118 71 71 189 86 82 2 281 180 166 29 54 44 45 36 128 254 250 234 110 184 162 3 234 145 6 142 95 100 189 235 13 25 146 221 169 194 228 91 262 100 253 263 68 56 13 78 92 192 99 222 232 14 262 234 254 53 272 103 117 230 141 5 227 198 225 271 243 134 51 71 49 266 196 171 28 188 24 130 48 204 251 303 51 176 22 88 268 137 255 98 41 10 197 151 135 243 119 5 166 45 247 51 78 138 283 17 54 9 136 3 203 209 279 139 227 226 280 156 218 204 260 164 238 82 296 247 217 266 274 26 234 172 270 91 213 265 141 86 80 58 302 133 26 287 110 182 239 111 27 40 102 113 50 80 81 193 145 304 192 160 38 97 156 224 260 22 94 54 257 288 3 72 301 77 161 149 123 43 80 78 64 81 133 177 190 13 86 221 112 93 205 38 146 185 71 94 40 160 231 164 144 119 21 93 177 194 146 144 97 4 213 223 125 14 19 131 219 32 111 217 237 185 167 252 248 213 115 151 26 208 167 51 66 263 230 187 44 297 84 280 66 117 298 194 41 196 38 252 294 282 88 113 69 280 90 268 88 100 287 29 237 88 52 153 109 243 235 76 110 188 238 188 65 301 44 32 245 36 12 225 1 218 296 136 111 36 241 175 172 46 76 39 284 47 139 289 76 129 152 191 180 250 121 212 284 236 30 256 197 140 189 209 24 104 297 187 113 303 217 41 9 15 290 256 121 77 263 252 285 250 15 37 42 44 244 114 54 23 213 133 39 277 12 288 112 139 101 174 217 8 125 135 149 146 299 86 269 142 159 72 42 300 83 27 259 192 240 275 240 173 280 128 67 265 109 185 6 170 11 157 277 118 105 49 75 156 17 235 101 290 68 125 284 34 95 139 138 216 288 204 131 71 273 231 192 131 207 273 114 222 92 142 196 103 34 295 185 204 246 301 21 200 22 12 288 299 192 166 182 255 247 235 8 160 257 202 191 248 195 171 126 250 30 248 33 262 61 9 256 246 114 129 69 47 57 76 46 35 191 108 170 116 263 219 64 258 29 269 297 232 44 100 93 78 42 133 170 115 154 32 8 15 97 57 130 43 47 7 297 73 98 123 77 81 266 116 175 299 29 261 98 26 282 296 141 170 119 111 144 156 17 247 227 13 21 129 272 116 299 5 63 289 201 88 41 302 247 299 10 301 2 267 242 112 127 260 75 111 218 13 142 168 81 173 126 196 234 183 203 88 234 90 136 178 104 62 9 235 99 47 241 102 151 119 204 179 124 142 188 208 101 11 185 5 60 81 56 206 229 89 52 255 46 171 5 205 209 96 257 212 179 114 223 168 92 77 116 133 99 167 241 126 109 238 34 126 243 28 140 268 76 243 244 279 20 202 145 169 166 109 14 105 36 130 178 221 32 254 273 298 176 94 110 107 119 223 246 261 202 231 125 120 22 279 209 289 97 179 171 18 216 44 43 266 33 302 44 64 191 61 59 60 81 75 233 108 274 226 36 230 212 81 121 208 225 131 62 154 155 84 270 55 38 67 184 86 35 16 100 287 133 275 261 138 113 251 233 61 65 200 257 153 125 208 70 200 188 119 183 194 90 186 280 66 235 69 30 168 270 120 203 137 234 235 282 66 110 290 110 26 274 304 161 174 108 12 290 183 202 65 66 265 118 142 303 141 32 221 165 105 128 25 101 207 304 230 287 293 128 133 41 164 164 199 44 24 140 214 15 233 4 235 143 36 159 126 189 246 204 270 300 213 99 6 14 231 196 206 31 87 117 14 248 17 272 201 236 199 122 205 79 47 183 15 160 8 111 282 148 102 236 200 170 298 60 146 7 82 289 275 25 93 114 279 273 290 106 276 188 249 78 261 152 28 170 295 56 304 118 148 189 96 39 171 175 217 130 44 293 141 82 21 57 196 20 148 292 48 103 294 285 200 158 52 14 131 169 169 71 145 30 84 304 208 169 243 36 190 267 237 260 256 185 23 68 160 138 27 304 283 75 247 288 199 149 275 95 122 259 237 213 303 278 3 40 274 17 288 232 220 217 262 127 25 280 249 155 276 304 152 63 47 80 276 283 38 61 99 193 83 156 234 288 154 215 210 223 197 52 147 145 4 283 156 215 261 162 108 178 100 103 219 43 100 183 38 169 133 40 45 37 303 60 207 254 289 275 56 272 60 3 14 129 304 70 148 142 19 221 248 206 279 112 84 89 46 177 76 213 36 20 220 48 8 163 166 213 20 23 258 88 256 277 227 177 103 266 59 135 139 129 134 171 36 35 104 206 128 184 161 181 232 72 65 10 150 248 111 32 23 59 149 56 64 30 161 260 241 94 296 124 251 33 105 1 72 304 194 215 267 159 203 148 56 134 68 230 139 4 215 20 108 84 168 108 212 76 16 106 54 159 83 225 85 46 13 211 163 264 166 288 194 163 63 263 256 29 269 176 243 184 220 248 94 163 111 80 31 144 261 273 83 192 259 206 273 85 252 258 193 48 77 133 175 129 95 77 161 129 191 81 16 243 159 78 294 164 30 76 73 41 237 282 64 200 145 238 49 127 188 13 256 65 176 45 54 28 74 272 36 39 8 156 25 173 135 36 51 267 76 150 226 147 262 198 9 56 73 263 23 262 174 76 56 294 63 92 127 82 233 280 182 222 292 204 244 86 156 78 260 39 116 264 226 24 252 285 76 223 271 295 132 142 23 124 230 142 49 86 31 277 270 43 153 255 260 165 179 97 146 282 190 119 41 33 137 98 24 112 203 44 291 100 143 224 231 93 104 222 152 114 205 63 34 219 136 135 76 258 57 284 123 135 277 186 36 211 250 196 128 213 249 144 263 273 282 222 175 150 36 269 112 109 25 191 223 141 4 125 165 264 124 303 91 219 98 55 32 112 286 25 301 109 220 116 105 20 183 179 13 103 90 198 170 187 278 153 195 105 167 46 258 227 27 134 61 3 136 211 270 185 287 10 200 143 59 289 172 193 61 6 25 176 186 11 217 81 65 132 264 293 299 249 286 250 210 235 182 108 71 203 19 286 93 202 162 146 147 161 11 200 38 192 152 177 40 18 92 203 82 298 140 128 2 122 81 296 141 205 265 15 271 28 41 98 147 31 112 152 72 171 59 104 252 237 268 262 123 239 63 153 138 277 204 267 19 51 14 4 233 79 257 158 35 140 283 75 158 113 10 238 103 89 88 156 164 269 130 188 67 136 278 73 45 278 154 177 289 99 1 297 181 126 124 42 169 14 87 9 153 85 205 265 46 221 81 4 129 167 141 166 198 145 138 286 74 37 238 39 185 99 124 164 113 154 224 112 249 189 43 262 157 208 289 121 251 111 247 78 215 111 158 231 190 281 171 258 79 93 183 164 45 304 59 42 238 91 170 215 230 261 46 205 39 220 110 288 265 53 78 304 266 31 148 201 146 285 118 122 262 70 227 295 183 110 94 127 34 173 188 275 17 289 285 236 172 49 18 139 266 77 139 74 128 284 148 230 289 70 35 169 103 45 105 88 165 227 82 296 96 88 49 180 66 101 13 181 68 27 257 185 18 183 269 240 181 275 174 107 15 23 84 281 215 231 290 198 229 35 302 107 3 246 237 52 136 189 135 2 149 107 233 59 162 107 205 112 222 32 185 115 187 178 98 48 236 296 189 76 254 7 203 264 293 152 45 132 34 12 17 112 23 48 84 164 162 200 291 278 279 16 170 201 1 56 263 192 252 82 264 125 54 267 56 150 125 220 178 168 67 235 52 29 4 207 66 149 175 190 66 235 110 167 260 195 103 258 160 216 239 135 238 102 137 70 90 295 202 195 30 64 118 279 35 10 53 234 280 176 189 278 301 137 52 166 211 248 299 24 212 148 107 172 243 280 268 215 6 234 239 69 295 135 226 35 48 145 39 299 37 248 183 185 257 48 27 20 295 78 204 240 211 114 264 218 175 75 31 49 53 72 185 231 129 21 283 231 148 117 169 222 263 217 23 103 299 155 16 224 91 284 163 252 49 229 293 102 178 91 13 248 118 241 250 171 46 190 303 271 155 130 176 263 254 36 122 85 93 5 136 250 278 258 294 174 205 6 215 203 137 156 248 218 152 172 112 175 300 144 181 258 73 252 106 170 16 266 149 61 45 120 246 294 107 26 56 298 296 105 206 145 185 230 43 108 135 91 46 13 215 196 83 100 64 181 26 70 152 198 21 289 134 191 240 144 58 55 81 70 118 297 270 116 150 169 56 247 164 288 182 238 6 27 220 69 240 165 25 7 235 183 122 25 28 289 84 11 143 165 42 193 155 117 152 221 190 250 155 128 159 158 290 281 18 291 139 202 13 196 275 152 55 278 118 150 11 228 175 93 284 222 54 198 67 32 219 266 249 29 111 68 158 251 67 161 258 200 228 43 11 195 178 162 236 168 218 231 134 253 232 259 259 136 52 40 20 251 302 296 67 214 245 205 166 296 216 287 145 204 168 47 146 79 279 161 31 168 234 32 204 26 21 31 282 185 133 48 26 8 238 281 9 262 80 22 40 19 59 284 81 207 34 114 279 68 159 185 171 292 232 119 234 222 267 75 184 115 254 4 157 22 97 242 111 195 209 140 142 165 127 252 152 288 53 192 121 139 107 8 121 281 137 293 3 43 22 176 174 33 144 108 86 56 274 38 142 222 237 162 215 84 209 124 38 217 303 185 167 219 243 108 156 287 222 183 1 166 269 277 249 98 28 225 217 128 237 138 65 240 105 289 64 25 261 251 90 82 73 286 182 117 211 117 139 270 5 298 155 287 74 108 18 234 113 191 24 197 121 62 3 73 110 147 135 56 188 204 78 100 83 82 135 185 109 245 120 124 5 239 92 134 30 263 222 206 85 74 225 92 3 134 251 88 151 76 53 138 82 226 120 15 298 30 262 141 299 291 45 215 149 2 245 298 103 227 219 84 263 168 255 186 224 76 83 237 75 188 178 62 200 172 111 111 132 244 57 304 195 162 139 81 159 271 128 250 8 72 250 9 193 178 206 207 7 254 144 156 82 107 45 164 44 89 258 199 289 55 276 269 280 32 117 158 43 245 71 30 205 241 40 67 197 105 252 107 300 206 170 125 151 290 91 24 66 260 100 44 151 126 6 227 279 237 143 247 173 121 294 106 99 96 119 171 8 229 152 190 204 134 171 286 48 80 129 231 123 270 69 59 177 47 272 42 205 106 253 34 263 277 228 230 74 164 210 156 125 271 276 249 157 13 263 238 263 81 111 276 205 85 77 42 110 298 139 289 81 210 272 137 77 42 153 67 20 108 302 56 87 279 270 128 224 293 221 30 232 286 95 274 292 15 153 185 117 248 157 20 46 83 68 127 11 266 266 109 292 269 15 95 234 63 143 69 172 253 216 167 186 155 231 270 21 95 44 206 143 71 111 125 106 229 207 301 237 240 8 277 171 111 106 71 159 294 131 158 259 108 214 121 179 37 120 53 97 79 2 56 118 215 154 288 126 174 156 92 91 168 105 124 144 167 295 198 75 14 270 289 153 119 294 256 108 123 262 122 87 165 1 5 17 21 3 200 88 134 240 6 10 241 224 68 244 302 4 50 124 11 37 137 126 45 214 118 259 100 234 107 40 246 273 248 275 223 255 201 101 255 231 78 31 229 143 140 210 2 214 15 30 2 33 160 20 206 174 156 5 129 225 58 152 299 66 75 102 155 274 246 114 50 86 131 70 240 12 106 99 237 78 74 123 95 83 298 189 227 76 271 287 157 25 128 238 248 22 219 148 11 176 133 290 161 181 270 299 77 249 262 301 185 138 290 45 8 262 35 273 34 19 264 83 11 236 246 152 273 276 36 188 36 81 182 5 19 48 273 223 69 172 135 224 181 101 92 272 150 163 215 275 272 251 243 167 90 126 167 182 128 45 50 49 107 92 135 96 150 170 225 143 286 89 40 161 7 67 10 281 300 43 100 83 118 32 97 268 257 300 82 10 163 284 179 188 168 50 72 210 277 146 165 276 197 35 37 261 298 235 228 53 150 270 170 60 109 38 167 116 76 152 216 128 239 236 49 282 258 34 1 259 187 267 278 253 212 164 207 79 78 79 204 116 37 41 52 287 80 82 134 89 300 250 265 236 182 177 101 136 205 71 216 275 235 260 191 54 229 195 75 195 49 9 176 219 13 165 208 208 14 253 86 218 101 29 220 109 230 5 153 17 225 29 106 304 77 135 152 285 296 197 1 231 203 191 196 18 115 270 24 280 224 92 173 50 98 94 169 111 208 86 131 59 165 250 71 257 259 125 11 279 215 15 132 1 270 2 233 294 270 100 98 53 186 111 69 98 89 36 219 132 155 8 282 55 94 271 298 298 93 214 292 266 239 167 24 98 152 214 12 118 110 274 43 67 161 172 23 179 281 1 258 50 96 140 113 189 218 213 120 176 261 109 76 239 296 16 227 163 207 231 218 218 194 263 25 94 186 169 146 278 91 258 192 176 129 102 35 225 123 244 282 50 235 137 67 125 304 181 147 89 24 230 291 108 66 118 220 296 89 251 111 298 46 143 123 30 94 297 254 282 129 46 250 211 21 83 136 136 68 136 243 109 221 174 217 91 90 108 21 90 98 189 2 158 46 52 114 109 51 291 292 292 124 227 302 48 26 199 273 78 166 278 196 50 36 240 287 90 111 214 46 86 103 198 146 19 195 3 219 280 20 173 156 10 51 2 75 207 92 66 70 1 212 198 273 79 194 236 108 296 216 233 245 9 295 159 245 209 276 133 7 125 89 49 192 36 169 211 103 218 123 70 214 199 125 11 241 111 286 255 151 79 243 254 58 252 259 253 128 163 181 104 52 83 101 299 99 275 125 266 282 53 180 8 176 283 254 282 65 151 66 122 286 210 5 200 270 265 210 216 251 266 29 301 22 17 191 286 6 270 17 150 48 148 138 115 279 251 76 248 216 129 235 212 242 303 173 29 131 146 37 51 164 200 139 282 14 150 194 237 301 240 218 151 60 208 265 64 65 167 55 27 264 279 120 3 268 228 126 212 77 95 143 278 109 55 301 43 140 58 39 119 94 200 58 288 121 120 212 283 126 199 231 62 67 9 187 276 30 70 102 231 41 194 203 225 136 82 266 70 78 288 154 31 115 248 70 197 109 258 151 41 207 69 214 101 142 112 49 299 264 31 159 277 302 234 150 212 216 251 36 53 225 8 126 289 289 164 170 86 47 290 11 197 299 97 304 283 264 133 292 37 265 228 103 289 165 70 111 256 154 105 226 99 14 197 273 17 52 228 35 248 242 1 289 29 119 260 251 89 52 104 285 126 126 162 159 202 222 148 278 219 93 39 143 66 106 224 62 293 221 17 64 242 167 290 22 206 303 99 34 81 10 243 61 63 123 191 211 141 104 296 298 279 75 244 131 174 95 78 93 211 243 98 104 163 59 155 3 244 16 279 95 36 47 269 16 191 156 111 269 146 7 68 82 176 166 45 72 85 79 66 82 21 189 188 203 91 58 174 37 145 19 199 241 202 262 170 48 186 94 138 127 225 239 298 168 8 13 127 80 281 183 257 249 182 243 261 116 87 151 24 143 184 228 30 202 188 76 182 174 145 116 109 183 57 11 238 188 27 138 110 261 197 148 113 173 268 140 269 231 73 232 118 292 265 208 294 197 245 288 214 290 141 11 98 115 191 302 76 275 176 292 234 223 110 141 138 3 24 128 88 133 259 187 82 41 190 107 28 165 53 171 60 174 31 216 279 96 16 182 189 158 120 130 288 238 195 126 156 85 85 248 136 51 2 10 218 248 91 185 115 174 287 49 75 8 2 240 110 34 115 287 269 73 208 26 70 116 80 44 142 201 54 221 216 294 244 216 263 188 245 289 196 21 288 146 242 293 234 247 22 23 198 278 298 201 111 77 81 247 203 154 277 81 222 200 225 209 113 127 1 84 58 247 132 19 77 188 304 55 48 293 17 37 63 10 42 208 256 280 111 109 10 266 253 131 233 18 128 204 301 101 184 221 265 170 104 167 88 124 153 130 175 190 55 4 62 4 29 150 27 58 174 28 184 8 14 115 173 100 202 188 216 155 5 166 78 236 34 297 162 302 213 138 179 251 204 35 208 102 290 292 77 240 148 18 27 194 117 164 5 145 159 202 12 277 26 217 10 272 276 195 130 48 41 246 171 129 205 266 223 235 285 83 2 138 65 298 265 258 90 170 234 60 54 1 216 145 286 80 285 168 32 240 15 78 250 164 6 82 225 244 243 55 248 103 151 60 263 66 211 277 50 34 53 255 301 219 75 4 108 206 221 283 278 167 222 54 221 211 203 43 273 95 263 297 22 199 33 268 247 269 288 19 256 268 54 57 203 208 252 302 76 78 229 251 114 253 71 64 208 193 105 190 170 238 93 29 34 280 120 54 136 97 262 34 233 288 122 128 58 29 265 54 29 21 1 120 11 186 21 79 276 40 252 127 135 193 113 236 190 123 74 253 93 6 303 263 299 221 73 199 127 290 91 296 266 63 202 195 157 139 170 98 142 295 66 184 19 38 43 234 109 49 116 238 191 301 98 166 223 8 212 138 116 77 187 303 50 226 247 142 21 93 87 272 230 62 207 286 262 169 87 122 263 15 299 45 223 70 57 281 291 144 175 80 37 42 199 53 108 241 159 12 96 257 71 274 211 301 284 195 175 205 34 232 293 297 93 243 41 120 9 49 211 61 254 71 191 259 187 3 95 118 267 121 169 70 216 217 185 137 130 276 261 301 1 24 26 273 61 144 26 120 206 20 12 107 209 271 105 268 200 12 187 141 250 176 110 174 282 137 191 174 215 200 252 108 127 181 112 36 154 45 161 294 78 57 301 254 75 145 71 81 98 214 225 97 166 70 115 195 237 169 73 4 296 164 73 36 14 260 27 44 166 84 71 26 147 154 260 167 206 82 183 247 94 14 270 48 247 227 27 57 69 3 73 196 31 249 130 29 228 94 179 8 251 105 161 294 129 15 108 122 12 220 92 111 54 285 66 279 209 274 114 42 260 70 238 175 70 267 102 99 101 167 160 199 139 191 294 4 57 1 260 229 246 104 187 206 49 46 154 236 15 108 235 14 27 135 268 4 235 199 172 204 17 28 104 65 249 273 63 46 31 255 245 91 31 150 159 152 71 269 216 251 248 29 242 75 294 245 25 92 263 173 187 32 138 145 304 96 97 9 94 292 19 78 166 79 26 124 160 104 296 88 258 76 8 117 222 201 249 167 160 33 298 122 99 229 39 282 161 236 121 266 118 47 184 229 102 8 123 86 3 268 298 15 101 67 149 227 51 196 141 241 304 132 281 96 289 113 138 264 224 288 221 109 1 162 4 69 120 209 61 127 173 110 216 191 300 15 134 198 10 256 225 249 55 12 302 186 278 217 196 262 187 218 207 98 116 258 229 100 180 188 85 91 117 13 301 250 13 147 141 152 17 147 213 302 255 32 133 150 184 236 150 214 21 165 80 259 190 79 81 86 220 31 240 204 44 61 119 66 44 133 172 244 135 118 130 76 208 222 141 242 98 30 136 113 121 13 123 227 240 32 215 66 2 282 234 113 26 172 14 37 212 94 3 160 211 129 155 129 243 180 49 12 176 124 6 54 187 105 235 219 6 68 301 95 242 295 86 206 244 113 271 215 72 227 76 129 288 162 126 232 296 167 32 41 100 253 241 181 203 130 146 271 81 264 127 16 74 299 95 243 304 190 87 36 145 180 116 40 14 34 219 202 267 258 29 106 127 247 173 134 215 192 126 259 26 177 72 227 184 152 91 269 237 291 9 209 200 279 13 203 285 63 11 290 183 192 272 215 291 222 289 119 71 140 133 195 17 232 265 94 1 155 209 1 178 107 203 139 64 45 226 100 42 17 218 109 178 11 129 1 72 179 25 36 132 116 17 71 194 172 16 193 18 125 202 269 24 3 146 60 292 138 48 60 154 102 22 182 29 146 238 279 268 238 77 172 167 12 91 18 237 230 91 249 108 21 190 228 199 241 25 130 177 230 141 300 286 18 259 61 27 259 220 217 177 178 299 11 4 197 246 67 52 70 66 275 261 161 8 182 24 95 250 205 206 33 82 183 23 94 120 87 273 164 226 142 134 39 216 13 179 270 108 69 254 280 74 212 279 30 280 259 191 105 154 159 87 180 185 42 59 120 153 48 38 35 96 275 60 129 58 36 239 16 139 153 203 211 304 83 40 281 105 224 122 186 179 298 120 9 294 72 255 133 155 92 179 202 13 175 244 24 16 107 179 145 195 174 126 237 294 79 54 266 35 12 148 153 95 203 72 236 7 75 18 124 249 202 303 86 235 131 153 202 98 101 52 241 286 37 73 151 6 31 164 1 206 242 167 126 36 299 219 263 272 18 93 106 74 20 103 107 162 71 32 174 21 126 295 14 218 56 12 232 257 273 274 213 274 149 256 190 156 173 133 37 216 185 141 216 166 159 52 93 215 28 176 190 83 124 29 15 216 89 155 230 106 238 216 113 66 5 163 142 91 126 91 299 70 118 130 130 199 142 43 157 266 89 100 129 127 275 66 266 112 162 244 233 131 281 294 132 296 122 13 45 3 274 200 106 133 207 166 11 46 291 32 125 120 65 51 37 88 7 290 300 18 173 169 82 250 16 91 169 268 228 41 79 269 28 52 167 50 180 8 231 61 195 58 265 241 36 112 7 190 8 146 289 56 124 42 138 296 262 94 296 134 161 221 81 40 62 47 128 263 262 192 68 233 236 37 225 151 3 224 249 155 166 249 184 272 303 262 278 37 280 283 194 97 172 122 49 50 299 189 68 52 180 249 199 183 165 302 19 230 170 291 94 84 119 147 208 133 94 36 85 225 142 286 95 98 209 277 33 103 214 67 156 215 29 226 46 258 122 137 178 226 47 285 218 119 278 204 189 275 115 233 40 48 116 191 70 112 136 236 134 228 239 271 211 257 126 240 63 84 53 255 273 186 46 125 218 151 48 280 95 175 250 207 58 266 245 180 51 118 173 273 223 166 138 93 262 126 199 144 12 172 181 217 3 75 16 34 4 129 15 250 262 281 236 156 7 200 185 245 54 113 57 110 294 240 78 189 42 188 228 255 217 34 126 19 113 155 225 187 202 142 278 24 163 148 45 114 202 147 295 89 148 30 283 8 104 258 2 139 199 104 275 273 236 213 167 60 188 139 122 36 11 97 267 93 99 45 250 55 23 261 195 232 44 92 38 220 39 278 96 57 267 26 141 62 117 108 180 153 205 100 173 303 15 33 5 57 248 17 230 117 75 276 255 214 180 183 66 116 82 228 290 126 257 166 242 13 7 97 204 145 249 266 257 44 75 302 69 116 130 228 297 128 300 288 5 102 79 249 140 239 236 265 97 270 238 72 141 103 250 28 104 63 165 101 296 96 116 194 56 226 3 235 226 108 257 123 208 60 300 21 193 63 123 158 271 82 111 218 127 144 187 59 225 134 39 132 258 116 23 275 41 242 238 124 276 275 44 299 282 57 45 112 257 245 217 216 214 80 299 184 191 251 166 179 186 120 115 53 99 159 104 186 167 65 142 168 225 139 58 194 277 197 228 244 269 259 74 14 141 221 54 216 153 203 248 93 7 250 125 196 261 21 134 67 95 166 254 176 160 206 102 125 71 89 221 245 24 17 124 31 250 108 291 27 97 34 232 28 81 118 214 136 195 147 285 71 201 77 138 71 217 151 80 228 301 179 282 245 32 14 90 124 147 18 159 219 186 74 242 86 75 75 73 179 237 296 285 170 117 180 293 10 88 167 237 167 209 231 67 212 228 11 233 300 281 227 203 267 45 80 188 33 54 184 59 95 189 226 198 17 7 254 271 46 216 14 128 45 116 47 295 262 100 298 148 163 44 289 133 249 275 235 152 252 299 37 241 115 53 68 80 37 43 209 227 27 119 199 145 185 248 190 91 245 85 229 172 175 74 8 109 248 98 129 111 25 302 93 24 90 66 170 182 176 71 284 232 152 127 246 60 27 239 9 89 121 247 301 38 301 180 200 128 112 148 121 127 241 221 231 256 292 191 153 29 78 210 176 144 5 219 142 12 150 95 100 82 81 91 172 37 128 54 291 267 122 239 278 189 29 133 137 164 201 123 144 178 244 263 7 89 166 212 239 58 253 203 61 45 164 110 139 231 32 36 4 246 194 10 94 248 288 184 225 267 39 272 232 151 80 228 278 80 113 78 255 34 203 299 226 46 297 174 9 292 204 68 121 146 51 170 262 252 274 136 190 11 295 199 195 71 236 156 225 117 224 254 152 222 227 147 204 195 59 177 260 32 268 268 42 37 229 19 1 269 111 61 5 199 248 169 47 182 130 113 190 268 101 49 32 287 280 243 96 301 15 122 96 158 56 267 69 173 92 23 147 225 228 294 161 12 298 248 66 147 131 82 1 145 118 249 271 267 162 108 189 235 92 294 178 255 152 27 91 28 242 271 200 142 77 257 249 110 254 168 254 102 279 284 43 229 103 38 171 54 14 261 171 80 256 202 82 195 22 166 47 104 12 242 41 88 39 2 31 294 160 89 13 278 97 200 33 253 153 298 261 4 103 38 39 69 101 115 93 239 93 203 213 256 29 262 63 156 69 209 253 50 50 119 228 110 110 4 211 97 119 142 295 126 104 253 188 103 220 30 17 232 4 38 207 82 223 159 217 33 44 246 182 288 137 125 250 84 191 238 1 98 167 139 301 302 193 170 2 173 241 145 292 172 164 138 216 134 81 106 171 3 278 272 146 36 110 136 205 16 181 176 23 202 207 96 108 103 27 35 87 116 276 14 207 13 23 265 100 109 53 245 227 1 205 246 110 288 6 4 294 159 194 164 212 90 138 178 62 297 44 175 8 280 234 160 186 128 245 25 83 157 217 222 257 255 127 6 9 121 259 108 172 68 270 267 214 112 68 107 76 118 88 25 278 98 260 187 254 283 227 62 213 181 266 221 302 20 88 237 244 23 108 267 99 89 206 227 129 14 228 169 249 54 250 256 38 279 191 219 168 82 246 11 74 126 29 44 233 240 72 144 160 118 36 105 283 170 5 176 258 205 116 73 161 148 201 284 219 54 104 198 218 136 16 269 76 166 6 22 255 247 257 61 173 209 19 88 143 294 123 169 285 75 94 227 181 237 159 150 136 132 193 211 245 91 79 185 91 256 26 65 197 142 214 276 37 110 163 303 256 24 237 269 233 11 206 144 29 186 283 222 210 169 239 206 275 125 172 294 238 48 271 31 59 35 188 71 271 55 2 196 262 121 106 289 4 287 277 286 192 157 273 113 214 35 2 30 189 28 83 37 140 223 284 113 47 190 93 115 182 226 35 207 141 213 154 34 176 262 108 126 145 289 1 221 302 233 245 255 265 73 275 297 23 287 210 120 288 17 66 149 67 79 96 17 14 137 248 158 136 219 186 117 78 40 258 184 47 114 260 228 3 159 277 82 159 159 252 221 279 72 273 192 283 94 289 225 248 35 80 170 125 70 209 137 193 90 95 113 235 115 26 177 99 71 233 114 253 222 216 220 235 158 43 224 304 281 64 255 34 253 203 272 156 43 213 198 264 235 116 284 125 85 293 281 296 210 232 274 82 79 182 34 185 158 257 190 91 67 293 230 117 62 214 220 170 250 246 158 13 138 67 168 22 174 284 21 284 272 108 71 303 216 210 140 35 176 73 220 113 108 142 67 92 61 153 177 224 14 224 300 111 31 45 250 194 185 103 17 40 256 201 234 20 9 131 181 230 280 302 60 82 290 112 265 245 3 41 166 182 245 128 290 50 125 249 42 89 180 289 285 121 27 287 140 302 293 49 212 76 230 70 99 113 56 193 9 221 52 75 226 53 180 148 284 275 276 156 298 164 158 124 263 97 186 48 117 40 62 217 16 175 69 243 233 186 191 50 78 303 162 276 302 189 58 6 223 141 10 210 51 139 204 79 112 51 151 159 157 71 12 17 152 48 281 145 202 55 57 207 111 114 63 64 147 58 86 65 16 89 66 247 111 157 279 282 208 264 54 58 117 125 48 72 229 224 20 274 22 134 25 242 52 28 33 270 11 269 280 293 260 8 73 285 43 303 182 271 62 103 221 146 68 239 125 199 262 156 26 101 304 62 244 60 81 38 18 14 293 293 120 146 220 104 90 107 288 239 275 142 63 147 18 142 194 246 94 268 135 101 133 108 271 30 42 12 208 273 202 267 272 232 91 104 300 245 246 163 63 80 253 289 114 164 187 233 90 189 203 73 25 61 212 303 142 114 120 185 192 8 277 136 241 84 244 132 209 166 52 80 135 160 22 108 247 13 203 258 209 226 95 145 80 3 279 39 220 8 138 55 160 290 139 258 183 300 192 150 176 55 234 296 160 39 169 130 7 145 268 6 160 76 195 90 9 285 161 61 16 175 257 222 272 258 175 246 98 194 71 209 70 275 300 101 229 35 58 231 225 275 19 243 202 238 162 42 108 280 134 4 124 48 277 287 63 259 127 247 129 116 277 238 97 102 270 179 233 220 227 118 130 273 167 171 4 52 204 103 217 247 9 217 1 122 169 143 46 178 232 7 143 271 60 150 175 235 108 241 224 273 31 220 262 246 205 117 142 57 85 264 302 251 146 7 154 251 164 158 29 33 275 179 92 137 222 77 28 140 277 261 95 81 104 277 21 218 140 176 52 169 129 60 197 155 202 99 210 62 132 203 131 278 107 97 278 127 143 198 49 104 60 165 252 174 86 81 189 118 261 237 217 148 34 244 87 269 49 39 18 15 170 266 6 141 137 259 232 84 42 104 3 48 69 71 218 225 188 112 246 271 90 76 140 300 234 285 65 75 274 203 86 244 166 76 106 70 34 122 176 154 237 106 48 122 270 238 42 83 57 302 39 81 107 209 66 139 84 92 32 29 136 33 131 15 255 122 229 175 289 64 136 147 147 205 112 29 199 265 25 86 47 33 78 36 228 303 213 170 57 51 187 122 151 254 114 54 275 220 258 3 133 222 68 24 84 294 227 178 282 269 154 164 271 201 37 93 90 157 288 246 247 284 208 210 191 13 246 38 27 219 36 237 92 35 25 181 47 266 269 48 25 25 59 271 250 132 294 14 62 42 189 181 176 263 68 303 101 114 283 71 124 241 232 216 58 29 77 266 161 66 102 117 25 7 196 282 224 207 12 90 77 124 225 205 285 233 134 268 11 27 304 88 164 59 158 103 4 100 103 154 19 276 17 59 184 268 186 296 16 30 137 303 122 134 299 300 103 300 282 303 61 130 174 295 70 54 21 215 191 174 186 196 18 128 2 64 287 228 261 242 72 61 288 51 55 240 224 116 190 82 302 277 225 87 242 1 190 254 197 168 193 303 247 116 151 122 255 68 77 21 190 232 188 89 156 235 165 257 191 220 39 125 86 94 283 74 120 264 275 292 219 80 239 129 136 192 19 188 204 59 304 215 290 261 192 211 259 56 166 119 166 211 121 204 41 182 174 99 238 205 35 257 1 298 212 95 91 8 1 304 246 156 18 153 295 262 170 224 159 292 195 189 292 229 183 250 223 268 177 127 232 20 163 273 124 60 65 72 127 227 204 11 152 220 137 112 224 59 247 210 167 131 17 59 257 54 55 138 62 152 164 162 211 21 264 222 173 28 216 244 268 73 223 257 130 253 14 85 213 283 95 232 272 120 10 47 261 224 23 129 272 198 229 11 22 11 288 37 7 179 13 281 126 3 52 45 11 90 67 184 260 147 34 3 11 13 58 9 304 260 200 230 239 125 212 241 270 187 40 219 60 136 209 187 95 280 231 39 141 269 27 130 183 289 156 142 20 131 304 166 136 138 209 6 193 131 209 197 89 171 32 123 227 117 126 92 181 98 141 87 72 143 99 99 217 236 79 194 12 14 70 186 262 1 262 294 122 300 34 44 277 59 10 235 231 136 23 187 64 58 132 204 260 143 285 39 188 258 114 103 10 260 160 102 201 184 136 62 77 69 40 40 197 252 302 295 224 158 161 298 286 184 173 225 98 69 301 163 251 230 80 101 291 250 245 283 5 130 122 86 133 12 44 173 66 161 38 141 302 39 90 147 284 68 99 281 32 43 53 304 232 204 280 131 170 136 254 49 119 203 161 184 244 242 25 203 77 38 137 48 30 145 182 268 233 135 247 207 212 62 113 201 245 5 202 19 224 268 86 186 151 227 1 171 105 32 220 128 237 292 296 108 197 63 289 10 294 91 136 221 296 237 121 75 53 224 106 56 138 25 183 132 53 167 182 116 121 300 280 50 256 53 283 78 59 170 92 97 212 153 206 127 171 221 38 153 143 270 244 37 35 293 23 286 304 74 21 206 157 39 242 246 292 137 64 164 180 163 93 58 297 96 158 245 27 72 117 32 186 108 99 10 252 102 132 204 45 190 141 131 48 31 25 237 160 108 84 10 224 243 268 119 103 201 288 116 296 102 285 205 24 190 247 281 299 294 117 248 80 285 302 48 125 191 185 34 279 71 222 288 282 159 102 76 62 42 183 161 11 213 283 46 71 205 273 200 15 245 224 167 159 112 65 77 198 129 262 245 84 27 260 166 253 261 56 27 191 178 207 206 183 238 207 225 195 270 303 35 288 139 232 271 165 155 90 86 137 178 169 54 265 105 207 271 3 282 198 296 16 200 102 189 191 271 33 94 245 4 256 266 33 90 208 58 143 100 165 161 256 219 270 76 252 268 137 253 199 304 269 195 37 257 258 220 182 121 284 101 73 150 284 272 40 26 9 56 81 290 42 83 54 98 269 200 220 277 299 95 48 61 290 214 285 284 226 138 176 185 202 19 2 43 288 114 282 162 282 203 95 143 146 242 73 77 152 166 124 38 65 16 160 254 272 54 153 64 83 11 295 47 95 275 294 133 209 304 24 118 260 87 136 94 215 113 268 291 50 161 112 127 95 288 230 157 113 51 197 126 81 228 5 80 34 28 269 216 225 116 152 144 239 277 78 270 125 101 92 218 137 264 170 14 142 200 82 84 121 274 260 107 96 166 83 211 289 217 244 17 47 48 233 229 282 213 300 271 274 257 202 45 8 164 239 163 218 227 38 230 263 172 32 268 20 211 30 94 129 27 238 142 194 37 165 154 90 15 129 95 128 192 8 51 239 280 277 303 13 61 21 178 235 154 190 290 138 9 171 120 267 246 287 294 47 114 147 64 269 238 281 5 140 194 286 182 238 107 147 172 244 294 299 213 94 245 44 70 199 293 102 25 105 69 253 112 138 75 92 45 157 191 103 106 120 59 208 304 248 211 204 45 239 269 186 3 171 53 266 159 184 264 111 46 39 83 96 170 258 171 69 72 170 223 86 45 280 237 191 56 68 167 63 7 107 193 189 207 153 56 259 158 101 90 99 243 81 56 255 21 42 275 214 88 267 15 291 98 100 136 283 42 146 179 172 167 260 149 52 41 166 242 18 223 70 52 158 153 269 287 26 168 91 300 267 202 220 58 74 78 122 114 204 72 86 93 220 145 236 215 178 49 297 240 207 100 56 175 95 109 203 109 228 265 247 14 62 69 277 65 40 17 52 304 140 34 141 190 287 48 154 281 163 112 277 233 257 102 273 66 302 220 101 72 281 226 4 296 169 120 112 206 67 161 139 161 292 61 63 212 251 188 120 102 88 231 143 285 281 277 274 118 21 194 176 161 245 267 287 304 246 154 208 263 280 244 285 5 145 32 149 155 241 235 266 218 20 73 70 187 218 12 270 196 94 59 6 182 131 154 49 272 207 43 29 68 194 298 148 8 123 298 57 300 219 99 234 279 61 91 196 21 297 6 42 296 55 139 247 244 135 237 68 258 117 54 79 84 304 180 10 18 277 259 243 102 6 46 52 234 169 297 15 193 157 110 223 98 162 178 177 189 48 130 138 231 214 56 61 35 160 38 10 79 60 292 144 141 69 180 53 87 197 264 219 185 297 293 124 194 11 291 211 267 289 279 97 292 100 150 97 286 211 91 64 271 41 135 54 55 278 67 143 254 68 102 100 261 205 11 172 195 100 139 88 173 117 292 30 106 188 76 238 183 230 111 28 6 120 276 168 142 28 12 249 15 198 273 1 121 275 219 44 143 253 102 111 53 255 258 221 11 196 243 68 104 209 173 169 84 59 236 46 131 219 1 271 33 70 15 156 136 238 164 21 259 113 21 81 31 65 17 123 268 25 147 279 120 2 36 215 248 256 108 229 100 88 90 80 74 176 238 28 270 68 123 286 38 113 151 41 162 228 262 218 70 266 30 85 27 6 236 112 21 120 194 12 55 170 225 136 159 27 16 39 236 46 262 124 177 10 186 36 247 253 234 137 258 146 259 82 272 245 112 263 216 204 48 25 105 288 102 21 170 254 88 74 104 128 94 282 145 111 87 66 274 118 226 86 141 238 240 185 44 6 230 74 77 36 12 203 89 109 141 163 46 238 121 195 295 7 55 246 155 68 302 251 297 60 133 106 227 298 81 34 106 300 28 34 92 232 30 180 294 73 239 133 47 277 25 17 69 65 276 156 289 285 182 72 36 65 141 239 254 246 197 162 156 201 76 49 219 206 223 277 20 93 242 126 265 239 232 155 256 187 24 302 304 253 287 258 50 15 24 124 156 164 208 15 176 240 132 68 281 246 230 145 188 152 105 23 13 203 187 210 91 126 104 112 130 30 186 68 49 177 45 213 184 145 206 11 27 56 154 244 204 114 260 116 17 43 17 165 160 204 233 100 76 107 1 148 82 8 222 228 162 97 102 287 78 304 180 143 131 254 188 239 236 137 188 114 304 273 147 259 26 54 204 200 285 124 140 123 299 106 295 13 278 152 84 93 79 66 274 146 245 278 258 223 72 150 178 173 31 40 117 263 233 108 126 97 104 155 245 133 65 79 56 41 244 94 2 142 93 289 126 41 195 135 200 142 200 150 118 156 279 9 267 92 7 106 120 213 169 14 95 21 47 190 32 156 171 230 48 222 50 270 100 261 70 16 250 41 185 80 54 24 275 290 27 218 278 176 152 34 227 71 13 160 208 95 78 172 224 11 158 242 31 273 247 183 68 274 66 263 25 160 88 271 155 148 165 205 248 280 182 128 25 227 266 245 146 303 39 19 99 283 18 46 184 122 240 19 254 53 91 54 27 231 174 251 14 111 103 173 263 194 181 177 28 257 255 105 285 153 143 108 25 67 249 18 141 163 81 282 183 221 254 210 239 118 173 164 184 36 184 117 26 200 284 43 59 113 16 196 156 39 286 296 13 127 160 2 296 281 22 276 139 160 114 64 243 159 88 261 301 190 283 83 172 292 60 211 173 201 303 239 19 256 59 147 298 148 293 130 281 192 38 55 194 133 258 111 236 227 203 3 146 204 113 170 17 71 261 106 53 160 250 165 96 222 41 200 37 116 189 41 254 264 166 246 155 190 211 11 77 49 191 218 52 52 207 69 5 115 265 62 240 139 20 212 54 123 233 296 257 23 81 199 292 2 242 25 31 72 134 285 261 59 248 29 190 224 65 238 29 5 175 59 110 209 286 203 211 139 286 130 95 157 302 205 216 10 215 236 179 77 88 104 202 153 55 258 48 266 80 258 261 186 89 271 3 199 7 229 152 197 12 191 152 253 251 297 144 243 117 153 68 126 283 207 269 151 108 170 130 225 119 51 289 4 214 201 97 255 275 144 131 71 267 44 173 16 60 242 197 230 150 160 26 52 252 114 129 247 263 177 25 101 299 230 38 194 69 225 196 15 22 29 301 180 67 233 260 290 127 302 19 151 150 176 295 179 235 29 264 272 225 42 9 97 44 237 9 75 200 91 301 258 289 105 235 76 215 78 78 275 168 115 277 129 273 56 209 208 30 205 103 173 17 76 19 39 224 141 128 115 97 113 107 238 166 26 12 34 227 134 42 184 9 129 26 32 241 225 118 148 282 93 28 287 227 74 118 132 74 31 98 87 245 163 159 51 257 95 110 203 78 41 228 267 209 203 97 111 292 182 46 109 153 49 234 99 26 99 79 293 304 255 85 282 35 104 294 174 196 110 194 280 117 15 216 213 47 249 43 292 81 280 173 258 151 19 168 207 70 273 27 266 33 67 185 265 198 248 67 161 212 86 43 58 1 54 29 52 177 141 12 222 179 279 108 163 13 191 45 196 55 225 252 215 111 166 100 108 289 295 113 222 167 86 195 76 19 47 203 77 165 106 82 296 245 190 217 98 248 76 115 244 7 46 201 226 62 6 53 93 176 207 115 25 169 119 185 169 241 249 61 88 295 266 262 19 261 105 118 285 162 120 180 256 221 149 278 31 24 236 137 99 52 225 302 260 214 243 150 145 96 174 201 125 298 260 277 200 236 41 98 243 301 202 133 256 100 60 54 50 80 55 43 69 248 173 174 270 223 221 43 297 134 107 165 137 220 126 143 111 88 216 63 245 291 4 163 108 166 57 14 233 5 110 88 223 291 51 198 107 140 235 238 251 158 36 173 190 106 39 117 73 11 204 104 235 214 54 244 271 240 247 8 229 181 87 304 278 25 22 289 50 256 27 102 31 30 180 228 229 196 115 280 200 82 87 182 102 172 2 227 194 276 192 63 266 289 50 4 180 124 92 173 256 154 115 296 55 114 219 168 25 186 31 60 236 21 272 77 51 226 53 99 216 86 287 165 249 18 105 245 157 13 82 157 87 36 212 236 245 135 236 206 198 90 31 25 265 123 52 215 274 291 61 254 303 140 274 124 105 267 229 143 273 98 104 241 227 75 162 6 51 121 257 269 72 65 79 45 266 268 267 86 303 209 120 243 132 244 256 53 16 226 189 85 177 284 183 148 76 43 204 215 201 113 30 46 55 187 67 232 90 299 47 77 162 251 185 246 206 213 151 159 115 8 247 122 24 289 171 29 19 173 153 76 250 97 218 244 6 180 245 289 141 138 33 13 72 7 99 303 180 101 162 274 130 207 63 52 117 32 138 90 121 9 158 39 206 169 159 247 36 291 55 16 155 287 237 112 13 253 147 47 106 79 128 58 20 294 300 114 268 247 164 263 184 45 23 126 297 88 174 297 4 186 50 39 221 263 122 153 53 26 297 167 8 80 243 301 83 219 8 95 275 129 17 289 197 245 200 191 248 260 215 290 112 192 71 184 138 175 24 236 300 248 168 254 266 270 174 2 37 99 22 244 189 74 254 47 176 111 139 147 258 89 147 15 235 196 96 31 231 300 26 269 148 296 192 191 185 31 2 82 290 217 56 117 275 262 89 98 207 7 248 185 135 79 215 165 107 8 73 253 183 191 264 290 128 171 276 66 93 240 158 42 291 238 165 170 115 15 139 51 205 132 282 24 228 89 77 16 291 300 176 240 210 274 17 297 288 179 64 262 283 282 238 256 188 92 57 112 195 217 77 252 155 290 280 120 156 103 221 62 284 288 147 25 181 170 256 43 94 149 227 171 132 281 53 221 194 124 35 90 31 101 41 64 84 147 132 243 272 240 23 288 151 186 274 100 159 268 93 31 7 64 63 131 161 255 244 252 235 235 244 188 221 47 191 57 232 12 135 64 68 294 161 1 50 265 208 47 276 302 179 78 168 267 279 210 120 9 177 219 122 220 112 84 192 108 160 65 19 249 5 171 180 240 258 145 171 304 300 76 75 240 274 100 104 156 283 256 38 196 264 92 141 243 200 14 280 123 96 180 67 184 110 98 110 198 1 20 38 36 44 279 50 238 131 279 31 14 185 198 205 125 109 6 2 113 21 19 94 22 95 113 249 288 36 119 153 100 124 244 170 176 288 90 293 195 89 113 260 32 117 106 120 239 121 48 217 283 35 30 107 117 172 261 230 104 212 263 276 132 114 270 215 161 299 239 223 69 237 144 145 5 304 264 41 239 206 304 224 285 172 95 30 4 143 33 16 106 139 19 40 99 283 121 55 171 192 125 236 122 54 196 143 257 50 140 172 125 28 288 141 142 176 180 260 148 132 303 89 140 91 10 83 68 229 294 101 157 5 42 188 227 265 222 166 58 266 122 40 38 138 71 225 140 157 97 83 230 59 270 130 41 101 277 222 63 212 199 210 278 303 205 244 285 75 281 58 123 298 240 301 224 298 130 203 21 297 31 136 81 179 15 72 294 112 114 81 211 47 38 202 76 202 20 209 235 250 292 241 125 73 236 142 93 254 70 38 139 81 201 289 108 74 197 299 220 61 157 237 239 27 59 288 16 176 39 279 261 130 160 161 178 97 144 154 268 217 149 256 101 31 45 290 154 233 82 249 279 20 27 200 103 50 59 138 3 182 43 109 108 138 215 11 137 226 35 65 116 254 124 228 77 204 274 187 50 103 296 189 38 134 143 280 210 106 263 48 225 288 246 250 151 260 70 113 235 49 259 99 105 239 304 66 288 156 92 51 248 122 75 53 218 171 276 174 179 199 192 53 223 229 180 166 178 136 190 152 214 136 197 95 120 4 120 224 3 165 101 286 20 171 143 192 67 249 224 234 61 280 246 133 81 85 11 292 52 271 192 57 190 173 276 74 1 130 285 171 94 52 98 101 80 265 299 126 13 95 274 175 148 182 145 227 6 210 294 30 170 187 102 6 169 131 5 215 49 62 8 39 155 152 262 281 151 241 175 58 98 54 170 255 234 246 56 141 32 74 129 128 126 159 183 216 69 257 65 301 249 163 112 253 173 98 302 237 119 70 148 68 11 184 89 276 294 50 99 185 62 15 280 59 100 66 102 16 286 100 137 250 33 20 240 69 37 129 285 172 43 51 54 291 294 253 244 253 253 67 17 173 232 85 12 236 34 48 8 186 234 83 234 194 171 126 128 205 189 68 91 166 53 181 74 270 222 173 13 24 239 24 264 135 203 97 238 196 272 287 218 163 107 3 74 116 57 140 114 279 49 271 77 286 230 65 119 221 17 253 171 253 287 274 20 198 51 98 262 213 278 262 34 107 226 183 286 103 216 180 87 27 257 275 207 239 100 251 188 217 82 64 257 80 169 304 185 85 254 209 37 43 234 274 112 226 160 69 79 217 227 226 30 74 152 68 211 166 167 202 125 27 99 131 166 11 273 250 67 50 108 246 198 299 46 101 92 15 188 66 257 142 178 196 65 273 196 259 147 152 203 71 152 49 97 241 204 153 135 53 279 150 8 303 117 118 136 90 263 37 159 193 253 159 123 78 291 228 278 118 143 99 36 151 113 237 2 273 25 185 125 187 123 131 304 43 262 101 200 296 35 171 257 185 207 210 243 38 120 19 83 1 7 235 24 250 259 83 231 247 5 216 286 90 252 31 288 187 187 237 41 221 219 52 104 177 124 87 188 45 44 249 289 119 209 16 58 55 257 227 216 226 53 262 119 286 117 248 235 128 158 265 183 65 71 153 58 71 127 106 222 175 102 166 231 5 181 92 289 249 194 56 52 208 94 16 255 109 59 205 274 166 74 292 60 247 115 24 151 214 250 174 238 206 272 58 219 102 47 125 246 154 260 2 94 294 277 218 110 226 287 207 164 199 192 225 196 298 178 79 228 222 113 245 291 110 201 123 257 65 61 15 234 120 127 172 179 222 97 116 301 10 48 105 50 36 22 171 100 277 139 302 244 48 35 25 7 293 242 82 235 167 238 129 144 8 129 28 219 267 188 230 41 124 117 65 222 121 107 148 45 299 232 111 219 244 156 58 139 148 5 104 130 229 174 304 210 170 210 298 114 212 256 148 67 233 19 47 71 181 222 164 203 156 247 6 108 233 12 146 304 107 156 150 17 108 273 165 168 104 64 188 278 72 77 87 199 181 217 72 93 128 85 47 241 197 69 83 194 240 95 50 110 14 229 125 135 218 248 14 261 302 154 108 75 12 176 213 63 297 245 252 42 85 260 234 65 296 212 118 231 7 120 117 57 287 140 243 288 278 127 124 289 215 184 85 40 187 156 240 167 154 93 100 230 221 72 242 264 89 163 97 101 115 153 11 98 198 158 259 98 11 169 82 54 68 34 80 198 169 35 276 206 65 54 254 82 108 222 232 283 198 179 283 113 92 182 84 202 40 301 26 255 79 258 302 148 6 12 205 154 155 97 247 201 246 68 44 222 221 48 91 200 123 45 98 180 11 221 252 3 118 178 100 28 153 21 167 62 141 64 300 82 153 97 14 152 242 268 166 275 192 224 11 4 25 77 187 207 16 271 163 148 140 135 50 173 269 92 184 46 144 262 194 221 149 109 270 266 170 20 216 204 62 171 293 74 117 42 166 273 247 134 212 173 25 145 213 10 248 182 118 275 187 298 41 69 127 74 167 112 12 70 167 203 227 273 118 221 159 73 107 74 291 147 164 180 235 180 100 148 196 246 178 147 44 33 170 77 166 149 303 240 89 97 2 4 97 80 302 221 21 198 19 124 30 173 303 56 211 66 130 158 208 100 100 147 161 124 24 141 236 119 104 67 233 5 134 117 124 294 196 83 37 110 91 225 230 207 203 279 11 268 195 160 284 205 144 112 120 118 195 224 57 8 237 250 111 244 50 157 76 78 267 252 105 251 187 33 52 76 261 296 238 248 149 118 131 30 273 101 30 123 41 62 173 230 23 223 49 215 79 241 269 179 179 148 303 2 136 178 239 80 173 213 191 192 190 153 44 47 14 97 150 241 226 291 263 75 228 221 56 239 213 43 300 142 251 215 19 160 58 256 218 197 221 164 253 172 168 71 185 159 101 31 295 208 170 231 289 189 259 211 192 209 277 96 49 288 247 209 94 20 282 275 83 234 73 52 142 278 171 47 209 46 76 195 176 47 5 295 264 1 66 110 107 205 199 143 145 109 292 110 185 238 56 297 216 170 237 240 232 193 74 52 244 137 43 127 114 218 209 244 273 94 259 89 229 250 184 296 238 264 48 173 81 284 9 266 186 294 54 34 6 212 203 35 267 197 278 212 195 84 7 256 294 178 42 38 111 47 195 101 184 257 158 232 142 234 248 176 130 257 249 100 139 224 283 139 163 16 138 108 51 224 239 36 52 174 303 93 129 129 280 304 268 172 204 24 141 304 68 228 209 105 149 52 71 179 121 206 266 30 21 120 83 63 117 272 57 59 32 62 164 131 34 189 83 250 40 97 51 111 167 43 184 43 125 222 57 107 56 242 236 266 277 217 164 88 222 88 109 213 17 34 131 188 104 174 163 219 293 192 227 88 101 162 143 237 161 173 240 46 110 226 144 280 84 250 298 70 192 54 217 46 221 238 203 148 58 146 160 7 43 200 31 126 176 184 46 46 301 295 111 175 209 300 5 153 303 245 140 50 304 226 234 177 17 54 159 203 49 95 183 260 143 59 76 89 176 7 88 255 8 214 179 38 52 216 196 113 84 244 234 56 286 240 265 120 204 91 274 284 237 126 216 146 175 237 5 191 91 212 230 118 272 19 108 14 24 253 89 8 119 109 268 228 255 282 196 37 31 254 52 20 59 121 182 158 254 279 121 290 34 203 284 46 180 12 38 135 32 216 141 297 164 187 7 252 294 185 203 253 213 209 152 229 184 202 104 91 287 42 2 153 4 179 37 192 61 168 54 262 287 44 183 269 224 25 44 287 208 56 253 301 97 32 102 173 267 255 89 271 201 272 201 30 33 102 53 286 253 236 263 96 278 288 74 99 221 13 262 184 215 294 226 260 240 249 300 166 22 267 37 133 177 22 270 90 116 270 203 208 220 47 197 285 295 17 300 277 141 26 90 169 135 78 32 9 263 251 161 87 166 219 133 24 190 177 198 29 255 300 126 259 80 276 293 121 32 283 304 288 175 222 133 7 304 152 139 269 94 223 272 157 76 132 167 100 169 74 103 142 295 13 37 27 75 139 45 62 85 36 55 147 121 193 58 57 154 98 127 255 162 213 83 91 196 227 284 178 112 188 114 32 14 45 10 115 69 270 160 19 44 3 157 157 35 271 183 209 261 97 182 215 296 286 43 296 159 155 91 86 303 63 32 27 215 230 215 267 138 104 186 62 23 174 180 160 180 257 69 150 245 207 14 12 252 271 243 172 180 222 88 47 282 296 284 111 46 298 84 256 255 110 228 298 232 171 283 89 229 274 237 188 298 25 227 138 168 123 171 236 101 65 142 13 207 55 68 181 256 197 166 160 286 287 159 71 103 74 145 56 302 145 152 300 213 151 132 101 107 263 303 194 156 76 4 18 236 298 70 185 216 52 52 293 211 291 192 170 8 72 295 257 14 206 276 273 36 298 219 173 27 57 265 170 297 93 9 1 41 121 25 37 119 303 221 258 69 261 139 182 98 9 144 19 217 83 124 62 20 20 168 208 11 81 109 298 146 45 150 162 15 227 16 92 23 137 54 152 59 13 35 178 304 150 108 130 122 183 29 211 151 45 179 101 285 277 274 288 89 277 4 280 11 71 289 130 112 28 142 248 48 225 157 21 187 270 258 249 118 169 131 74 73 219 280 36 246 190 123 278 8 296 103 23 105 32 131 8 251 183 201 117 90 177 258 73 266 82 249 33 84 147 16 208 128 288 87 250 127 152 89 258 150 257 67 247 236 4 31 161 106 56 222 102 259 1 128 266 44 236 280 200 37 124 81 158 100 194 260 101 180 263 188 250 146 237 4 286 46 1 193 84 139 297 188 117 187 84 248 244 189 107 192 124 121 152 281 167 92 191 248 200 240 250 173 301 233 77 285 172 125 177 226 50 86 130 141 283 275 272 199 28 165 139 270 134 75 298 55 160 102 147 217 191 78 217 158 259 56 150 21 289 230 139 224 125 7 31 250 132 157 283 191 226 266 254 148 162 28 188 142 180 31 160 225 272 303 257 198 100 165 103 258 282 295 304 148 287 44 78 269 285 151 222 253 2 30 95 36 170 235 195 140 31 304 263 243 160 65 114 141 152 118 231 95 216 16 86 215 222 162 270 230 4 147 79 258 215 183 86 202 248 209 176 183 152 153 143 172 117 232 170 169 259 262 151 79 61 241 204 138 235 178 187 234 70 85 112 270 278 234 83 45 140 140 36 37 271 208 145 193 219 138 85 22 142 277 87 10 164 99 69 184 109 101 23 289 73 34 143 118 291 48 139 13 268 118 71 124 106 212 154 255 190 170 260 137 301 158 113 202 192 172 265 224 155 255 117 77 215 21 113 249 47 234 15 252 262 243 216 297 71 231 166 227 238 152 230 24 22 222 105 219 137 245 21 260 222 250 65 43 177 130 163 58 16 3 23 42 14 57 252 297 53 229 181 245 131 251 15 293 33 271 241 4 231 223 36 212 233 51 188 228 197 147 29 104 204 145 244 18 275 53 221 143 95 177 16 97 269 254 186 209 22 73 27 60 127 98 21 256 124 214 56 301 207 168 221 302 102 229 83 200 188 224 294 228 82 134 77 258 209 232 98 284 171 87 302 199 180 221 231 171 201 5 176 8 51 96 283 5 105 82 265 170 277 76 212 41 64 129 60 270 215 293 229 170 119 13 190 303 174 187 131 107 300 81 50 46 42 195 286 130 193 142 49 101 264 50 88 19 164 230 297 67 18 159 195 143 21 64 250 261 192 164 45 215 24 17 77 175 36 215 53 254 280 170 63 45 184 208 27 88 67 159 50 166 109 107 99 216 61 198 154 292 40 203 166 75 295 191 234 245 92 301 298 196 60 15 91 126 189 20 204 106 304 267 91 152 217 210 146 74 222 292 260 278 147 23 285 262 245 194 267 267 67 16 16 198 156 91 7 206 70 225 32 66 242 215 69 157 290 20 129 304 107 272 86 26 150 82 163 30 93 235 274 29 233 227 233 205 268 216 1 13 141 192 290 90 118 74 181 130 95 10 168 43 92 70 195 241 48 84 246 265 71 122 170 200 73 163 51 136 293 197 188 55 103 302 180 93 240 32 55 69 18 201 99 257 209 159 73 171 173 71 182 254 132 112 218 27 19 146 127 75 200 50 238 71 226 221 93 116 1 201 117 170 209 168 79 67 122 205 51 36 150 248 115 103 3 66 7 72 291 55 70 254 233 174 288 8 9 272 220 63 122 97 270 182 121 270 29 125 202 145 108 120 221 287 32 178 49 190 187 224 271 29 291 171 75 23 108 143 107 64 267 275 146 139 46 98 64 171 233 111 259 108 105 205 77 67 80 108 263 273 267 26 145 169 27 296 84 219 45 131 40 222 203 248 25 8 157 30 245 32 183 142 243 93 129 185 106 207 84 95 177 77 218 46 170 108 302 10 235 279 27 70 116 85 17 154 140 153 244 210 298 55 14 222 175 145 79 207 15 110 126 75 39 146 34 222 27 31 91 153 206 97 44 207 100 65 214 234 15 244 220 178 206 88 207 16 278 182 194 135 293 122 136 207 225 146 4 228 103 169 194 20 181 284 241 267 213 140 132 232 297 269 274 91 171 45 94 151 17 206 135 162 191 78 161 302 181 298 24 83 53 186 22 164 256 42 2 149 151 302 293 284 226 217 139 247 85 77 299 277 263 75 164 128 29 214 246 118 281 84 281 272 202 292 104 236 210 90 34 77 300 8 165 218 225 199 28 154 296 244 127 8 296 151 48 220 113 179 279 20 287 194 12 256 121 154 275 173 298 45 284 221 185 160 263 91 215 25 256 299 255 19 52 142 285 121 127 304 294 101 178 242 68 86 82 301 155 116 298 227 245 144 276 219 39 64 24 157 168 131 227 41 58 296 40 292 157 107 203 109 255 219 266 61 184 262 44 25 96 96 148 49 231 229 231 261 215 12 34 99 106 96 218 206 48 288 10 184 196 153 170 189 279 297 17 20 43 286 32 215 184 100 284 156 126 169 151 201 38 216 77 276 273 109 48 57 186 224 100 261 187 227 231 128 96 186 129 90 21 212 285 293 212 101 184 192 94 118 217 54 181 185 220 248 27 256 105 163 272 50 44 26 40 27 1 101 251 257 16 276 253 226 12 271 102 278 260 248 188 108 99 30 191 146 181 282 140 80 251 239 19 259 107 229 284 220 214 236 268 180 197 62 242 197 275 145 258 29 275 266 291 75 75 208 256 262 20 132 5 183 28 29 91 283 286 24 107 223 31 135 71 201 210 191 205 281 42 260 104 261 82 170 218 149 253 93 266 108 28 203 212 125 30 13 86 64 133 175 66 97 104 156 96 29 10 289 124 124 32 112 160 193 187 134 119 265 154 291 164 283 289 10 103 290 296 11 46 292 16 88 137 118 127 189 272 211 167 91 102 292 103 303 33 278 208 36 9 256 93 177 286 65 151 25 282 246 296 167 263 55 231 218 79 54 173 283 102 115 9 214 205 39 261 92 110 160 105 58 35 146 249 226 24 55 101 297 144 27 63 239 32 252 186 7 215 274 161 110 252 279 115 226 286 125 11 121 194 274 232 273 124 114 239 142 188 107 239 215 223 141 184 234 214 199 62 206 48 292 238 6 138 131 237 151 74 84 24 207 237 183 139 256 64 111 119 73 64 132 219 117 127 29 146 105 237 197 105 40 115 149 125 199 27 129 174 86 70 138 302 156 13 248 145 142 190 62 152 53 264 288 201 80 198 37 289 59 24 102 79 104 198 144 292 78 67 91 273 123 122 96 26 73 260 42 167 202 127 283 118 26 197 273 19 91 213 236 69 137 14 131 51 16 42 221 115 227 202 274 180 202 250 201 149 180 213 240 188 90 167 162 134 67 34 172 260 26 299 162 66 159 72 175 166 273 164 176 27 248 202 174 94 257 241 117 74 149 7 178 47 36 107 296 101 139 100 104 283 191 258 241 19 288 274 230 241 8 304 148 71 71 298 274 172 194 110 297 123 304 15 135 160 302 208 236 158 230 209 265 282 75 122 298 172 127 258 55 57 271 164 53 215 257 95 27 164 163 238 67 43 169 2 292 303 254 174 226 266 261 195 217 148 256 24 46 172 103 36 166 144 121 57 13 235 284 283 218 296 22 196 31 154 301 113 37 297 180 122 18 271 288 297 29 28 50 230 1 158 173 250 206 272 151 263 241 261 145 165 176 290 30 292 5 301 181 23 125 197 141 208 164 123 263 121 290 215 180 36 136 137 54 231 16 71 100 52 154 218 267 1 135 33 36 133 216 127 45 285 66 143 126 255 274 113 187 227 235 93 271 185 239 254 139 195 91 92 25 151 151 99 166 281 286 234 149 79 145 232 186 15 142 145 113 116 258 140 204 148 91 122 72 132 239 245 302 171 51 153 162 134 274 240 151 101 138 99 229 36 210 163 66 242 284 144 56 92 118 83 50 205 116 178 18 281 251 85 112 252 55 302 208 148 272 44 292 87 4 106 158 74 284 29 193 78 99 213 147 283 116 109 253 252 222 130 193 26 174 304 71 102 301 54 113 166 285 215 123 300 298 61 157 279 256 157 13 92 116 197 303 22 92 112 170 122 166 81 267 40 18 97 8 90 271 252 62 79 142 61 128 223 211 304 303 266 129 228 187 74 189 223 205 241 186 274 102 9 265 73 242 292 262 280 234 45 54 67 73 219 39 224 65 14 232 204 147 105 180 13 161 74 37 33 25 281 49 213 110 124 14 48 213 202 213 163 279 136 298 143 275 259 62 48 87 129 58 197 228 182 280 51 304 245 94 120 218 240 152 272 86 224 299 78 154 207 159 237 230 98 38 112 53 64 164 71 162 115 243 144 257 104 260 112 36 134 52 248 218 220 58 133 26 27 64 86 102 21 143 165 120 249 298 73 280 121 206 166 90 156 144 115 33 263 168 72 133 143 122 251 62 36 5 226 130 294 38 63 110 205 146 108 86 32 284 178 12 28 203 7 174 189 38 5 104 187 239 237 62 154 58 178 17 26 103 242 120 82 17 27 74 240 207 186 299 211 219 168 214 16 189 222 83 263 91 49 276 219 201 253 124 7 131 231 187 61 74 13 301 141 96 34 189 59 100 84 38 122 50 106 154 55 53 102 11 283 269 200 76 140 282 127 178 122 250 209 156 154 139 209 10 205 186 118 221 92 210 255 154 304 66 45 68 120 116 78 15 162 264 26 272 290 183 233 84 283 125 225 198 10 191 215 178 227 303 159 192 253 61 302 215 229 286 249 217 67 67 63 242 222 257 83 200 156 264 146 274 134 22 86 136 256 77 118 49 243 266 225 26 50 125 6 185 27 273 66 209 215 242 300 263 181 74 173 174 224 292 289 203 126 267 203 164 212 233 5 282 172 147 89 10 257 61 291 60 88 69 290 40 267 249 158 147 33 278 103 115 280 164 139 48 278 183 192 64 161 76 179 276 289 64 49 212 12 7 206 268 59 261 108 137 168 65 116 279 139 159 169 39 180 67 153 14 3 206 263 134 1 113 73 116 100 205 218 52 222 195 8 202 263 43 264 304 282 136 120 170 76 203 143 226 182 204 13 176 218 210 181 251 85 107 76 210 102 194 213 50 221 267 153 262 114 217 14 220 84 176 91 249 55 222 222 71 252 200 155 223 64 113 194 259 63 283 272 279 298 50 37 116 198 13 233 104 174 301 91 92 250 234 2 204 38 281 77 222 71 204 21 271 55 90 152 219 177 304 39 232 125 14 73 122 49 17 37 2 231 139 213 8 300 18 264 274 237 112 194 101 40 185 68 143 269 220 233 51 5 159 63 7 237 163 154 247 297 203 200 159 185 94 78 32 275 241 34 91 34 132 33 52 34 43 51 38 172 272 274 85 293 185 150 166 223 111 295 133 95 279 267 105 112 255 22 158 98 298 223 55 8 151 62 189 104 142 80 248 56 21 194 143 51 123 216 81 282 101 301 156 28 23 230 115 116 92 115 270 222 167 4 90 143 179 249 247 263 142 281 112 270 60 275 107 6 170 45 228 302 157 64 292 159 135 24 200 53 224 56 105 225 61 202 116 289 60 38 100 174 82 259 270 37 88 99 133 172 119 18 12 150 20 250 13 141 173 46 39 165 57 193 28 226 198 15 244 56 267 250 44 252 149 220 219 197 108 162 45 90 153 178 57 57 259 275 60 224 159 128 215 165 249 128 260 275 46 244 43 154 184 208 296 277 302 141 186 89 299 125 155 140 76 172 176 200 73 184 14 69 87 12 272 107 216 245 186 147 225 185 194 90 269 189 245 279 55 51 106 11 88 203 93 41 145 83 265 26 299 45 208 62 292 156 62 83 278 61 280 171 261 295 219 92 89 170 57 232 254 242 203 111 179 38 134 17 91 51 133 297 174 19 63 21 131 106 61 102 146 151 133 144 31 65 247 233 29 167 225 145 175 142 162 220 151 285 19 111 204 173 62 229 286 179 153 231 206 138 153 188 303 127 224 87 4 171 154 134 272 32 145 258 229 268 90 119 187 144 154 27 59 153 179 235 29 53 100 48 215 187 231 188 187 65 236 173 129 279 246 291 246 282 218 156 151 30 4 160 125 297 79 245 208 287 193 229 250 48 288 210 9 265 269 143 264 14 267 161 296 227 204 191 178 194 130 120 18 9 148 80 130 263 100 258 11 128 104 121 169 29 283 54 139 247 108 285 197 35 215 182 198 22 172 102 211 297 159 91 48 85 268 48 249 107 121 203 181 105 102 247 158 143 174 264 189 128 69 143 235 192 273 149 162 120 191 303 101 121 278 81 27 113 134 193 99 165 85 162 159 207 114 119 1 62 81 237 142 117 274 11 180 302 122 13 299 131 238 67 230 126 217 64 27 273 140 119 139 213 166 244 235 78 240 292 142 297 113 231 124 49 86 77 14 140 57 269 199 87 170 263 275 201 291 25 202 279 255 69 55 116 232 247 267 296 280 230 213 253 244 127 236 251 123 92 108 238 286 274 90 78 294 53 91 160 44 64 248 6 56 57 56 188 225 182 201 102 88 80 92 280 201 64 49 158 257 144 41 75 287 60 200 1 175 214 62 128 23 84 21 83 20 169 116 69 262 144 90 137 124 219 130 271 49 95 25 127 83 60 297 87 189 261 125 229 131 153 225 76 120 54 130 86 51 75 86 186 196 15 30 35 207 7 8 102 99 227 24 239 283 240 245 118 278 94 52 166 46 125 125 18 214 122 79 257 187 235 159 131 72 73 229 195 110 169 73 143 15 42 118 131 184 50 275 228 141 77 235 251 233 89 242 273 200 63 69 215 187 264 123 21 52 75 276 50 83 176 188 73 228 267 163 89 150 118 161 150 184 44 58 87 240 195 61 239 26 300 21 17 66 203 237 66 162 54 83 243 84 3 198 38 170 231 37 66 145 222 222 253 167 281 39 268 152 120 204 159 179 275 267 101 296 151 37 263 104 186 273 249 114 82 215 220 112 80 49 297 163 103 141 135 276 108 62 124 222 268 1 39 280 131 23 130 242 57 285 127 9 16 84 249 49 200 81 4 96 259 50 235 256 83 197 67 93 120 52 49 183 123 111 52 247 280 130 184 30 49 202 30 97 240 110 218 301 32 153 192 229 146 19 138 123 143 75 72 50 111 240 201 261 228 251 209 240 32 84 64 119 117 276 114 90 117 60 230 89 274 255 25 284 281 213 276 101 84 74 208 227 22 197 235 257 95 291 112 194 226 23 170 256 276 190 191 203 33 122 136 167 15 128 129 59 5 225 217 131 216 145 34 255 60 124 228 253 185 64 212 64 21 151 61 294 186 58 167 298 115 295 187 11 46 154 126 224 66 198 98 135 117 19 62 287 6 221 175 105 156 94 48 111 104 128 96 230 272 263 248 205 91 183 239 284 7 114 4 264 155 107 37 90 81 7 271 94 182 26 198 234 148 98 296 63 285 188 243 216 115 205 172 82 93 167 148 200 262 134 183 61 193 258 182 141 213 156 188 2 279 109 125 10 140 86 101 151 256 229 147 15 162 214 216 124 257 57 295 121 129 57 62 97 283 256 189 279 127 30 73 245 68 3 154 101 7 125 204 261 225 19 302 118 93 118 201 105 201 57 256 207 181 193 259 52 25 170 200 284 198 270 99 217 150 80 101 120 239 273 8 151 261 261 140 189 269 194 234 15 49 42 128 26 94 8 186 143 255 33 181 166 253 225 203 140 191 110 209 30 32 199 2 138 229 181 194 188 259 14 163 45 237 171 294 147 178 78 243 282 105 13 160 133 60 295 162 264 281 73 199 84 145 78 274 122 14 102 93 295 275 104 68 1 272 178 93 186 183 241 220 224 300 287 218 98 48 14 203 161 132 108 255 166 110 175 274 299 271 173 36 247 215 155 177 167 128 95 224 236 130 288 263 270 268 132 292 205 71 96 248 50 28 75 126 148 175 247 120 130 74 214 271 115 125 92 160 205 52 136 8 236 66 232 27 226 239 144 304 12 247 148 111 80 145 186 101 268 63 141 47 121 254 27 189 255 66 138 258 228 92 233 170 64 271 12 199 77 90 44 188 226 38 127 2 124 132 297 62 302 70 179 49 252 12 251 9 281 201 202 260 28 293 84 194 130 125 271 298 7 102 229 85 259 99 276 202 77 238 260 55 172 126 162 225 96 5 162 230 255 255 238 169 217 37 15 18 28 7 146 52 274 249 34 215 7 43 171 78 47 193 293 281 137 129 272 167 275 78 61 7 161 26 78 6 202 203 249 124 87 286 285 82 129 178 297 129 281 265 202 124 72 199 296 238 301 293 72 77 36 110 273 124 66 116 273 3 143 1 293 154 296 195 264 270 126 149 265 139 15 159 251 277 134 77 178 163 105 187 132 57 126 296 59 211 169 2 257 112 36 118 130 303 223 134 63 67 188 224 200 79 239 149 144 12 232 232 26 72 254 169 174 251 65 98 101 242 269 13 211 64 56 20 302 218 300 22 3 114 52 202 74 285 271 271 152 130 38 298 126 76 58 182 67 253 15 139 199 203 137 233 31 233 62 7 295 71 36 66 242 234 183 228 144 8 19 154 265 69 14 191 110 298 132 181 156 195 142 263 9 27 4 165 278 38 269 171 220 92 303 281 122 211 124 27 111 192 8 96 169 18 92 162 301 151 208 267 236 215 209 273 116 197 281 224 24 224 170 189 60 64 191 113 128 91 182 236 267 266 202 1 149 246 77 150 210 31 293 194 157 254 295 139 56 96 124 143 293 198 31 294 243 221 262 276 55 162 61 295 238 229 55 68 183 169 179 270 211 70 48 106 48 66 17 57 53 122 228 78 232 14 212 278 154 295 156 216 109 51 7 10 194 57 74 125 278 266 220 30 297 234 244 292 182 115 168 94 25 232 294 109 129 259 154 102 172 121 107 272 148 76 44 151 237 257 216 190 35 281 153 29 264 122 96 152 144 190 114 13 163 252 244 181 106 209 200 254 212 183 82 276 159 134 104 89 238 223 241 34 208 29 40 138 237 281 1 70 147 200 83 173 4 126 153 24 35 301 126 121 88 246 249 7 22 15 172 238 52 292 172 217 242 141 275 251 174 283 8 84 34 31 202 170 61 256 183 145 87 295 217 17 115 275 129 120 164 163 188 84 63 222 221 301 116 220 235 65 180 56 237 120 3 142 127 288 40 213 197 157 81 123 168 273 199 48 198 225 188 187 9 170 9 288 20 27 28 9 164 157 68 130 5 134 151 238 290 35 185 115 83 223 163 189 85 134 220 13 172 106 30 84 285 235 268 36 165 225 18 124 197 155 72 137 28 131 9 107 66 83 215 257 221 187 229 174 14 234 7 164 177 79 266 262 44 184 146 57 226 200 205 152 237 95 173 185 71 192 160 56 139 210 29 199 277 204 80 177 183 48 135 36 37 214 75 119 278 253 36 244 119 187 261 171 159 92 182 163 264 209 186 203 141 82 287 69 267 153 297 56 155 177 234 295 286 261 217 262 190 77 90 214 24 286 240 162 98 249 206 274 104 246 141 238 112 272 190 201 95 236 54 48 278 82 296 220 60 300 32 154 262 159 3 120 245 168 191 120 184 3 137 58 165 75 108 271 304 72 263 40 271 32 20 40 74 145 143 43 158 173 166 33 176 59 304 89 187 181 47 182 92 225 158 9 103 45 294 6 214 1 60 114 132 244 35 283 168 184 14 266 96 95 43 89 141 66 85 136 204 28 264 169 221 206 124 277 23 88 112 62 263 53 252 30 77 203 131 56 233 108 41 226 97 143 91 141 115 108 137 156 148 124 17 130 299 213 68 302 78 7 34 8 176 235 186 222 238 284 58 17 143 255 65 18 257 254 295 155 19 22 129 41 20 59 299 98 22 60 36 84 14 57 166 242 266 164 118 78 236 68 206 99 155 217 281 100 225 295 84 263 247 174 252 217 68 155 272 28 9 205 130 6 140 204 52 72 172 104 203 133 280 122 182 116 60 175 129 50 293 281 188 296 17 247 156 187 133 133 157 158 48 74 190 250 62 159 2 122 82 56 189 89 281 176 32 152 194 148 247 216 142 194 56 221 271 168 156 28 94 76 296 191 242 198 171 169 191 304 128 275 175 150 140 106 35 76 197 67 263 12 203 288 247 259 175 34 298 263 125 67 157 171 261 187 188 8 201 102 144 265 219 290 130 80 175 214 244 46 186 72 38 113 73 196 297 252 93 253 260 58 87 71 164 40 214 115 79 14 67 262 240 105 103 43 185 280 31 44 71 149 297 174 146 93 67 232 159 19 133 252 195 253 73 263 118 212 157 65 233 60 201 118 134 244 43 212 25 287 291 60 192 165 44 48 37 179 204 252 213 51 151 211 106 232 188 265 139 230 38 213 197 72 272 2 92 28 164 224 94 67 73 29 277 47 293 110 96 72 198 145 218 187 93 90 167 160 291 192 225 223 126 1 214 11 235 23 119 110 31 221 71 244 39 188 62 99 140 276 251 115 47 5 249 226 2 137 58 18 7 25 27 246 191 158 244 232 71 5 283 293 298 177 235 33 229 186 282 110 254 37 53 79 264 269 299 215 43 219 146 302 273 265 98 270 49 181 17 53 238 248 93 27 224 45 140 286 38 145 142 77 56 170 95 144 250 24 91 202 8 45 15 237 15 157 203 158 114 64 277 272 182 64 162 205 51 129 212 189 76 81 127 82 137 296 6 15 52 91 50 129 197 245 80 62 64 201 136 188 134 56 162 193 67 231 221 99 239 30 244 281 115 157 234 302 194 24 16 43 156 101 63 257 76 59 59 11 214 197 30 7 217 21 265 58 133 36 293 173 48 127 76 117 67 119 155 35 174 117 253 11 141 257 265 202 283 3 61 16 254 141 240 274 295 64 214 50 259 36 38 274 27 25 274 76 159 93 90 111 182 3 89 130 192 294 139 235 128 167 12 215 58 73 196 265 83 250 111 197 235 237 240 4 89 151 189 148 177 39 270 78 60 175 202 72 159 230 285 80 286 219 296 300 255 31 83 239 114 3 40 301 225 74 153 173 251 14 249 78 99 291 277 10 296 25 21 85 229 293 29 296 7 225 100 113 210 304 12 134 235 124 32 224 136 299 127 19 263 95 156 275 283 125 45 131 151 47 86 137 243 132 9 43 181 151 62 240 54 34 8 266 282 47 30 102 216 3 116 223 238 227 300 270 20 121 15 165 273 277 32 278 264 174 255 228 144 27 25 200 240 237 164 268 303 221 136 61 43 99 155 47 159 114 209 207 168 224 220 1 87 16 69 136 203 105 256 96 191 213 18 241 237 108 52 266 183 219 65 119 27 267 98 162 294 283 225 238 159 68 137 195 282 17 282 25 141 291 228 80 192 225 84 14 218 18 74 231 274 95 91 181 182 269 71 39 215 93 162 72 278 133 40 257 207 7 142 17 57 130 40 37 179 44 128 257 57 209 236 247 238 291 217 278 212 63 121 152 54 272 165 23 9 155 188 4 87 152 204 301 83 235 290 265 137 286 206 291 176 217 74 28 287 288 255 221 220 37 222 67 111 24 279 265 283 50 212 240 216 220 163 95 109 277 256 287 270 104 162 188 259 89 277 74 65 50 278 78 256 160 104 60 3 136 238 30 288 162 189 77 62 76 269 198 190 142 286 50 144 154 155 190 30 248 58 57 177 188 42 281 286 129 238 111 265 45 209 242 154 132 142 207 79 66 251 123 30 133 91 221 192 180 104 239 77 181 209 114 210 43 223 122 33 9 217 82 60 286 87 284 195 168 260 121 260 51 78 104 90 192 55 101 229 44 117 294 301 234 27 114 51 145 27 40 264 12 19 294 37 164 88 237 162 231 255 202 214 227 93 166 203 215 186 244 244 8 301 54 195 216 279 79 277 186 178 39 102 171 83 277 278 192 271 213 272 181 257 178 195 218 256 11 195 237 245 93 285 27 166 140 171 105 244 229 186 200 228 241 271 217 56 26 130 150 82 2 304 21 12 168 181 60 167 293 126 206 296 267 173 219 77 200 195 134 24 302 13 128 89 226 79 265 68 10 178 73 165 85 237 33 190 189 169 293 214 147 161 165 156 94 124 40 296 3 159 112 36 95 279 72 154 177 90 153 215 46 142 137 224 178 242 120 21 83 147 3 27 75 146 254 222 267 159 40 123 301 281 251 5 53 147 151 200 168 295 297 130 177 59 279 231 123 201 217 127 97 270 294 277 138 288 92 169 184 170 265 181 300 142 34 302 251 246 12 64 132 290 98 234 245 278 267 50 95 20 74 35 128 79 172 301 170 178 182 124 256 206 197 197 178 301 46 204 203 136 278 153 286 155 38 159 275 131 270 31 235 106 216 176 9 294 280 4 36 118 207 268 56 185 178 238 72 61 280 9 175 51 57 295 274 262 147 137 284 45 169 278 136 192 180 120 195 65 261 90 212 247 27 275 195 227 218 63 168 278 30 253 92 225 288 9 48 258 136 156 2 48 256 266 238 28 300 285 152 143 161 151 28 216 28 213 78 278 2 108 181 22 10 112 272 134 121 226 151 14 255 231 117 159 40 113 254 96 235 21 50 92 254 291 118 72 219 23 95 19 169 270 269 160 176 119 85 235 282 35 39 273 78 302 71 151 33 7 79 59 27 298 187 113 148 132 81 186 250 7 69 130 37 86 2 195 293 289 68 269 176 162 140 114 41 32 29 225 87 190 94 83 212 145 170 177 31 31 195 2 155 82 194 58 178 256 227 146 264 240 294 41 22 123 94 294 256 82 199 188 127 304 263 140 106 32 77 109 262 149 67 282 68 302 233 124 121 89 226 33 162 114 243 198 108 224 140 156 229 15 272 262 22 129 52 148 93 258 81 93 4 284 61 201 64 111 61 274 129 7 214 136 83 95 194 178 1 91 98 149 5 74 182 191 173 76 172 24 171 125 138 293 146 243 185 243 144 279 129 83 178 179 279 167 249 1 163 88 34 37 88 191 186 248 145 185 267 64 5 113 55 27 207 237 58 74 293 9 229 124 110 208 273 204 129 287 89 15 176 130 38 19 181 293 29 61 178 274 257 150 113 272 76 192 135 167 175 275 220 195 87 84 278 85 196 70 197 10 15 275 116 158 254 86 128 279 217 287 6 27 149 251 286 23 240 124 245 101 212 264 251 73 108 230 223 15 194 251 127 42 60 264 136 272 216 231 89 94 282 57 40 298 96 84 174 26 258 65 176 225 10 87 277 18 209 26 256 224 253 215 39 164 143 84 230 8 270 164 116 168 238 11 134 41 221 216 51 172 92 254 220 29 175 38 70 90 91 182 11 24 139 70 7 63 166 275 188 293 125 204 277 272 103 147 242 142 7 55 295 267 251 155 85 260 212 133 88 15 229 300 241 220 272 65 201 46 8 92 160 229 32 142 247 237 22 152 264 164 5 155 156 85 63 81 88 205 40 94 139 254 185 43 3 35 86 163 69 144 197 39 35 186 16 210 94 217 164 177 124 295 133 297 80 303 253 94 78 34 203 33 239 27 300 202 172 12 128 183 23 16 164 278 45 261 149 12 204 188 127 138 171 225 127 52 120 286 215 223 30 176 113 66 12 126 18 43 6 211 102 4 113 280 164 163 28 20 109 186 212 89 268 265 283 155 187 63 258 22 236 180 77 164 296 56 88 110 262 238 100 260 135 250 246 243 13 208 80 123 223 90 28 26 88 284 72 67 221 61 219 220 35 58 134 171 223 31 272 302 168 250 145 70 96 100 300 276 222 300 54 7 168 140 91 69 229 261 40 211 55 195 159 48 279 174 196 126 293 182 207 152 197 199 54 140 110 229 233 202 43 135 82 131 151 150 131 281 270 49 124 16 179 26 270 90 244 158 301 182 68 50 178 88 167 259 297 185 70 119 265 2 283 52 125 243 92 224 6 300 175 153 204 192 18 102 300 27 33 102 52 116 65 247 114 54 168 89 280 278 160 130 231 67 83 210 284 133 49 10 219 47 34 146 150 182 293 171 217 47 41 17 86 143 170 52 44 228 120 224 229 109 284 207 245 147 4 33 206 97 147 14 263 159 275 139 288 22 26 106 35 76 145 151 134 88 51 18 160 186 100 98 81 168 74 228 188 233 155 258 146 118 97 290 192 281 89 104 70 87 217 106 134 112 247 23 302 176 254 271 42 172 251 295 151 72 64 155 181 40 70 185 58 11 161 253 198 235 244 261 234 181 278 217 204 155 274 282 78 180 20 173 152 175 122 230 242 115 117 32 212 204 238 82 170 274 229 182 83 70 62 291 231 303 276 186 262 125 157 215 111 281 236 11 172 90 33 91 45 54 298 171 205 292 10 4 220 69 134 95 16 196 70 19 88 175 242 171 146 274 297 188 289 104 51 38 34 281 132 18 52 38 149 197 1 167 262 61 20 19 89 301 85 192 199 237 190 50 156 287 188 188 102 266 173 159 219 233 134 53 215 164 155 215 28 265 187 111 211 34 102 124 270 26 216 198 207 266 259 179 117 113 36 194 222 246 279 198 47 69 304 11 136 26 6 240 4 99 260 157 160 102 304 300 21 25 4 221 132 223 278 58 265 24 123 205 298 278 278 119 111 33 304 264 43 75 225 107 191 56 27 213 81 288 249 161 85 131 109 23 222 51 198 133 246 54 8 48 204 2 301 223 289 228 14 140 148 190 149 162 171 97 247 291 35 89 76 29 120 107 200 173 158 243 190 264 137 114 290 147 50 303 13 283 188 119 220 259 212 236 195 298 68 219 132 67 21 200 184 286 163 135 151 97 27 108 242 170 97 198 20 158 180 209 87 12 46 238 148 35 115 252 260 204 245 41 225 24 107 179 149 166 293 29 94 224 277 191 296 206 171 231 233 50 204 139 259 1 96 36 81 50 283 93 100 74 210 72 293 303 41 84 300 195 158 58 265 112 52 220 50 126 34 3 179 122 174 180 44 287 233 175 235 298 12 126 64 111 217 132 51 129 241 270 43 31 188 131 66 106 230 71 74 30 99 65 190 273 58 18 13 234 273 20 123 17 214 130 206 117 284 173 31 127 195 56 235 14 281 103 116 99 58 91 28 229 182 279 135 87 301 287 242 237 111 148 107 129 126 184 244 163 241 94 252 9 223 249 85 58 50 199 185 280 19 91 265 104 233 36 192 75 176 184 206 231 80 18 146 103 57 276 26 5 289 29 86 17 48 125 280 197 64 236 195 204 266 191 65 25 214 129 266 242 76 131 40 106 240 210 187 184 6 74 118 27 223 117 304 135 118 76 103 76 171 34 180 156 173 75 64 191 206 262 76 242 9 195 257 159 89 217 65 236 42 118 282 150 234 37 31 270 84 185 155 258 188 139 87 5 167 238 112 98 248 302 4 161 149 127 143 113 88 49 260 2 246 103 158 31 193 44 37 148 188 177 100 9 195 248 24 226 270 269 241 293 204 14 4 262 232 182 23 115 294 270 243 201 91 235 236 287 39 219 107 181 28 40 194 128 60 233 169 178 124 184 222 8 205 16 232 277 8 292 88 30 26 138 155 17 227 145 95 228 193 105 211 276 252 196 15 210 158 120 170 176 38 269 50 72 234 268 133 46 70 4 43 88 91 39 33 134 131 129 213 43 34 281 257 178 171 22 222 207 189 9 132 253 222 100 65 107 170 277 275 100 231 203 106 143 252 304 71 140 49 193 279 38 146 129 66 104 57 160 176 240 55 150 75 200 69 85 200 39 235 45 159 118 151 15 124 211 117 233 133 302 45 40 236 136 43 9 54 93 68 197 25 182 25 79 25 59 66 97 300 168 243 67 161 297 30 142 50 37 98 15 121 44 290 294 28 25 161 135 11 2 152 235 27 274 192 186 154 225 152 291 136 293 71 145 188 37 299 179 303 191 186 261 294 236 147 269 194 95 76 143 6 118 199 66 124 6 280 39 285 145 262 24 151 51 39 104 73 130 21 165 69 129 65 274 229 55 134 30 301 1 3 262 263 82 238 209 45 40 44 64 210 279 145 302 61 139 214 203 115 30 137 272 13 229 107 257 1 43 47 183 222 48 151 131 2 294 171 194 246 23 210 65 48 122 65 295 170 52 92 255 53 57 40 304 110 275 284 108 73 48 114 142 287 185 204 12 105 27 258 138 290 105 41 277 37 14 266 22 48 105 96 192 150 75 146 3 194 182 40 285 127 70 166 102 228 280 205 155 136 273 288 120 299 232 282 189 102 129 233 76 170 148 210 231 141 157 38 293 7 113 250 197 27 35 24 23 125 78 42 173 225 43 134 24 288 200 235 60 81 85 116 273 23 211 282 127 116 56 274 293 151 210 155 235 78 206 235 55 238 75 235 151 254 74 257 283 281 255 287 198 193 47 156 133 296 290 137 231 301 54 74 286 239 42 302 247 40 135 154 288 177 207 209 219 128 6 274 49 173 104 73 50 217 56 260 85 294 72 85 283 91 248 103 120 48 297 191 1 64 24 229 205 216 95 199 107 230 145 223 6 17 80 181 234 53 183 264 299 138 6 33 195 12 230 198 199 105 210 9 22 180 90 59 219 15 188 101 69 211 195 146 192 141 115 196 226 8 197 206 98 198 152 180 245 286 132 171 44 166 232 23 4 112 271 212 7 262 281 3 32 5 79 63 258 125 22 43 190 87 288 266 55 297 157 43 157 65 143 134 297 82 52 206 9 304 2 136 25 62 94 300 205 29 63 195 295 98 264 41 289 115 204 251 107 162 132 11 108 102 62 57 224 263 62 99 26 268 192 203 171 141 24 277 270 219 248 55 160 169 184 94 267 189 12 28 291 48 229 223 268 144 292 228 84 166 161 126 140 254 50 253 241 259 53 197 303 88 106 82 290 254 279 217 22 288 267 221 279 177 264 173 71 10 57 76 68 33 219 127 174 290 17 77 85 92 122 180 152 119 158 245 122 169 230 117 296 255 109 9 187 72 176 251 32 57 277 245 96 78 10 289 203 117 77 197 304 77 232 106 112 35 16 10 240 210 154 236 68 76 218 103 297 13 28 97 10 290 149 249 206 177 78 55 292 116 229 44 230 241 171 75 184 73 299 50 3 44 145 31 134 122 30 233 260 231 141 229 87 243 22 179 39 217 190 104 191 18 63 272 286 217 259 286 67 97 237 128 43 151 249 185 294 80 171 303 10 207 15 288 106 129 224 165 274 178 266 129 5 270 210 37 211 213 11 301 150 188 166 148 139 257 168 227 9 75 297 180 53 179 201 252 243 144 132 170 151 141 77 137 197 187 7 209 206 105 63 204 231 115 171 250 244 26 48 4 96 154 58 66 120 80 61 303 53 174 292 107 140 186 54 123 276 36 144 227 148 226 172 195 215 158 76 113 137 64 80 67 130 82 226 107 208 153 196 137 191 63 49 176 151 154 32 231 109 30 86 159 64 119 183 134 266 44 77 41 268 301 102 280 152 24 31 20 128 16 243 40 195 49 233 275 101 45 130 135 235 27 164 212 11 109 78 20 191 68 176 98 292 56 247 100 79 54 74 113 135 34 153 164 55 219 266 190 233 89 274 51 106 131 178 76 228 249 232 297 32 254 252 18 42 275 2 49 29 197 215 96 218 304 274 70 69 102 97 13 116 90 170 97 111 128 212 273 99 137 41 96 8 188 95 147 22 112 231 268 163 249 214 167 216 11 42 174 66 80 156 304 274 298 234 163 260 18 99 165 13 267 3 90 272 12 173 26 84 263 206 75 220 296 8 88 303 72 290 10 214 40 257 123 49 103 300 46 59 103 280 241 233 77 209 191 189 124 22 257 211 299 264 281 209 40 103 119 4 97 127 24 290 73 35 131 8 302 107 228 230 210 185 72 193 266 125 105 239 146 152 218 187 233 105 239 135 130 270 173 82 182 24 60 93 239 205 273 12 263 26 138 303 11 105 39 110 201 239 21 4 8 30 224 245 250 285 246 21 110 224 219 169 161 128 265 122 227 277 32 145 68 39 194 27 178 73 219 145 153 45 167 266 189 216 14 262 282 215 298 272 180 31 262 147 279 108 184 32 243 192 205 50 18 294 298 221 250 70 299 164 223 202 69 214 87 240 156 196 81 42 86 99 223 147 206 222 101 292 76 203 139 186 74 181 52 217 119 288 117 62 163 228 81 249 53 235 258 194 202 191 274 70 45 104 22 298 81 91 163 191 293 87 266 16 177 299 297 233 136 5 95 79 236 87 7 293 122 201 143 215 149 114 24 150 226 166 110 30 96 208 162 268 202 40 20 59 10 71 40 183 208 122 5 103 183 195 34 246 102 126 66 232 301 76 283 269 300 145 252 56 100 181 255 172 235 295 209 5 190 242 19 218 246 111 109 295 11 199 149 140 104 262 61 34 102 153 209 221 283 111 173 179 192 140 206 186 263 237 141 55 80 174 183 276 46 221 27 19 71 23 94 216 147 263 147 266 294 14 292 13 163 138 131 46 190 77 289 32 120 100 256 301 287 192 304 223 88 223 145 285 185 193 223 16 228 202 69 220 188 78 163 274 3 218 228 17 162 151 130 247 48 271 296 72 78 210 69 300 205 85 53 278 165 133 223 235 219 304 105 79 257 5 260 70 117 5 247 198 63 101 53 179 40 95 74 103 82 216 42 142 177 113 197 212 272 221 257 33 127 294 278 18 149 112 188 268 74 87 36 20 191 191 15 95 180 135 98 115 91 105 100 290 166 86 272 245 79 280 151 45 192 231 50 159 276 189 172 17 144 19 105 98 60 242 290 11 45 24 199 141 297 159 219 201 107 59 210 286 198 120 28 181 77 229 110 7 137 230 227 273 292 84 156 55 40 260 297 128 293 65 37 254 214 21 14 23 75 132 75 126 36 243 62 241 279 118 228 35 203 219 236 97 125 283 208 20 114 8 228 69 225 249 230 100 84 186 284 57 129 302 144 251 141 299 129 189 49 87 36 132 299 21 232 172 237 202 227 93 222 58 11 246 247 56 278 52 155 170 121 54 202 86 294 119 218 87 217 259 142 101 182 227 11 208 249 87 150 265 85 185 160 140 123 24 90 166 237 1 227 197 237 115 199 39 109 257 164 200 303 116 89 178 182 303 246 160 244 172 303 140 167 115 219 16 208 45 256 293 286 25 183 287 257 207 273 49 94 153 214 47 300 202 136 147 239 276 55 258 286 159 108 172 181 38 146 182 88 201 18 295 1 186 191 20 68 163 120 38 108 190 83 124 140 100 196 204 271 195 11 173 268 25 270 6 74 4 161 224 60 204 65 209 294 124 251 75 292 50 224 173 101 70 119 62 34 75 88 47 77 275 159 246 256 227 203 245 188 31 149 155 42 56 143 266 113 296 15 260 67 177 202 184 262 209 220 300 180 133 222 161 2 109 206 234 102 134 14 279 158 127 63 40 190 292 292 95 3 182 203 140 166 300 52 208 72 23 101 298 113 55 167 122 13 19 99 158 93 63 125 195 134 211 189 277 150 170 19 202 294 155 20 225 143 241 54 32 151 15 216 60 129 232 294 26 11 177 165 211 150 301 12 256 12 236 20 112 81 4 123 172 82 170 113 293 97 294 169 237 269 155 205 202 171 162 204 129 288 101 68 209 92 2 290 134 35 82 171 64 5 30 85 206 47 170 195 73 91 186 284 64 244 303 56 67 219 12 300 86 128 92 152 150 90 107 251 139 243 284 87 273 246 142 161 104 303 218 14 149 29 234 289 29 291 71 5 151 28 103 235 112 224 214 58 53 51 263 267 289 144 77 241 241 240 255 100 13 42 281 123 163 110 27 17 190 88 46 246 15 228 50 120 102 84 154 3 23 78 37 201 208 117 135 112 103 174 265 159 94 282 51 205 99 13 259 45 37 118 189 262 215 198 36 304 125 100 249 172 226 171 223 83 217 288 21 151 268 177 223 258 92 214 199 12 122 199 262 73 269 55 143 144 126 235 117 55 232 220 14 57 175 134 241 211 85 100 8 202 163 187 61 81 125 73 206 60 192 177 167 78 22 121 299 195 128 114 108 218 182 168 31 269 220 96 24 239 223 209 95 37 123 244 54 112 281 76 62 176 20 254 239 170 221 12 284 257 230 88 181 91 220 188 11 123 164 153 116 83 228 237 248 284 261 221 94 283 173 259 87 141 160 61 14 77 253 55 179 87 67 261 133 227 73 294 30 194 100 178 27 246 246 238 289 56 249 151 48 191 172 256 226 24 217 243 32 181 46 50 51 214 232 107 34 85 17 289 254 281 134 1 294 143 130 13 213 39 165 125 264 237 268 91 112 205 123 274 265 158 158 62 260 278 36 200 303 212 303 32 293 271 233 28 73 212 266 152 102 156 289 99 132 74 180 266 297 195 13 179 107 276 8 18 4 299 148 180 91 173 183 82 264 81 112 175 217 128 163 263 225 52 283 144 30 292 9 180 102 209 147 203 96 57 112 181 185 124 243 264 170 33 262 161 112 234 250 297 263 233 12 274 117 102 166 180 173 243 170 80 2 261 23 266 47 8 188 54 79 34 221 18 126 1 81 240 293 37 206 172 185 268 70 70 268 16 81 272 29 64 269 225 12 1 299 133 250 248 282 238 129 97 165 139 11 269 175 144 177 116 65 86 76 220 281 78 119 55 74 284 139 128 207 286 201 169 189 201 214 226 162 154 201 297 59 177 31 129 20 266 132 39 260 2 139 2 303 262 193 24 7 302 122 61 258 127 137 179 281 199 57 85 164 136 97 282 85 257 80 278 5 120 208 281 135 282 8 60 245 135 251 146 269 125 268 119 304 62 110 26 52 204 227 148 47 261 18 65 86 26 122 181 294 20 272 167 61 301 163 280 30 14 264 163 251 162 157 55 161 252 272 241 109 293 90 188 277 299 227 58 123 79 270 225 116 110 79 94 124 90 140 53 128 102 6 60 56 129 28 236 203 190 152 28 125 294 161 268 271 114 231 62 197 198 63 290 235 242 195 191 24 97 38 160 220 152 7 43 164 77 241 132 126 215 235 150 92 91 25 26 181 28 126 119 55 5 202 296 43 296 41 202 183 278 85 37 238 79 21 30 274 9 144 268 256 240 285 157 226 157 194 184 235 91 299 259 136 25 115 192 108 238 4 26 37 63 183 77 152 38 15 174 288 245 268 16 143 20 303 112 191 168 85 121 137 76 36 171 158 131 229 122 214 9 148 19 164 89 250 45 275 126 274 155 302 107 27 235 167 175 281 180 13 296 49 30 130 181 15 236 186 216 120 3 127 156 186 219 22 295 90 110 161 99 241 12 107 164 212 204 68 125 297 141 207 195 30 118 193 72 131 151 1 94 110 11 300 127 257 39 120 24 3 62 43 58 148 75 212 42 256 237 273 264 24 130 215 75 265 25 81 222 58 228 126 284 79 15 88 30 209 75 213 13 146 116 171 304 92 91 213 178 36 200 215 6 167 205 2 204 113 45 100 217 279 290 257 254 234 83 240 282 166 189 209 208 20 203 56 207 70 66 285 279 284 35 86 142 106 220 119 24 142 129 233 188 139 87 276 246 123 119 62 197 77 282 286 300 161 277 66 200 127 25 127 151 35 277 238 175 89 86 45 279 31 155 35 204 57 130 198 208 132 168 138 242 25 279 114 66 142 159 228 78 146 68 60 148 149 130 97 268 71 215 167 25 23 287 294 169 44 192 109 202 209 136 5 126 286 219 279 149 154 291 9 84 226 46 144 78 18 167 19 229 113 115 13 298 276 274 248 111 54 14 294 16 203 293 192 41 120 127 276 257 198 220 241 45 254 118 92 286 48 170 7 179 240 168 86 140 254 3 205 59 237 283 17 38 20 239 83 304 217 243 93 151 162 126 215 270 123 134 19 108 256 27 23 23 109 159 11 192 117 218 68 218 50 240 235 89 113 64 252 82 241 142 145 248 251 176 147 239 186 220 199 265 113 120 99 271 71 85 232 13 293 94 235 134 210 108 118 156 66 291 245 33 129 273 104 212 226 49 10 283 275 25 12 182 108 280 53 120 278 210 33 289 177 59 249 269 235 7 151 254 262 15 294 240 9 98 228 178 203 303 26 237 279 13 153 128 274 12 225 47 302 168 94 31 104 90 240 88 239 144 138 39 277 295 300 28 231 23 264 279 3 237 140 73 145 94 115 298 282 158 53 131 1 210 173 30 155 75 30 157 117 158 264 89 127 76 250 74 67 224 303 92 8 5 55 42 120 189 296 143 10 122 127 219 185 161 280 86 253 49 122 13 245 219 247 234 180 80 122 27 240 204 85 254 96 122 105 203 131 83 4 213 170 42 7 279 187 65 207 287 188 234 198 124 256 138 290 147 232 73 213 8 259 202 43 105 249 181 255 100 287 302 133 254 170 219 163 120 240 177 281 154 127 247 172 224 31 99 148 121 288 261 303 185 67 93 83 214 114 82 257 197 27 130 179 230 110 114 176 117 138 252 46 258 69 279 2 243 268 109 115 141 158 119 199 236 94 168 135 183 248 261 41 281 265 165 113 80 82 205 8 191 289 37 180 246 175 163 5 276 31 256 195 240 160 256 297 104 187 153 81 288 232 271 164 277 211 246 289 190 242 121 103 154 37 42 3 114 242 224 131 295 172 120 41 7 284 111 136 121 5 81 40 150 124 130 249 261 15 85 44 283 80 112 259 294 41 135 128 200 251 203 245 294 88 24 135 103 268 239 272 303 77 171 32 218 133 232 75 66 28 293 300 179 179 105 151 102 84 91 265 216 280 165 65 8 13 47 132 282 98 251 175 107 269 264 210 168 149 238 155 62 272 157 28 41 211 79 246 236 238 243 38 277 86 139 119 159 12 214 36 44 82 151 221 34 169 169 287 230 72 56 80 148 163 116 110 27 221 78 155 39 135 2 66 185 139 192 199 226 193 126 11 92 44 143 11 116 104 26 289 162 304 117 53 136 284 178 291 12 290 27 80 92 298 224 98 45 122 278 165 273 3 214 146 89 297 181 182 10 188 147 198 194 79 239 156 65 4 299 221 178 20 76 135 24 97 304 257 264 54 259 129 173 141 244 57 262 282 134 254 288 280 130 262 158 51 146 295 259 52 182 114 80 12 208 95 214 140 149 196 31 276 139 226 178 269 20 33 94 254 99 243 163 273 219 277 287 84 86 190 238 92 206 186 236 3 143 92 34 175 226 249 14 53 39 143 169 64 34 46 284 187 104 213 275 119 22 24 302 87 175 102 272 229 243 168 5 202 135 281 131 270 237 236 101 46 185 125 62 135 83 52 55 29 238 40 185 272 70 258 115 30 21 89 61 288 86 90 7 248 136 153 34 14 57 188 228 228 96 122 227 258 172 270 261 260 51 86 26 283 73 100 98 207 217 279 148 267 34 15 242 271 160 77 80 58 182 249 209 13 237 79 158 268 254 280 241 97 100 229 300 294 283 132 115 227 128 265 196 209 206 285 269 197 73 286 75 118 87 136 182 131 91 225 297 216 199 109 161 246 271 158 141 138 258 52 163 56 96 155 210 106 180 57 238 200 76 85 222 174 292 26 125 266 178 142 137 105 78 82 291 44 85 34 191 106 195 254 106 228 179 273 283 203 88 256 246 58 287 134 281 282 6 124 62 142 143 168 234 220 223 194 221 116 285 147 148 300 148 194 164 300 133 12 124 24 98 200 105 20 171 54 224 90 250 118 248 273 274 140 285 236 277 255 95 110 298 213 49 14 70 71 280 37 90 141 72 104 88 303 166 168 98 212 282 101 148 8 298 157 253 40 128 243 29 233 148 52 112 11 184 230 92 124 304 219 33 186 112 41 158 228 163 1 130 96 300 245 135 188 126 90 3 159 75 34 59 45 95 229 165 66 278 79 299 119 275 282 127 110 38 58 46 218 63 29 30 55 190 87 186 258 223 242 292 54 168 101 166 115 6 269 254 263 127 94 275 95 78 239 10 73 285 87 16 195 77 301 289 98 9 195 209 87 96 81 218 97 251 84 212 205 297 41 114 261 211 226 299 80 289 15 300 245 219 130 65 301 149 54 114 124 127 146 4 56 218 75 278 265 301 167 45 234 271 64 221 268 97 258 263 150 185 60 17 2 54 263 131 299 294 135 56 232 5 137 280 142 234 214 163 295 36 249 39 59 133 173 213 86 196 157 146 201 288 228 249 258 176 222 36 114 296 117 210 202 232 210 138 299 287 73 105 4 165 54 51 260 22 145 73 49 214 150 268 287 201 246 147 148 267 45 101 147 13 284 18 106 20 282 227 59 74 111 283 10 70 108 227 76 132 11 241 179 122 119 5 82 25 64 10 78 259 153 190 287 102 181 185 302 46 222 50 225 63 39 189 57 5 260 89 122 189 41 21 111 7 7 42 212 107 113 73 84 69 128 224 159 121 204 274 267 10 302 100 185 118 83 36 285 74 104 281 226 196 48 85 221 26 40 65 285 141 174 76 33 185 18 160 42 241 150 26 220 16 235 276 279 177 136 94 25 117 251 134 12 27 24 266 57 246 294 246 101 221 169 278 208 34 109 268 235 108 229 85 144 60 278 19 277 236 73 272 173 25 286 294 288 198 237 258 148 296 97 29 216 147 242 226 199 215 194 200 242 212 243 54 287 294 295 164 186 106 300 245 279 52 168 295 156 27 172 220 154 252 15 229 100 251 158 182 303 233 291 132 111 258 222 159 291 214 297 11 272 247 184 130 146 168 72 119 110 279 45 42 118 207 1 137 101 148 192 14 132 294 101 272 262 189 111 107 148 143 140 252 75 68 208 215 294 66 17 180 304 121 94 197 120 195 4 180 175 144 48 275 80 281 94 139 246 45 145 243 144 251 71 70 205 132 199 13 221 174 232 172 257 188 4 56 97 79 84 27 151 266 283 45 156 287 29 164 67 155 83 52 108 141 265 229 117 244 301 253 66 75 272 124 210 60 13 164 54 220 169 148 145 30 280 7 148 57 209 179 110 24 68 232 14 290 118 280 89 102 133 164 296 151 54 9 65 145 196 180 182 39 62 166 142 293 46 95 53 103 166 159 229 176 16 18 251 73 178 66 273 241 229 180 207 130 157 140 104 182 16 139 277 155 154 143 195 165 173 185 178 205 58 86 287 164 142 270 4 152 107 194 63 71 193 185 64 278 238 252 211 164 172 167 248 288 254 137 95 228 177 257 226 227 124 173 266 121 144 89 125 32 34 183 99 157 182 242 189 65 42 273 138 273 94 173 67 93 141 110 281 179 3 253 15 212 288 173 47 271 200 199 151 303 212 45 131 216 1 273 233 299 265 250 23 37 206 213 217 1 64 299 49 45 224 243 200 199 34 82 37 92 199 156 54 156 136 166 302 301 156 254 253 68 104 159 100 46 135 97 264 229 3 161 139 135 68 210 5 77 18 37 209 256 240 95 71 301 98 272 108 7 153 85 268 127 78 24 189 103 27 25 24 127 77 160 264 107 36 165 50 32 120 269 186 278 53 211 274 31 216 38 65 42 126 190 287 121 214 176 195 71 86 89 56 291 184 186 293 261 145 1 225 129 117 177 124 233 69 175 262 266 90 128 158 290 202 268 265 207 115 140 16 174 147 92 136 93 189 24 266 202 196 212 156 171 218 27 180 265 225 260 96 270 271 193 134 47 60 225 30 183 183 214 188 282 157 242 162 96 142 179 129 67 193 112 167 213 57 241 177 253 298 44 148 16 165 51 270 266 21 131 49 60 68 103 70 186 274 53 77 118 60 22 114 101 65 66 291 23 102 173 166 184 231 288 101 174 183 238 168 52 17 284 25 290 73 26 21 194 150 1 278 145 304 295 215 257 232 87 153 35 294 9 65 58 294 259 290 102 197 114 184 184 32 246 292 121 303 221 126 58 109 250 22 228 178 34 4 89 154 248 275 209 187 195 122 212 53 49 242 2 250 245 250 280 254 70 203 20 262 92 198 167 286 57 121 253 127 207 301 163 280 220 203 264 78 189 219 12 176 118 70 152 138 231 58 295 185 255 84 159 229 148 94 220 1 53 95 303 36 205 229 79 98 186 28 279 205 268 65 196 268 188 109 280 169 57 89 82 87 68 142 232 274 187 49 185 199 94 208 107 104 161 122 295 235 7 150 142 234 45 213 237 166 79 151 136 230 13 186 93 20 74 293 129 29 23 179 89 136 68 84 84 152 291 121 3 50 56 293 126 134 38 18 226 135 126 45 40 256 213 128 267 239 73 300 273 265 164 234 32 207 250 133 247 48 249 150 289 248 296 52 222 91 66 201 84 304 152 123 228 280 122 254 100 6 145 45 295 100 3 158 221 91 240 267 138 135 46 60 104 196 93 88 83 95 243 223 304 76 145 227 85 51 178 304 297 223 93 244 301 200 76 274 259 73 90 302 30 228 41 181 172 243 197 53 262 33 185 241 55 161 7 102 47 273 177 107 294 260 30 222 298 82 94 143 81 82 55 94 207 139 76 34 174 244 23 239 64 141 79 156 212 190 299 300 267 85 7 81 63 157 97 134 186 190 190 273 225 166 253 50 86 278 122 217 5 273 9 169 113 29 95 258 128 19 16 303 267 249 176 46 51 20 169 176 1 141 227 101 291 176 277 295 241 269 213 267 100 226 77 30 38 268 56 63 158 92 145 138 243 95 214 50 167 77 185 217 252 130 275 200 14 278 244 204 25 51 270 285 35 41 200 71 209 265 140 175 126 90 213 185 166 238 48 225 291 104 50 217 41 105 111 84 80 265 135 74 134 139 28 50 189 30 166 60 211 285 187 110 250 277 41 151 295 104 110 115 259 215 209 60 260 17 179 106 83 37 59 243 100 272 26 41 93 177 242 124 105 98 69 214 173 214 250 201 29 301 227 209 208 155 202 136 123 254 167 30 293 146 240 226 152 5 200 259 150 183 237 87 136 256 89 277 33 97 51 185 292 263 95 98 274 162 112 236 268 271 192 244 120 33 210 164 284 250 215 1 35 240 64 161 254 71 54 118 133 63 50 258 92 296 57 193 292 152 59 53 111 74 189 44 244 254 3 105 223 294 103 185 190 295 216 168 186 53 197 211 7 87 21 222 128 181 148 229 196 68 160 228 11 187 257 232 43 121 13 180 109 261 244 66 231 212 53 160 150 257 299 49 139 170 217 256 43 10 190 249 176 263 279 182 124 173 55 73 205 16 117 294 263 212 222 295 243 262 189 25 193 190 249 194 116 121 141 138 263 291 223 302 137 274 115 201 294 81 99 184 2 154 293 2 141 114 46 71 252 196 220 33 98 295 194 105 120 217 85 77 169 154 54 232 196 216 291 8 147 135 259 43 102 127 136 89 304 202 220 26 240 120 166 271 260 10 173 215 136 187 212 80 160 44 118 80 144 121 107 180 19 224 3 282 188 280 146 292 22 132 33 199 246 79 134 286 123 235 163 191 247 208 207 166 199 139 214 9 278 210 10 231 263 151 215 199 154 129 114 274 164 22 8 152 186 235 123 227 107 94 155 283 171 81 223 276 294 28 242 279 270 83 280 53 73 252 13 251 120 43 48 190 76 101 204 179 222 296 293 69 3 242 246 187 62 86 95 166 73 151 78 304 239 96 171 64 298 41 97 157 176 165 168 96 247 230 69 126 31 241 55 18 168 212 268 152 100 8 33 157 32 254 180 220 220 279 228 153 102 57 216 113 14 140 124 88 74 61 283 221 72 164 79 33 3 280 253 48 219 278 28 271 94 132 9 172 301 298 226 116 49 10 198 143 65 148 27 120 6 19 81 58 126 122 180 166 182 240 138 118 302 295 64 261 119 195 8 158 22 4 175 140 25 224 26 112 114 228 113 260 281 206 257 27 17 251 230 37 214 224 19 65 157 136 233 140 146 85 199 241 247 269 278 77 218 169 188 289 188 3 58 50 124 137 147 121 218 59 55 89 196 119 151 75 103 49 64 162 293 62 71 144 122 37 106 237 212 114 20 195 229 161 110 38 207 273 262 79 195 25 270 3 55 216 65 230 97 43 290 122 290 98 224 174 71 185 254 107 223 17 52 131 49 161 283 127 28 182 17 37 53 284 135 156 221 297 29 116 108 289 184 287 245 85 85 295 298 182 177 209 291 298 138 251 248 262 29 89 137 100 215 226 302 293 157 286 71 178 80 186 220 171 227 302 171 293 254 289 31 302 186 1 273 203 251 152 139 163 198 50 12 111 246 200 137 210 113 147 26 138 30 88 158 177 182 147 226 63 188 175 142 285 26 298 49 302 123 240 49 29 303 220 23 195 215 66 18 69 246 85 63 77 35 275 260 200 215 126 282 297 77 131 277 148 266 193 40 4 66 160 22 162 9 71 299 184 138 18 193 117 1 163 100 91 92 88 250 243 304 199 276 267 97 112 277 146 286 137 195 75 75 142 163 196 35 126 154 264 84 218 109 91 34 142 302 193 134 134 296 21 247 204 184 275 19 98 28 71 212 103 108 183 51 296 293 19 50 191 183 6 163 180 167 106 114 60 266 26 190 151 239 196 130 104 290 94 296 300 115 113 90 191 248 131 49 151 265 304 10 15 241 156 61 124 27 257 173 262 292 16 73 250 45 251 158 234 139 148 202 161 174 229 106 102 298 160 14 247 3 152 77 168 147 282 223 252 250 245 40 189 90 122 65 89 224 123 107 50 155 223 301 227 252 132 270 207 181 164 277 208 117 132 100 23 32 144 152 290 37 192 207 289 293 96 85 188 176 185 268 128 155 83 54 284 110 76 97 274 295 209 207 294 166 62 276 187 191 130 263 157 24 294 10 48 84 282 299 82 163 74 266 118 285 90 11 214 35 241 193 298 301 188 181 215 110 96 143 189 138 106 94 165 115 261 74 285 105 241 73 125 286 145 85 106 242 169 107 46 74 260 195 96 256 70 118 122 276 107 154 34 108 70 117 39 209 135 13 273 71 300 249 172 247 153 58 246 194 89 294 280 118 159 121 2 203 225 130 142 82 252 73 139 156 67 183 116 20 176 285 4 105 247 62 49 242 262 45 186 198 143 21 53 231 303 79 285 157 5 22 292 37 255 192 113 53 258 201 83 86 283 234 82 50 109 51 279 109 15 133 57 255 108 97 90 76 299 35 45 282 97 53 109 297 253 69 257 132 69 64 136 136 52 93 191 164 290 280 23 245 19 228 5 142 262 151 75 298 117 179 21 198 78 232 40 302 43 58 202 162 296 191 260 261 207 91 162 270 60 205 136 72 180 19 195 236 22 139 110 86 27 225 83 157 137 33 263 48 203 235 74 41 186 221 31 168 140 75 143 207 215 225 270 21 224 53 42 241 7 2 180 258 240 108 263 98 113 267 171 179 44 202 295 122 116 101 158 101 300 298 79 125 292 201 180 137 1 184 58 154 136 107 100 34 290 271 267 32 125 302 249 263 223 209 166 179 212 29 127 230 159 273 42 142 49 209 154 95 104 211 85 18 202 157 1 8 164 7 240 98 87 114 114 226 213 41 51 222 49 138 280 278 297 259 229 181 91 144 20 42 1 50 57 241 185 299 121 258 43 208 67 149 25 139 97 194 12 211 283 167 138 241 31 253 247 150 104 41 266 282 211 63 235 270 164 222 299 257 49 92 163 30 259 104 253 78 100 187 165 270 149 290 1 173 45 252 242 184 33 5 90 97 215 242 217 136 142 152 272 126 250 111 143 41 130 271 20 108 276 17 115 151 182 112 222 44 40 267 165 50 214 148 239 258 12 214 93 104 192 189 296 132 189 125 43 267 76 239 232 302 170 201 191 207 297 69 55 193 81 72 134 221 286 82 207 109 207 243 235 103 45 118 258 58 168 172 167 118 15 257 213 249 101 160 93 4 83 243 76 271 79 215 272 191 120 79 67 34 112 296 206 94 138 14 214 133 252 236 55 132 184 65 152 71 221 99 218 157 172 285 279 179 250 50 273 231 151 271 123 161 140 274 93 99 143 186 73 161 191 50 228 208 285 68 245 268 40 39 67 251 179 120 299 76 284 59 22 70 304 16 31 10 191 95 272 206 287 162 224 42 257 160 236 100 148 53 159 66 260 105 302 22 184 197 252 55 165 130 57 1 118 162 162 127 131 115 158 170 208 40 37 67 100 57 135 230 18 217 303 128 80 256 129 92 113 134 76 245 105 238 50 122 146 190 86 9 118 111 268 39 202 75 156 38 181 266 186 75 207 43 286 84 92 249 23 147 296 167 66 275 14 240 5 63 303 139 107 249 127 174 100 246 155 95 266 16 181 31 160 127 34 169 193 121 72 251 25 19 119 279 26 103 244 266 89 148 257 211 90 82 167 10 39 278 166 205 29 59 113 193 72 272 182 85 271 261 89 109 67 19 261 155 73 114 94 91 39 160 149 134 99 200 198 297 110 196 73 303 100 294 77 180 189 135 148 250 57 19 275 218 233 31 89 47 142 192 117 277 109 52 293 190 187 295 105 72 70 151 41 216 24 151 74 212 216 19 129 103 136 89 240 109 214 267 127 270 182 123 227 224 301 38 187 176 302 24 222 271 58 26 243 195 198 189 47 170 46 224 20 7 268 294 226 282 164 247 74 56 286 293 125 150 232 125 301 14 61 167 210 295 89 169 81 56 277 215 160 156 140 192 245 132 298 27 96 225 171 130 25 24 216 52 183 147 25 222 159 71 179 136 133 216 33 184 90 124 269 239 34 247 223 104 296 243 79 259 245 143 82 148 232 269 21 304 165 303 151 128 24 183 12 175 187 63 47 294 140 118 280 198 296 220 269 165 78 59 101 27 261 28 221 32 142 201 205 276 157 10 271 223 6 276 144 154 85 1 101 226 128 264 194 300 167 145 12 87 202 287 157 187 33 130 112 210 27 140 15 59 116 234 235 189 299 24 265 49 177 164 65 120 165 160 231 202 112 138 49 104 213 259 88 162 181 22 266 65 153 37 30 25 290 304 210 279 46 270 74 263 169 8 20 264 217 19 228 71 146 84 13 55 2 142 298 105 15 96 106 157 166 235 123 28 238 178 46 161 83 20 122 298 272 90 186 111 228 266 252 206 92 198 259 226 297 178 195 277 115 13 16 155 85 140 151 300 137 18 141 46 50 139 232 161 264 39 9 66 146 257 25 166 170 109 208 14 121 234 106 218 297 174 302 111 288 184 120 166 47 113 27 182 190 280 127 116 39 50 194 70 187 280 18 32 127 144 73 184 152 238 261 112 4 264 212 281 261 100 291 155 81 153 92 301 23 137 177 203 283 155 149 266 71 290 103 36 14 31 246 84 170 104 300 202 159 273 249 169 243 69 23 162 287 157 109 279 189 139 241 184 1 130 22 202 2 205 106 53 289 50 187 50 52 23 249 54 100 284 106 128 225 12 44 48 261 42 96 73 196 63 117 289 12 267 178 215 289 258 180 100 104 253 65 89 180 152 65 145 105 18 235 24 33 196 142 187 117 60 166 133 152 67 277 65 252 250 206 247 211 183 178 244 166 32 84 86 239 263 288 257 245 290 141 148 23 26 220 124 272 203 35 258 65 103 289 163 71 275 266 174 16 266 280 76 177 236 240 90 132 290 225 111 19 154 142 273 144 36 155 254 174 124 220 241 205 102 107 2 254 48 224 145 120 196 280 296 173 160 192 252 239 122 198 2 186 249 233 129 131 26 139 268 138 133 112 150 303 26 159 63 11 206 66 243 165 268 169 12 111 267 16 103 298 185 266 154 199 174 230 27 38 133 222 297 61 191 260 202 3 115 289 170 13 186 89 30 261 258 184 220 28 193 238 223 157 3 182 107 252 211 28 12 110 1 45 257 43 263 300 195 245 76 57 152 235 302 220 272 220 275 126 177 187 297 51 25 116 287 135 178 251 105 11 94 123 155 149 62 36 206 302 208 107 99 215 175 125 136 249 53 4 27 294 116 162 63 191 195 81 10 116 110 23 264 280 13 249 295 168 99 52 270 105 67 195 124 90 30 67 114 89 67 20 172 73 113 143 216 284 219 54 163 255 289 247 73 249 272 102 258 195 224 116 10 283 220 253 232 173 281 141 158 34 123 256 39 85 261 6 88 202 233 9 108 8 246 83 151 145 101 284 299 65 160 144 129 15 65 51 215 23 90 79 27 70 186 187 4 12 134 116 98 214 102 184 63 285 97 162 58 261 244 34 157 57 153 29 250 280 45 281 286 258 280 27 151 186 260 253 290 21 50 302 21 226 277 43 133 233 157 223 57 294 8 223 227 234 199 76 100 181 126 247 63 121 247 224 166 220 295 270 79 32 250 280 113 120 24 9 213 108 7 114 223 91 143 259 84 137 149 237 290 63 232 106 253 186 129 230 93 51 178 225 84 60 254 181 156 253 302 75 253 114 246 16 111 28 283 2 161 274 132 78 200 78 183 59 296 103 33 292 62 296 77 9 238 57 68 25 43 45 173 222 286 157 222 288 93 259 136 29 249 5 107 138 285 210 61 163 259 40 101 44 9 89 119 290 102 234 164 109 208 192 54 106 88 132 116 211 58 57 42 186 53 261 149 297 53 107 65 109 43 133 260 57 86 262 209 73 5 170 14 24 249 262 4 300 289 46 246 250 202 277 264 115 2 44 134 251 18 13 281 274 8 73 163 294 264 81 263 141 171 213 296 181 78 40 124 279 239 271 45 136 123 290 27 151 86 61 26 206 261 71 184 108 6 123 121 286 45 167 74 71 288 303 182 140 168 197 224 243 61 6 111 74 123 174 216 8 198 247 45 130 127 99 49 132 219 289 146 145 190 81 208 27 117 281 249 220 213 192 252 147 283 188 29 161 143 125 186 10 262 8 143 200 53 183 122 150 229 170 115 105 283 258 207 59 9 48 267 55 48 76 25 294 271 59 207 132 269 158 249 150 21 79 287 190 149 97 7 278 21 163 171 235 137 219 289 219 125 125 181 169 49 251 91 121 55 24 209 156 213 227 12 8 257 93 230 14 211 104 127 29 163 292 50 269 194 171 241 208 254 274 5 185 133 246 281 81 216 77 252 180 49 241 97 262 214 286 61 134 238 253 269 217 174 233 48 253 18 100 62 115 199 259 228 112 30 254 302 79 33 286 82 120 170 64 256 236 197 142 180 258 121 252 280 21 261 257 260 108 42 242 195 45 155 272 254 27 181 295 104 107 232 117 80 189 65 116 29 125 113 108 141 9 113 42 302 9 34 100 231 157 241 30 82 85 93 238 13 59 304 248 13 292 44 55 226 290 212 162 101 241 169 60 33 245 120 129 50 11 35 273 289 167 284 270 127 272 225 268 88 37 105 41 224 99 302 30 183 68 270 194 287 14 111 250 55 281 247 126 216 251 257 283 223 183 107 125 262 126 35 161 248 82 139 104 235 6 143 256 271 184 232 175 235 250 143 89 7 171 17 65 291 38 129 188 15 257 104 73 42 243 200 110 100 295 249 275 117 221 173 112 284 216 286 80 261 35 160 174 122 155 109 191 84 81 219 31 34 110 53 252 289 234 177 41 190 283 91 197 21 289 23 131 133 297 47 183 273 85 147 295 128 291 29 92 16 1 95 143 154 123 274 207 261 252 67 221 295 242 224 281 79 172 184 210 115 53 111 177 89 15 134 13 217 271 256 266 258 107 200 77 40 294 186 82 32 128 71 64 179 258 131 182 74 37 270 263 32 17 89 130 99 190 84 259 150 128 47 45 37 241 64 73 59 181 188 262 239 191 76 189 94 244 294 271 254 71 195 126 96 91 7 290 218 126 95 224 109 262 286 25 258 245 271 150 5 11 251 275 244 255 251 200 74 68 40 239 25 216 23 190 164 14 98 146 199 44 165 265 285 233 215 113 102 136 22 29 237 50 184 289 50 221 209 275 225 3 177 101 172 301 270 61 163 274 50 192 198 76 277 251 202 68 254 205 153 157 99 251 171 141 179 26 144 179 175 96 130 206 299 262 198 7 1 248 136 260 188 158 65 159 251 52 17 7 120 262 55 296 88 99 214 265 34 268 154 231 220 277 41 250 177 58 207 251 92 174 160 4 76 18 212 178 98 64 92 42 102 218 246 110 201 172 23 197 151 254 286 180 51 143 98 250 144 230 154 122 69 193 254 20 170 158 115 24 298 286 258 89 30 21 263 298 102 203 188 230 122 4 29 114 277 13 19 213 186 291 190 128 207 36 194 118 3 262 94 145 146 227 160 131 202 240 276 87 206 135 249 146 266 84 261 27 278 201 247 65 195 120 2 16 276 59 101 287 6 221 286 283 221 161 92 176 284 217 148 84 34 189 36 245 188 9 152 232 149 53 218 34 188 32 10 59 200 205 258 156 152 85 250 212 258 215 10 111 120 134 128 76 229 140 264 18 69 146 76 285 229 144 104 155 191 93 275 24 253 138 83 104 188 268 124 127 180 6 94 193 97 93 301 135 96 203 172 214 30 226 109 211 46 111 55 291 165 164 56 192 66 267 285 112 258 183 220 190 279 147 25 275 270 303 193 185 156 92 104 43 121 262 31 228 226 212 114 105 169 266 216 273 180 240 46 46 102 149 15 38 166 21 278 154 95 27 236 137 16 195 193 249 159 107 163 135 227 9 44 265 88 154 72 36 283 186 111 294 155 133 127 120 23 55 109 168 109 180 40 211 4 86 119 92 154 197 203 277 28 208 222 2 133 30 263 190 274 145 226 210 258 285 93 46 282 267 142 218 13 34 131 39 154 34 139 241 298 1 183 127 191 117 54 187 253 251 156 213 118 215 183 108 121 112 79 301 222 213 199 2 274 223 239 246 157 50 113 267 2 48 70 250 154 79 268 187 206 247 183 7 167 37 283 154 75 238 189 223 275 69 14 210 238 282 155 211 155 243 291 223 125 228 296 139 46 95 5 207 193 132 224 30 145 41 51 240 299 50 168 153 35 268 300 87 212 17 157 186 267 193 62 47 42 222 64 271 192 213 1 17 65 19 13 139 80 176 241 125 172 38 132 44 159 116 183 302 218 54 260 245 142 118 41 70 111 235 110 51 191 124 297 119 274 156 171 283 151 39 189 89 276 235 213 156 295 192 9 88 261 131 232 110 257 76 238 58 158 202 255 166 118 27 200 90 40 190 154 157 142 184 80 231 96 246 107 26 62 39 105 107 15 122 23 240 273 172 128 2 111 235 21 132 194 183 10 116 204 220 197 123 191 149 77 92 228 268 107 292 139 168 257 54 177 233 98 160 80 101 301 61 174 206 8 298 9 56 1 66 58 290 171 50 219 75 135 228 211 190 46 204 260 201 155 188 139 17 178 275 64 79 2 137 177 102 193 160 213 137 42 172 102 105 185 79 9 164 102 111 267 226 48 12 121 157 291 232 290 57 64 11 10 92 55 114 9 80 297 270 146 202 112 27 272 105 143 16 6 299 109 76 81 113 164 231 24 108 118 43 91 68 298 161 283 240 41 257 280 68 299 141 83 91 281 214 104 227 54 86 293 92 70 302 23 62 149 133 154 240 72 10 264 110 262 46 153 248 71 152 209 255 262 291 120 170 261 6 17 63 15 275 216 163 259 7 155 249 139 245 7 34 201 98 174 118 144 11 201 2 291 158 54 284 203 29 171 90 288 223 147 24 302 176 106 233 267 61 267 121 76 116 100 222 123 112 189 111 108 68 249 154 285 79 267 4 142 203 277 142 147 77 157 270 217 217 137 269 218 218 53 168 152 127 52 266 219 213 225 91 168 178 265 249 294 89 113 209 84 284 121 237 241 176 23 118 101 285 146 126 228 65 269 128 269 238 135 19 23 184 50 185 196 160 89 239 186 178 6 282 206 87 250 16 2 45 285 30 134 115 84 257 105 223 34 181 11 244 6 155 202 151 207 276 117 239 238 207 80 29 260 31 36 100 231 40 159 272 275 135 109 261 226 191 157 267 205 86 66 240 52 300 29 249 283 281 178 289 113 122 304 178 4 139 178 87 276 69 235 1 241 206 109 75 60 297 32 90 225 217 50 32 35 179 151 180 127 209 155 48 154 188 256 214 239 99 21 291 258 41 206 65 144 155 42 53 182 120 178 59 279 301 81 242 220 179 245 279 291 100 102 7 129 46 134 29 35 303 123 209 96 263 190 45 289 159 37 277 24 295 283 143 296 303 70 212 250 86 275 231 190 212 48 37 119 261 69 41 3 293 122 200 152 165 180 247 303 254 61 115 226 2 43 220 125 201 45 106 13 69 183 30 171 136 144 113 289 179 80 176 89 124 167 242 287 102 279 75 110 163 256 157 86 109 273 162 242 124 56 177 154 5 269 85 290 234 83 206 129 150 286 34 132 201 219 172 144 184 300 44 263 213 215 52 228 292 198 191 272 83 7 11 220 287 29 187 95 244 198 146 69 25 177 124 291 194 230 266 208 299 261 13 173 159 151 183 13 82 80 262 275 142 46 131 63 63 266 204 144 110 262 28 249 281 146 201 259 43 86 42 219 111 62 301 33 16 90 76 61 56 158 293 234 21 20 86 98 196 25 219 80 106 12 71 150 40 196 134 255 126 182 96 55 123 288 162 220 238 263 273 53 251 149 236 190 211 229 168 268 85 63 199 132 240 73 264 228 74 24 247 261 54 147 179 210 101 98 292 195 196 204 250 201 8 212 277 100 155 270 61 282 266 35 214 245 177 273 21 209 174 205 112 133 77 225 110 176 42 245 161 218 33 227 11 152 115 98 176 86 60 116 255 264 253 84 78 302 150 299 70 175 101 62 117 211 71 276 104 76 221 145 201 154 253 11 237 286 170 287 251 164 6 273 291 33 273 80 70 26 166 262 245 118 217 270 44 253 120 236 231 50 57 47 198 227 291 43 166 119 166 102 107 79 278 121 95 158 277 88 32 233 298 274 139 106 266 260 104 203 122 281 112 237 1 258 180 238 220 177 292 198 110 78 246 233 33 130 187 11 133 157 63 246 270 133 56 110 106 251 300 287 201 121 8 187 274 16 118 304 12 69 9 229 29 88 167 37 32 56 130 222 301 172 160 64 186 205 257 260 282 301 83 304 81 254 170 296 101 168 167 104 226 97 205 18 89 109 148 78 269 152 290 6 245 234 52 254 183 237 212 180 280 252 78 38 269 32 86 58 261 154 197 180 168 188 51 191 86 110 14 232 12 72 171 259 145 85 279 140 231 180 213 241 243 216 131 157 230 159 72 125 246 116 107 72 18 295 88 75 299 225 2 111 32 303 278 127 126 100 14 112 42 298 253 258 199 222 185 164 22 183 42 257 229 170 122 211 44 174 120 112 294 78 164 110 124 203 301 211 116 230 41 280 94 101 185 155 279 67 32 213 56 271 48 167 217 142 35 213 287 41 136 64 178 252 38 189 267 142 177 137 107 62 235 184 70 285 54 283 268 192 194 245 160 135 75 135 203 199 55 64 37 105 167 20 89 78 249 198 6 152 160 271 275 190 46 299 106 79 79 282 99 152 162 214 6 266 56 115 213 142 20 33 255 4 14 245 14 35 43 262 115 37 165 42 181 136 124 92 300 225 239 172 52 120 29 217 14 137 200 286 201 152 1 111 111 36 276 77 256 50 277 227 277 125 56 195 161 5 256 109 154 156 219 61 193 166 20 162 226 129 8 69 4 200 111 212 18 164 21 64 288 126 43 7 105 98 262 111 303 178 143 27 51 37 258 301 233 144 54 54 175 295 27 130 276 63 302 268 9 293 162 42 71 271 47 137 1 75 297 205 3 256 140 276 131 282 84 250 187 41 223 82 294 148 241 227 70 32 31 41 281 119 86 82 212 25 233 256 226 291 148 16 3 250 46 169 261 110 226 298 146 161 39 208 6 288 107 30 293 123 207 146 213 225 121 262 215 234 261 169 12 42 6 64 284 285 39 255 186 246 205 84 167 219 172 223 206 203 218 299 80 208 192 101 80 111 7 236 238 108 65 129 290 12 110 24 256 169 192 180 186 93 40 286 163 208 208 233 259 237 181 6 159 123 279 112 114 223 181 152 95 289 84 266 131 205 205 29 237 55 82 215 90 208 183 286 142 269 64 209 6 237 74 302 296 234 163 195 107 95 32 291 294 240 107 269 246 142 49 242 157 294 232 174 10 21 121 101 256 291 137 277 114 114 275 136 147 222 96 176 24 259 210 200 183 190 161 124 211 144 199 62 210 137 300 275 294 231 59 10 113 113 107 70 6 147 132 117 4 290 176 36 3 293 266 212 70 86 164 99 58 86 263 200 66 78 159 288 270 58 131 145 20 208 122 279 13 197 175 297 216 95 189 128 183 290 26 8 231 56 25 176 44 228 23 7 159 177 112 217 301 142 117 152 281 17 122 157 295 18 211 58 175 184 1 57 94 201 281 210 43 11 254 212 188 237 54 132 225 235 105 272 176 262 128 293 99 85 107 57 109 135 209 301 13 6 158 58 232 110 288 17 100 111 235 132 164 243 9 206 286 45 274 26 284 211 55 53 220 299 279 228 85 124 141 134 212 224 291 156 103 39 29 206 37 102 278 137 39 303 61 254 88 104 246 224 129 279 190 267 263 116 211 110 80 129 56 202 290 178 106 181 230 278 229 194 295 93 266 287 125 226 298 213 21 1 300 32 138 131 169 265 83 65 80 282 169 25 271 163 51 95 211 103 26 130 141 131 225 177 192 287 87 223 21 88 166 4 111 286 197 212 149 223 27 161 260 255 292 32 89 200 177 147 155 304 177 103 228 286 40 185 92 270 54 136 262 214 168 102 161 91 160 133 113 217 215 252 164 181 170 265 293 150 71 140 184 110 105 299 174 86 94 140 110 136 214 255 42 248 162 119 123 102 39 14 272 132 294 135 222 81 87 184 58 150 280 69 237 6 45 238 55 223 174 72 47 208 129 38 278 204 98 145 70 274 228 118 75 209 290 21 252 125 217 300 101 152 120 222 145 213 46 194 156 164 166 99 40 21 14 172 66 165 113 205 4 255 33 174 132 198 234 296 67 218 270 279 17 96 132 171 218 191 94 102 215 119 280 170 141 114 249 102 125 98 24 172 176 35 239 258 154 288 9 216 188 174 126 222 46 159 114 152 212 154 6 44 182 241 128 256 216 273 141 280 271 284 215 203 73 99 21 54 157 88 96 9 81 294 252 113 67 139 116 245 60 59 180 174 183 189 302 273 128 47 271 16 290 235 76 273 162 167 185 266 108 39 278 220 29 50 118 209 216 34 273 237 92 93 255 8 135 158 220 52 49 257 156 28 10 213 166 105 166 64 101 58 173 203 46 40 123 62 289 27 206 80 62 70 296 171 79 183 290 118 118 304 61 235 68 224 207 245 222 27 304 124 283 282 261 138 146 282 246 277 182 292 192 169 192 113 76 202 22 272 41 30 199 235 50 94 53 276 103 248 56 38 150 42 94 53 122 94 22 161 288 304 202 298 214 234 91 298 186 123 225 77 171 129 115 70 134 250 196 139 110 43 49 69 122 191 294 279 96 233 204 85 218 290 201 161 285 153 257 214 79 268 238 194 15 149 130 96 141 280 130 288 98 47 13 98 135 157 182 243 53 187 137 125 19 124 174 73 2 45 275 129 144 94 209 20 137 236 1 139 131 139 79 141 154 261 252 219 147 172 93 135 53 16 217 303 172 26 266 286 219 142 83 264 232 35 217 182 199 230 4 11 54 270 65 204 256 257 100 196 70 284 106 123 4 304 31 22 13 14 66 273 67 116 214 6 86 294 183 12 168 286 72 216 63 75 175 196 265 226 291 149 158 268 206 125 300 248 296 243 289 196 12 67 64 144 225 246 282 100 96 242 160 241 131 297 134 194 183 218 1 126 240 235 3 291 235 177 193 4 278 15 234 254 144 297 32 101 178 290 297 159 57 99 124 204 228 263 226 298 32 118 107 238 178 280 260 257 50 17 245 249 199 27 223 64 37 181 49 283 128 169 273 167 240 175 160 195 196 87 292 218 229 50 253 173 158 108 193 272 18 196 116 288 273 11 67 171 271 221 11 224 233 219 225 284 26 138 125 150 48 2 217 88 284 204 261 280 16 202 148 28 141 240 254 117 25 297 25 6 285 101 48 51 237 61 133 120 242 173 192 132 182 13 303 94 172 42 218 168 196 230 178 16 289 199 199 88 271 86 256 287 25 125 229 9 27 149 129 230 33 32 138 128 28 86 108 127 297 277 230 202 81 18 154 128 107 194 71 44 209 50 89 40 64 254 282 255 261 235 78 296 222 205 63 89 140 90 191 154 210 191 238 96 210 285 93 85 41 151 244 239 299 253 205 154 45 144 50 212 57 182 108 244 223 140 55 1 27 3 231 189 281 237 152 113 75 72 182 211 115 176 21 291 76 21 97 162 97 26 79 270 96 158 158 110 52 83 291 253 1 155 107 119 44 87 179 95 234 13 124 119 63 166 98 43 207 25 300 260 94 166 52 2 279 217 186 182 257 294 173 30 157 40 243 102 201 76 59 159 20 265 209 207 82 129 198 35 252 137 199 205 64 4 302 62 52 2 253 211 245 290 3 228 178 219 186 244 106 97 135 158 49 180 155 180 82 166 27 34 162 95 219 283 199 191 263 181 101 191 135 119 290 214 1 156 71 67 26 28 68 223 71 136 84 40 296 199 74 31 144 140 58 216 104 288 20 113 71 288 254 13 131 286 124 146 253 220 194 122 239 163 267 167 176 50 283 48 302 277 36 6 304 200 118 91 303 230 79 174 48 55 28 251 33 41 89 115 26 244 303 47 71 258 286 196 278 142 100 124 267 213 18 205 278 230 114 72 191 221 13 44 115 175 185 39 172 252 55 131 60 108 243 56 55 8 148 273 48 160 103 13 169 82 7 283 36 216 171 303 260 299 285 154 55 266 122 8 22 244 73 244 279 171 256 134 273 57 240 187 106 241 120 168 132 128 111 212 208 294 259 37 61 202 143 208 120 66 147 184 280 196 87 225 239 258 301 120 10 125 186 176 236 272 235 146 262 270 243 65 105 223 239 158 143 120 294 289 163 221 96 277 56 2 265 238 112 288 112 58 269 15 75 182 119 134 35 143 98 112 274 300 114 298 127 54 271 274 30 157 44 236 80 172 196 31 189 238 136 139 186 158 207 185 162 22 134 230 227 44 51 234 3 79 117 49 282 75 55 252 149 260 120 264 81 300 272 144 116 245 189 261 155 65 166 247 197 86 61 16 69 165 300 182 69 253 238 63 146 284 264 182 57 294 48 190 184 72 178 104 199 124 59 209 248 49 117 132 206 257 112 8 180 200 221 27 29 28 293 178 34 166 180 48 18 35 136 205 88 295 1 126 288 57 83 17 240 91 97 244 223 286 114 109 211 280 280 281 125 253 134 28 122 289 197 26 151 182 44 92 186 203 108 290 99 107 29 72 209 22 277 132 65 266 26 105 209 143 47 176 160 177 277 43 207 258 272 98 303 12 63 89 80 229 140 14 270 268 121 25 204 227 23 254 248 28 179 91 83 122 213 233 73 14 19 200 238 264 271 3 260 107 144 288 230 180 47 57 114 48 126 2 146 151 169 3 76 147 17 210 124 68 24 105 272 94 175 1 94 2 255 280 285 267 139 183 188 237 284 240 1 23 8 228 33 49 211 200 74 217 292 238 73 199 49 70 273 64 63 185 66 31 20 36 98 205 302 259 42 208 290 61 111 195 246 283 55 257 234 153 243 68 247 39 295 260 134 64 284 292 224 86 104 193 14 31 257 229 172 44 237 3 125 201 164 138 104 212 208 46 127 121 226 148 41 96 233 20 50 85 270 251 71 21 27 165 40 72 41 46 272 33 91 16 105 78 89 266 4 56 291 45 44 42 179 294 67 166 33 140 2 15 40 217 283 203 53 268 205 47 64 273 48 217 50 167 267 25 86 252 7 280 227 266 28 129 18 200 182 247 202 47 258 214 202 196 255 80 302 36 300 20 102 299 281 67 78 162 71 177 61 92 247 26 91 267 116 234 283 17 121 120 168 31 117 15 282 237 263 162 22 221 49 265 144 272 12 239 158 129 55 230 280 110 170 248 22 78 194 113 132 61 53 25 241 234 303 204 283 170 63 212 175 105 15 93 195 200 265 27 218 104 96 57 70 235 19 202 133 234 195 45 28 229 105 111 202 300 18 106 169 136 155 134 267 33 260 284 101 223 184 193 181 26 180 191 13 169 64 280 293 151 3 12 132 64 50 93 235 93 162 187 275 105 92 111 225 123 148 33 66 285 78 152 233 178 80 18 144 154 77 224 217 242 78 294 293 76 47 229 68 187 167 171 39 253 149 141 17 139 249 202 296 67 150 285 295 61 239 166 56 103 152 172 229 209 24 187 92 105 300 41 213 29 36 225 172 181 124 168 17 133 192 301 66 35 48 283 49 268 79 157 119 78 182 9 291 171 273 235 292 146 14 167 272 49 189 43 241 11 237 82 4 98 233 265 118 7 14 140 39 123 181 56 26 183 99 298 228 71 131 137 99 229 69 83 14 68 71 197 241 11 23 263 279 172 6 157 85 126 233 203 157 181 278 108 22 229 298 232 117 222 230 183 65 60 78 283 59 8 254 70 191 195 259 174 122 4 135 303 102 160 267 268 65 19 22 54 79 16 121 154 251 181 228 257 175 58 247 198 26 149 283 146 286 84 187 5 56 262 241 36 233 298 174 189 261 235 25 300 58 104 242 257 191 84 105 34 160 78 56 199 135 71 21 146 254 46 196 116 257 203 219 3 230 3 141 105 219 212 222 51 15 304 22 98 44 124 116 79 232 284 43 246 102 278 289 80 250 12 97 76 66 9 210 3 208 222 57 287 38 57 109 12 111 222 287 120 198 294 211 122 142 48 198 186 77 50 124 33 214 167 265 208 297 260 235 155 117 134 82 55 284 84 234 300 55 58 243 129 157 165 169 21 262 169 197 141 291 138 257 44 118 75 177 301 31 10 109 236 302 234 176 132 235 123 197 210 171 162 136 129 182 195 181 40 160 136 247 6 117 67 64 63 106 58 231 228 119 158 129 147 140 181 41 223 298 97 287 33 131 213 89 87 46 35 248 233 256 7 216 39 11 150 205 16 154 204 37 253 177 250 286 179 224 108 15 266 40 161 235 251 156 290 296 185 5 24 67 84 127 20 68 220 245 295 117 49 79 101 15 71 170 198 208 262 68 96 182 185 131 109 215 145 264 257 184 50 232 181 187 84 74 114 217 126 142 304 300 256 258 298 267 235 202 26 60 215 76 155 249 142 261 272 104 217 218 106 107 90 142 173 23 97 234 83 175 58 126 296 111 168 98 153 174 148 102 53 51 286 201 102 115 254 49 220 51 231 205 10 217 266 263 195 212 32 251 6 193 299 62 294 259 151 161 108 257 217 81 49 275 75 238 46 49 122 92 277 145 72 27 238 271 179 161 168 13 134 203 264 256 51 151 213 303 18 276 28 299 232 195 37 93 138 283 106 158 301 23 14 227 42 269 133 92 287 280 210 18 239 257 123 210 84 225 258 241 212 299 132 182 119 119 175 188 219 200 252 28 268 17 184 98 31 167 160 119 261 60 27 12 208 207 204 129 222 204 3 32 162 142 228 297 190 25 219 250 15 180 113 179 103 91 175 262 196 279 107 116 79 112 256 122 2 69 149 64 122 148 275 230 93 223 174 226 129 115 9 75 117 211 134 224 279 97 43 184 108 160 39 100 71 27 192 128 176 26 12 299 223 3 180 262 62 99 261 241 186 142 76 119 278 69 29 61 74 223 182 246 241 240 233 81 260 29 87 291 273 238 155 247 254 191 241 219 131 164 19 301 84 175 148 267 3 84 147 228 225 224 153 219 7 24 241 50 174 277 57 164 149 220 151 118 105 288 294 127 133 21 263 6 107 157 35 183 181 146 275 212 151 259 229 259 260 10 131 152 211 13 219 16 104 208 208 267 250 156 294 235 117 276 195 111 132 256 289 279 188 266 59 187 205 91 131 24 202 191 20 90 102 286 236 255 18 284 71 205 201 274 137 191 72 147 259 92 145 56 48 175 194 173 157 128 49 269 164 108 256 129 261 246 264 79 133 273 34 204 177 27 255 146 298 28 200 252 5 82 269 163 140 74 173 94 79 63 287 186 262 124 91 158 46 166 282 114 34 49 137 107 57 72 77 46 235 36 293 197 155 115 75 69 78 196 154 180 280 173 281 246 251 249 290 66 252 264 57 99 25 71 206 197 180 69 280 283 105 211 6 17 100 280 116 250 138 99 147 41 158 148 82 90 172 2 287 123 32 75 231 29 92 251 197 5 120 4 4 193 211 204 49 193 207 237 64 75 171 127 245 154 227 12 248 98 80 117 113 259 7 103 14 215 265 2 221 160 18 72 122 207 180 287 7 286 169 28 189 230 250 181 59 173 94 232 24 5 218 101 165 180 2 290 30 89 80 85 275 222 263 13 13 263 37 96 101 271 179 159 285 172 87 102 16 223 301 270 256 131 23 24 72 94 227 103 243 117 152 174 207 304 212 66 124 64 63 93 205 49 159 34 5 198 21 187 115 283 124 176 173 77 163 158 61 31 9 179 38 187 296 83 170 58 62 70 257 188 178 218 248 136 249 87 303 93 288 224 174 3 49 186 106 288 110 172 198 71 68 154 71 67 242 205 234 92 128 33 106 208 64 154 236 207 249 135 66 80 201 124 169 247 146 159 81 104 57 231 107 266 154 48 224 62 176 134 205 35 264 218 232 134 93 42 47 225 258 261 146 207 243 150 54 41 195 70 247 42 259 74 211 200 256 267 293 134 5 194 102 43 51 251 71 137 88 179 272 285 116 75 269 298 294 152 74 239 194 189 211 267 292 18 143 68 266 124 213 104 256 229 134 237 256 29 267 5 217 3 104 10 115 164 239 273 136 75 236 141 295 180 79 66 127 133 9 6 221 28 301 158 133 69 251 23 157 106 65 245 282 24 53 44 235 151 90 264 50 67 115 88 119 256 130 249 35 31 180 251 114 58 151 269 96 158 29 207 131 60 108 253 274 10 135 142 260 171 43 234 267 22 234 151 221 14 260 124 248 275 95 225 290 117 111 136 285 18 171 20 287 111 53 71 136 139 219 226 116 186 229 121 186 75 107 195 185 22 67 194 273 81 99 291 69 285 93 146 88 267 231 177 86 249 261 241 181 185 102 25 116 213 281 42 22 76 165 252 278 219 19 219 225 75 272 84 25 292 220 240 74 15 105 62 142 260 110 29 9 124 88 74 62 243 162 72 156 275 36 104 235 256 73 19 150 87 228 279 54 186 102 52 129 198 302 21 112 225 7 237 123 239 164 136 49 249 163 29 108 303 7 130 291 281 213 13 126 195 231 301 83 203 19 112 28 10 129 39 153 148 41 118 51 273 297 122 117 40 296 243 245 86 66 153 75 147 256 282 17 28 227 299 67 207 115 212 91 223 66 251 76 264 208 31 171 137 272 11 250 239 268 158 280 274 179 294 271 289 217 39 15 115 198 221 37 29 180 159 301 128 284 138 192 105 77 115 121 247 3 282 243 91 256 203 1 22 230 225 241 124 72 209 287 74 35 187 177 104 131 52 92 304 149 118 20 176 292 153 66 113 298 38 24 26 219 208 268 61 274 63 107 88 26 54 177 261 192 190 222 61 197 255 62 61 262 125 241 69 31 159 58 171 195 142 156 91 26 281 266 53 243 260 174 13 168 227 99 102 149 210 227 138 198 134 32 294 137 18 273 137 12 195 195 159 182 71 276 33 295 234 221 266 16 252 251 197 25 132 46 299 220 149 231 174 288 244 253 113 94 84 275 284 253 203 277 153 189 154 275 199 19 8 170 37 267 59 162 216 215 13 174 90 131 197 47 294 243 130 11 46 278 260 149 84 250 147 292 246 225 79 76 130 303 43 1 45 103 31 300 81 23 281 291 288 76 149 15 186 25 220 78 29 112 296 181 141 145 275 32 74 84 221 146 145 106 213 280 234 236 169 200 104 110 104 241 142 234 231 291 188 192 224 225 230 83 29 8 129 28 185 138 30 98 71 154 69 72 234 220 204 114 183 40 22 276 244 174 280 121 214 187 268 192 62 136 301 206 197 182 7 148 23 288 206 173 220 186 142 164 153 49 220 90 241 106 242 21 223 54 119 60 115 211 216 202 68 184 44 151 256 192 57 201 98 165 20 272 291 227 166 282 280 152 126 157 291 252 298 218 194 60 186 64 216 179 200 67 66 278 146 47 181 132 2 258 259 128 166 35 98 247 133 217 218 139 51 45 226 138 255 128 201 242 118 265 151 141 85 161 145 50 125 198 50 280 137 292 148 219 257 161 203 20 135 179 165 287 161 286 303 45 107 25 279 126 18 201 115 171 273 261 270 86 36 279 174 267 82 279 146 162 128 42 28 109 157 106 70 178 134 117 228 87 179 159 115 108 180 22 206 88 159 81 71 37 244 37 268 243 231 85 34 108 45 94 293 205 180 294 35 55 201 49 280 218 199 122 154 197 153 208 41 11 69 78 106 19 76 85 83 151 226 66 268 84 12 54 56 235 165 184 283 168 209 233 34 88 52 19 265 57 295 241 247 206 302 149 288 223 167 161 105 148 161 266 9 271 132 27 2 164 102 203 273 169 66 213 161 157 256 152 215 1 148 129 155 16 179 242 6 289 222 8 35 199 47 24 254 287 68 39 80 150 208 250 141 106 41 152 181 51 48 152 132 211 12 120 272 222 147 31 105 286 35 291 77 206 181 50 89 161 44 142 230 231 29 277 96 223 213 37 246 145 148 239 299 86 31 4 304 275 258 213 293 51 216 274 245 239 158 220 6 130 86 159 262 199 268 56 149 10 62 229 257 154 152 238 285 40 300 171 197 42 229 293 51 284 114 39 117 154 51 52 20 11 270 30 41 39 25 154 300 260 42 160 213 251 20 218 259 240 72 223 267 198 243 276 67 269 248 71 111 68 116 120 296 298 21 78 2 59 4 5 240 47 271 139 281 52 84 58 221 134 39 209 254 300 266 267 135 178 193 171 92 66 22 283 176 237 176 186 37 131 139 234 132 77 238 303 289 49 14 103 290 204 274 175 127 68 119 195 236 64 240 142 135 24 304 27 34 211 86 299 257 86 37 46 110 11 192 300 185 230 97 149 272 54 85 75 75 148 242 302 289 155 102 223 208 194 212 154 118 174 138 301 36 15 127 118 252 286 224 225 286 85 196 194 102 178 120 30 46 193 283 277 147 304 282 131 242 168 47 33 275 220 115 57 216 56 80 50 244 212 25 30 208 277 202 69 27 288 218 51 49 289 253 215 3 120 288 204 67 304 208 240 183 8 215 282 253 145 120 258 122 264 197 137 166 27 58 63 202 258 143 25 284 266 189 287 1 23 265 121 77 83 157 88 19 106 304 73 127 177 5 242 189 32 110 291 15 183 150 258 286 236 246 224 268 267 177 71 208 145 25 119 181 172 144 194 54 250 20 294 110 63 127 37 77 248 19 127 66 262 37 150 65 104 55 147 60 99 216 139 54 99 62 120 101 40 246 192 144 194 196 171 301 35 298 229 91 24 12 258 214 13 223 182 168 55 56 102 234 256 298 177 251 125 94 204 279 17 96 297 118 192 24 64 124 209 148 288 138 49 18 290 138 146 161 245 98 284 182 288 22 97 129 9 284 228 81 123 170 255 290 119 202 44 228 82 236 144 97 84 225 157 281 24 113 158 136 272 107 180 245 99 164 212 200 256 143 118 209 230 50 1 280 148 284 160 12 18 265 212 171 273 184 57 178 292 20 24 280 269 174 173 125 235 214 86 125 300 15 235 150 154 121 292 148 177 145 222 226 295 66 61 258 120 286 212 292 203 50 250 102 265 119 70 96 92 197 217 166 273 287 86 229 106 23 187 250 22 94 232 81 43 304 95 294 179 173 170 153 62 299 139 219 249 226 277 194 279 231 71 95 125 196 151 176 303 161 202 165 293 176 89 239 268 35 99 169 173 152 18 34 53 30 53 48 89 64 187 68 302 168 292 231 9 36 275 223 235 60 210 14 52 120 81 32 28 184 280 257 100 124 293 75 4 286 110 211 61 156 234 147 74 280 227 230 290 229 241 143 245 12 111 50 288 151 30 159 288 195 292 147 35 52 164 254 209 35 90 65 11 80 132 291 119 201 113 187 179 276 84 196 104 86 290 232 246 241 72 147 224 81 292 44 37 269 181 217 245 91 85 145 1 262 129 247 275 19 35 220 270 90 213 51 87 288 202 64 18 292 5 88 75 239 114 225 202 166 97 14 254 142 227 56 171 142 104 195 99 230 227 1 2 96 205 172 126 136 101 85 52 23 172 149 79 197 142 228 223 146 6 118 92 122 275 115 242 53 102 103 232 215 109 2 104 200 46 72 107 142 155 245 229 38 89 189 46 89 250 254 160 280 234 243 273 230 45 216 70 122 4 300 85 220 6 161 44 235 12 249 286 246 111 217 79 257 31 25 28 221 210 285 184 77 35 205 30 98 25 290 103 60 256 233 288 53 188 249 295 20 265 254 50 244 193 172 183 37 46 198 91 102 80 36 242 238 35 280 179 146 85 129 80 209 53 150 63 177 18 295 291 140 245 41 165 58 102 276 303 295 34 6 13 172 190 11 241 188 154 194 179 116 270 52 64 273 238 111 111 61 205 168 266 291 171 171 244 302 114 9 164 242 205 31 71 60 202 82 153 36 66 188 252 194 203 15 184 10 236 158 301 111 110 136 165 277 251 105 99 137 278 300 99 201 18 125 93 244 287 104 302 234 62 184 289 194 251 5 84 153 186 10 301 81 71 13 209 233 63 63 206 25 199 36 17 111 62 295 56 304 223 291 27 41 169 35 258 265 150 80 189 21 80 51 40 253 181 164 99 244 23 30 159 182 236 167 232 240 212 109 158 137 35 220 304 78 131 261 188 12 137 43 128 12 230 301 28 250 233 48 150 18 24 152 294 134 141 11 201 65 203 197 133 285 166 111 32 227 255 47 64 71 246 114 301 205 174 300 133 201 255 154 61 46 100 61 104 302 28 5 254 221 209 11 126 101 90 2 207 91 223 262 45 9 201 226 196 192 215 270 204 93 113 160 35 92 29 269 2 37 284 17 184 148 254 178 143 216 237 123 244 135 141 250 292 19 10 20 12 153 210 18 204 229 160 45 154 155 159 101 228 103 181 120 11 157 283 210 37 295 44 221 243 58 268 170 70 244 249 32 102 292 76 234 122 190 141 80 146 5 211 285 296 75 133 53 282 215 204 8 192 52 11 125 108 248 149 262 237 74 91 34 130 179 64 139 146 199 239 126 195 76 213 249 240 125 82 42 13 53 99 230 265 151 211 41 296 23 119 233 104 170 11 293 266 155 68 8 187 230 101 15 212 207 230 123 114 7 79 241 235 161 134 60 289 70 294 276 43 119 56 153 179 4 133 24 173 99 30 238 173 25 154 180 179 226 265 275 82 300 229 289 168 234 261 268 54 82 222 252 182 300 268 41 206 106 77 279 51 34 257 109 18 304 150 208 280 8 146 225 166 156 212 199 186 234 230 152 287 265 36 174 257 154 150 126 303 279 145 171 87 12 67 157 100 279 285 13 131 109 66 292 17 92 127 80 151 272 242 185 96 42 117 282 289 234 282 63 229 80 126 60 246 74 185 191 34 79 276 184 278 168 146 219 159 293 234 70 273 183 271 270 174 50 38 272 126 125 21 60 37 10 189 214 39 201 278 56 166 217 295 284 301 232 225 52 79 204 280 225 220 200 197 31 247 259 184 153 269 61 40 217 295 141 183 23 208 128 207 211 278 195 249 303 59 91 138 285 238 291 278 303 236 95 259 289 253 118 213 75 132 128 196 107 209 34 79 186 252 129 102 84 60 206 59 252 297 126 206 176 191 238 113 265 8 229 54 290 98 207 94 279 135 224 206 181 102 167 248 225 125 138 80 83 250 132 55 116 155 5 191 230 196 256 58 294 30 129 266 19 137 116 280 116 181 301 6 160 11 141 165 285 66 66 170 287 100 220 250 118 7 65 11 267 75 22 76 302 248 233 75 64 54 54 142 152 113 249 234 283 20 214 162 214 272 200 128 46 22 209 68 55 249 301 216 110 91 257 174 268 76 4 86 113 278 150 90 210 79 202 123 11 42 149 270 81 90 161 248 35 118 238 10 13 158 218 83 172 301 274 281 301 206 271 292 293 79 48 231 205 71 277 215 159 156 25 115 113 242 227 177 123 170 1 42 234 42 78 277 18 71 6 124 6 123 206 129 256 126 137 33 82 218 65 32 110 133 253 296 163 110 289 209 144 198 240 49 127 51 292 205 64 265 47 48 134 227 223 271 287 4 247 170 100 126 253 34 90 258 210 300 27 291 64 52 240 235 105 163 188 59 135 194 280 1 7 169 17 46 281 8 174 149 193 277 165 239 187 71 29 196 238 53 289 223 190 288 17 171 49 232 273 194 11 211 59 5 303 21 140 12 38 68 210 140 276 7 209 213 151 139 224 139 118 13 104 118 251 177 150 114 66 146 176 210 44 266 258 101 259 15 284 95 50 199 160 73 187 38 130 234 179 237 122 17 19 122 28 251 302 82 116 91 270 223 96 42 146 233 73 7 66 268 72 144 136 30 228 278 64 234 281 285 187 188 35 8 181 194 267 61 175 88 250 2 178 211 155 195 123 74 121 287 103 303 219 37 245 267 72 295 223 210 284 299 240 153 179 45 235 80 182 175 11 117 94 85 37 79 101 218 299 8 173 280 196 21 14 116 95 299 134 7 269 266 57 218 62 170 220 123 134 202 131 63 214 49 73 138 212 153 223 51 106 216 268 272 213 100 90 118 211 237 74 17 116 182 150 58 149 21 162 268 43 56 177 181 131 74 300 229 108 223 185 270 234 257 98 138 138 114 89 91 211 303 47 215 28 35 104 26 182 169 270 121 32 270 164 117 83 137 177 288 86 234 104 292 29 91 22 231 71 254 30 47 140 2 1 232 48 12 292 71 287 141 81 37 176 69 304 153 257 46 129 12 209 173 6 267 64 243 17 185 236 226 50 75 221 179 4 277 73 38 220 151 175 68 39 197 100 98 290 56 167 78 152 255 58 39 131 1 111 111 22 76 242 223 67 271 90 166 129 213 121 44 44 160 126 38 60 81 27 271 223 168 149 217 44 218 126 201 11 83 65 288 221 26 124 109 27 163 228 199 298 158 237 294 250 134 183 1 190 289 245 237 105 175 145 107 98 81 263 140 272 291 203 291 41 62 230 93 138 171 52 180 251 113 175 102 199 234 113 150 86 290 257 4 226 73 37 264 151 8 240 218 214 304 174 102 242 121 130 259 271 254 48 129 273 193 242 182 164 169 52 194 143 264 54 190 288 250 285 159 189 304 56 12 231 45 38 18 214 141 259 138 293 298 126 146 144 171 255 64 213 62 104 69 206 238 206 201 163 188 29 88 175 270 52 196 67 34 193 187 89 177 292 278 14 171 56 192 180 107 231 161 201 144 204 157 166 200 8 148 151 247 263 296 135 18 188 239 100 186 260 114 301 194 44 134 83 211 132 28 212 168 82 136 136 115 5 280 225 23 146 32 148 182 281 19 239 288 165 264 86 106 128 146 224 16 113 57 109 43 40 109 149 57 218 217 13 297 1 220 260 105 295 161 269 258 49 145 211 275 212 140 288 20 224 298 195 154 238 210 193 55 53 166 25 109 161 5 114 115 121 219 96 3 119 179 214 133 123 301 51 146 218 190 183 5 28 38 136 139 31 151 21 140 178 141 192 48 285 298 64 197 45 109 105 288 245 172 61 280 245 126 165 76 74 264 64 260 233 11 137 109 198 6 281 208 15 27 52 14 82 11 155 286 40 299 267 82 183 48 183 266 98 249 75 23 43 47 286 64 15 161 170 221 224 262 283 93 16 93 255 113 162 230 164 64 2 48 214 196 302 17 204 12 168 284 167 225 292 132 253 293 139 179 164 191 205 5 154 269 194 200 241 182 301 125 49 120 268 36 60 160 7 292 257 185 24 117 200 146 32 300 104 171 52 162 191 203 92 42 200 74 234 105 31 156 270 70 77 244 206 236 9 94 1 250 176 140 70 271 158 136 257 51 142 8 130 257 180 4 84 302 104 176 222 112 294 226 202 193 114 296 42 285 54 128 53 249 101 2 149 141 253 16 88 170 215 145 132 59 239 152 120 289 231 117 124 163 10 127 39 194 176 254 36 160 27 145 141 256 15 81 140 15 207 304 254 152 195 268 124 200 89 295 219 168 12 200 136 133 205 96 69 136 89 149 68 197 29 271 241 280 85 189 45 137 266 1 191 103 156 63 274 18 107 251 83 15 29 176 230 164 235 21 294 3 189 253 196 217 94 69 182 239 1 24 173 42 108 114 219 50 77 183 84 302 22 143 185 242 264 21 170 140 180 167 262 119 20 10 114 253 98 96 157 227 17 216 217 111 287 249 85 286 138 271 158 299 251 68 239 137 294 221 137 219 237 77 139 190 161 90 292 224 41 284 268 121 267 237 32 72 288 254 296 189 245 276 127 132 264 223 227 257 11 180 42 144 295 112 81 106 236 54 218 27 59 167 84 217 79 165 81 78 168 111 186 18 89 66 32 180 242 233 52 151 254 286 254 50 17 73 174 112 172 149 126 58 20 97 76 247 238 110 200 117 9 35 83 151 11 301 293 207 129 7 83 182 55 139 202 268 224 262 229 77 280 80 227 205 104 235 285 56 272 155 99 71 245 221 149 180 235 1 240 134 67 256 281 32 210 190 224 275 122 87 214 85 297 46 119 282 43 150 132 124 191 8 87 184 216 117 51 25 104 32 136 79 231 286 234 241 115 204 70 107 19 217 41 96 63 72 208 146 120 41 176 53 184 91 225 99 1 175 300 223 50 154 67 8 17 173 248 111 142 104 46 30 82 22 188 195 301 82 100 143 133 91 249 78 215 162 237 47 73 205 126 67 152 207 197 223 55 252 267 186 3 163 163 6 210 98 70 108 237 191 220 218 25 159 103 303 164 300 59 241 244 242 250 161 18 139 205 268 152 65 39 252 31 197 167 247 28 160 67 116 187 24 30 146 109 182 159 100 72 163 44 292 70 164 252 273 21 189 117 20 298 84 277 195 26 45 42 161 273 218 18 90 255 243 295 283 2 146 63 150 19 134 92 176 25 216 109 57 292 118 204 116 124 261 114 104 16 86 250 298 52 47 204 82 4 134 98 157 45 285 61 297 281 150 161 179 267 184 16 134 107 173 151 195 273 257 16 132 165 103 97 202 248 125 125 297 240 118 144 299 170 139 10 27 53 49 282 5 206 119 209 263 119 100 264 148 179 221 14 237 26 148 212 79 239 261 240 251 15 61 43 5 96 61 158 229 274 257 4 223 29 31 40 147 89 96 35 304 264 61 92 91 278 18 210 271 45 36 143 14 42 23 29 203 160 137 30 127 53 150 260 281 133 277 8 177 122 175 34 248 265 109 154 214 62 130 22 29 243 19 198 89 62 147 154 176 303 214 297 298 134 102 47 295 149 161 265 276 59 16 62 254 134 108 219 201 88 30 105 211 143 101 31 100 268 222 94 191 92 279 198 167 229 206 96 141 283 43 194 267 303 295 244 157 157 176 64 250 70 68 56 252 167 12 49 60 157 239 251 5 228 231 11 97 165 184 2 1 25 261 222 51 229 158 71 276 302 287 203 302 193 255 297 130 216 188 72 17 28 210 237 29 78 176 104 234 58 216 237 114 294 11 136 141 43 185 73 220 120 155 176 238 52 241 242 71 61 3 276 85 230 300 182 67 300 150 228 117 257 33 114 210 52 33 23 297 45 21 271 34 102 187 51 280 41 289 68 275 104 246 100 128 250 21 67 231 244 145 108 63 140 157 144 154 99 178 138 101 149 104 169 138 223 149 203 54 5 81 215 126 183 48 234 113 258 35 20 95 274 263 259 159 138 140 211 303 176 223 28 268 178 51 294 298 133 49 180 66 294 275 95 63 45 37 258 235 144 188 222 237 81 30 263 257 50 60 175 143 113 146 119 271 149 232 209 14 28 115 167 267 184 253 139 286 184 110 202 41 56 128 246 77 14 118 5 47 233 190 244 246 277 290 81 213 52 253 199 298 51 80 124 162 10 296 253 291 218 265 55 67 190 91 258 128 138 113 167 27 202 4 107 104 19 288 110 161 257 192 124 237 9 7 146 44 25 133 171 195 54 245 292 233 203 68 136 71 125 287 51 302 244 37 225 43 104 225 294 14 266 93 244 106 154 300 104 123 235 106 302 202 156 185 90 88 246 152 299 147 14 241 122 224 265 49 28 136 156 235 142 32 223 297 154 258 32 179 50 146 197 15 158 302 97 110 274 271 160 79 301 47 132 171 92 58 103 161 124 87 132 25 17 35 286 57 75 240 226 17 178 89 194 159 218 6 9 277 93 175 90 223 249 32 183 208 197 203 16 214 300 169 94 137 299 250 97 5 265 91 283 127 192 80 59 21 288 8 147 140 96 42 82 284 172 292 262 208 155 88 287 286 65 28 300 107 220 143 215 196 188 38 295 164 132 183 265 217 249 70 200 149 67 279 250 284 38 86 51 59 101 166 20 55 160 246 259 102 152 229 195 193 34 161 158 264 169 120 153 275 164 299 111 20 15 152 225 122 160 34 183 217 101 134 224 210 129 28 109 186 8 53 39 223 209 297 77 57 134 24 123 3 69 91 12 216 124 153 226 290 84 304 167 63 175 256 294 235 153 130 163 118 271 198 192 291 196 143 40 268 43 170 83 62 169 244 49 160 231 177 155 260 197 248 17 58 104 291 265 177 181 126 149 166 101 94 48 40 132 200 26 98 22 240 247 33 157 61 288 7 259 247 62 39 262 189 16 18 300 172 243 133 15 136 248 50 129 135 271 291 214 228 206 55 35 115 243 153 139 37 230 28 137 119 221 242 81 173 272 186 220 195 199 119 126 177 303 252 154 97 127 166 24 32 293 252 190 260 247 220 89 153 169 162 77 229 274 105 75 58 31 134 191 293 256 237 44 94 281 112 80 66 83 133 245 151 148 159 164 28 300 171 68 180 298 20 280 98 105 35 131 268 163 6 66 105 303 3 94 53 265 253 95 256 277 276 99 172 199 289 80 76 141 144 77 33 125 51 177 59 273 233 277 32 30 204 34 269 122 73 126 245 65 211 68 283 231 179 110 140 236 202 31 182 7 62 258 14 108 227 238 137 21 127 142 91 204 236 44 224 303 243 291 167 304 62 297 213 268 231 205 89 12 192 282 247 156 103 190 239 269 214 93 243 219 58 111 44 105 282 282 181 107 95 303 200 4 301 265 292 167 237 144 170 276 133 145 109 146 112 261 175 253 49 6 224 120 181 47 137 83 125 283 33 294 199 225 201 7 120 15 36 201 56 268 45 113 37 261 91 211 143 182 264 197 224 215 62 252 176 80 200 53 159 12 224 171 75 61 77 207 210 262 271 237 296 257 208 204 79 28 203 218 232 252 268 16 147 40 125 35 266 288 153 88 166 162 24 100 195 99 259 278 259 90 155 180 112 213 158 38 124 10 81 16 304 258 170 245 14 223 271 289 188 199 267 245 54 284 188 134 302 7 218 16 288 217 118 121 131 110 60 215 31 245 117 167 52 91 181 279 81 212 251 288 125 96 259 299 116 168 257 268 123 50 263 94 276 78 198 134 239 25 67 279 159 191 137 66 131 122 299 96 194 26 74 119 102 244 135 251 179 168 198 150 205 247 258 205 234 57 245 192 77 285 197 66 302 98 188 208 122 258 204 300 165 53 120 142 231 134 194 209 92 13 217 101 208 273 147 159 246 165 44 108 120 33 224 18 41 283 73 221 175 114 150 28 270 256 126 73 98 134 77 111 1 281 19 287 84 36 84 257 89 101 287 98 179 40 123 7 25 134 170 297 254 112 38 195 37 256 168 113 294 112 63 246 6 15 6 107 8 161 123 232 245 75 207 155 193 159 263 285 3 39 206 120 132 2 199 85 196 42 244 17 257 285 224 252 103 66 189 76 288 219 110 249 201 197 209 99 95 200 51 254 135 276 136 257 184 210 300 202 123 25 201 99 208 211 162 89 220 99 35 146 148 74 90 238 144 301 196 100 20 276 4 153 173 106 29 33 99 64 49 262 296 264 61 196 251 144 118 31 97 296 290 59 34 171 54 28 251 245 143 141 36 195 193 88 215 43 240 32 45 163 36 297 212 55 259 263 122 178 225 239 255 70 279 293 116 300 39 126 148 193 268 20 55 245 14 174 120 123 2 50 65 254 38 136 39 115 286 291 212 114 134 139 192 294 205 175 167 257 214 24 39 120 51 158 212 1 78 161 46 295 199 198 8 6 171 293 135 280 97 230 214 129 292 105 249 206 196 95 112 273 141 66 273 195 84 277 41 133 143 226 40 149 63 169 191 12 32 187 122 295 225 206 297 241 296 278 248 269 73 72 119 265 268 266 212 57 196 246 223 289 288 270 126 41 81 168 203 42 56 109 109 304 75 254 150 213 130 180 284 66 111 289 266 96 289 142 212 116 223 91 105 40 199 9 149 200 97 60 112 146 249 177 144 20 304 99 204 258 245 233 243 165 177 74 90 146 117 45 71 104 38 94 219 97 8 225 93 4 236 188 23 27 136 172 195 193 245 285 70 179 94 232 186 280 153 16 51 289 106 265 19 134 189 254 39 133 138 276 257 299 301 193 151 213 269 75 294 83 32 266 80 266 43 41 83 273 203 165 234 134 15 99 212 75 37 303 145 60 55 287 212 302 186 299 271 46 239 69 189 76 57 19 10 48 267 81 60 92 113 184 152 66 107 2 160 2 78 300 119 149 300 221 220 30 135 43 118 23 103 21 145 126 134 178 150 187 167 299 249 293 210 32 15 50 192 201 296 93 18 161 41 48 301 31 216 182 41 153 38 127 94 122 241 30 154 132 128 116 107 35 283 141 179 173 150 75 301 208 34 149 116 230 198 297 106 38 237 99 27 65 205 129 191 147 197 41 32 86 158 196 136 143 120 254 298 49 201 28 258 89 245 268 102 295 274 84 77 177 159 206 247 58 279 195 183 164 242 269 29 216 12 26 175 15 275 250 173 279 272 53 210 85 187 258 119 100 259 113 299 268 53 138 144 28 170 175 85 76 107 254 238 192 69 65 206 150 271 245 155 270 121 6 115 248 300 226 5 140 226 81 37 262 68 97 111 143 140 9 145 277 273 104 234 226 298 30 5 265 35 86 152 261 258 134 184 51 183 15 155 51 57 121 241 241 286 268 227 255 285 62 284 16 203 19 279 274 139 228 270 269 18 139 11 267 209 178 193 182 245 181 181 197 97 87 67 24 58 197 235 35 121 161 201 49 84 172 259 285 192 163 176 16 282 192 99 122 163 219 221 100 218 42 125 215 159 288 128 196 156 131 111 204 112 86 17 183 170 77 232 270 139 78 4 237 220 233 147 24 197 177 94 192 269 249 84 247 198 56 222 214 289 194 163 188 147 18 13 107 6 96 85 168 153 238 273 275 92 113 267 155 113 206 11 279 71 4 119 293 227 178 34 259 110 231 286 84 155 171 290 4 256 102 21 34 197 233 152 163 73 289 285 245 131 20 48 78 282 137 114 18 12 272 140 68 260 300 288 140 230 102 117 170 96 196 254 280 227 28 114 181 291 136 147 183 261 226 187 15 199 162 38 260 139 95 241 153 172 276 196 104 1 154 2 62 26 17 283 164 137 175 195 108 153 139 43 99 281 46 165 115 214 74 290 203 219 216 199 180 30 156 152 126 283 41 250 216 270 301 161 75 221 79 215 215 60 81 177 41 77 253 265 190 229 200 167 35 78 61 138 45 15 165 159 105 123 127 154 304 78 69 62 9 274 42 201 32 45 13 117 153 136 196 199 126 72 176 118 14 117 77 184 227 243 263 212 269 86 22 67 147 172 229 91 292 288 282 75 223 271 240 53 240 108 165 243 105 299 214 34 301 172 245 181 101 273 196 42 238 188 283 165 145 225 120 198 143 195 246 35 89 143 260 285 138 162 34 170 72 84 191 182 54 92 208 257 74 75 35 265 70 299 233 205 234 256 48 59 215 23 127 39 249 113 234 51 147 171 190 137 84 147 153 262 157 236 269 43 248 157 206 232 241 34 189 54 186 87 190 90 163 103 49 266 124 138 274 277 133 73 144 303 279 191 82 46 113 130 277 143 288 288 133 14 255 53 256 39 201 80 211 168 65 235 220 166 230 39 132 256 85 251 27 172 158 47 156 57 48 273 162 202 174 13 206 262 93 137 131 274 17 50 205 105 106 44 7 14 146 132 261 171 205 56 256 245 2 147 146 210 301 79 59 100 51 172 144 87 25 98 155 9 222 115 186 159 72 247 16 54 292 176 56 201 7 16 263 44 267 150 70 22 293 196 119 19 47 110 59 108 209 192 192 239 36 20 61 273 146 103 137 141 225 233 252 283 112 85 297 271 32 67 13 100 49 225 93 242 32 256 14 208 76 21 189 144 64 126 113 40 267 117 240 196 54 10 257 48 14 278 199 129 11 181 90 143 220 109 165 213 75 44 271 165 92 295 155 20 227 104 132 190 280 129 239 124 105 124 303 272 283 256 195 119 94 219 19 58 277 258 73 128 144 168 38 256 226 179 35 200 60 119 172 257 261 251 129 171 218 81 148 191 283 224 32 213 49 16 48 184 36 106 28 266 62 301 156 130 80 51 263 286 16 265 138 214 116 48 35 169 195 144 287 23 110 187 121 101 234 102 140 5 150 97 296 300 117 258 196 285 130 72 232 33 122 231 24 150 75 28 220 104 294 226 212 225 259 30 273 9 224 283 75 304 268 110 188 242 275 206 79 89 151 144 139 304 121 54 31 277 253 50 107 287 11 107 74 221 124 29 141 5 3 61 109 70 143 103 118 162 197 170 261 74 281 82 137 57 285 142 78 52 53 212 242 57 137 36 261 255 146 57 136 213 151 5 149 222 195 195 297 172 108 39 284 123 9 257 247 100 182 155 272 44 52 28 8 53 93 129 134 253 164 258 281 248 19 86 261 253 19 49 268 77 52 302 13 160 243 76 232 152 149 261 12 10 22 240 232 142 43 62 193 196 252 192 127 85 179 165 44 99 285 206 147 53 162 113 268 139 210 126 167 118 173 48 267 239 225 304 201 102 211 50 246 112 20 114 147 83 8 256 83 274 276 248 45 122 261 201 35 191 298 251 76 191 17 229 33 30 198 267 163 65 88 294 139 9 140 172 5 4 123 96 155 176 238 211 196 143 284 296 177 44 216 212 185 42 184 69 97 298 13 146 21 5 281 202 241 240 166 56 55 115 199 145 55 263 213 147 198 2 260 129 239 164 107 105 145 172 49 158 250 268 176 112 271 176 167 275 110 76 129 229 46 290 268 113 5 99 204 3 99 158 4 256 297 36 156 44 114 255 90 102 30 18 94 207 191 260 301 272 161 202 133 134 172 244 223 302 213 206 121 274 138 217 96 86 44 7 258 250 260 218 92 138 157 168 35 129 65 46 73 58 102 72 28 107 6 298 242 302 47 126 45 57 138 105 270 168 166 79 117 117 195 158 134 42 39 206 205 204 226 74 268 213 74 121 6 271 217 293 81 219 62 145 69 151 151 285 50 177 299 138 224 156 98 44 254 277 47 222 211 65 155 256 199 25 150 69 57 166 43 244 112 164 263 267 275 99 267 215 5 211 287 230 209 169 37 244 172 225 296 115 57 44 53 61 248 283 236 122 160 296 287 299 206 19 169 11 42 219 135 252 86 33 140 298 152 228 170 127 275 221 134 151 18 111 122 255 48 130 111 24 258 143 266 250 150 91 143 3 281 299 275 47 214 255 165 62 247 107 134 92 291 239 73 234 200 228 192 241 64 129 144 249 280 292 181 164 53 61 41 105 263 225 49 297 270 156 297 283 255 143 196 161 115 167 157 113 257 201 272 81 275 86 274 91 208 278 19 236 73 147 38 285 142 207 11 107 235 185 161 43 211 13 216 7 229 6 74 26 79 77 193 191 39 247 191 106 86 276 195 207 97 214 38 282 135 230 125 293 123 278 14 16 97 203 234 219 137 89 215 36 85 84 286 257 278 221 149 8 119 58 211 291 247 290 14 115 244 183 249 160 129 39 199 9 230 97 106 169 232 214 66 98 248 215 282 137 240 47 242 219 89 282 144 14 230 31 126 55 254 174 193 152 143 252 103 199 29 245 37 63 286 129 175 212 142 213 140 48 137 19 143 15 26 217 22 102 45 166 39 211 152 179 284 62 78 20 222 288 244 1 243 41 186 84 3 57 38 46 98 214 84 218 131 50 11 173 181 34 244 42 112 208 228 262 71 94 257 220 22 271 145 123 52 139 142 13 59 188 237 171 285 91 259 66 50 283 130 269 24 232 282 169 59 121 48 208 41 124 186 73 236 156 107 125 70 229 36 172 83 168 236 210 93 189 221 104 9 262 255 91 91 107 225 50 243 172 84 79 250 71 94 132 288 268 297 138 275 141 156 168 263 298 253 98 156 32 88 189 247 205 101 255 195 282 44 274 53 131 58 251 90 218 47 57 169 81 297 212 296 54 188 261 55 258 262 138 214 101 213 250 103 246 276 78 165 186 287 47 208 15 77 19 65 171 50 58 145 166 98 274 19 211 126 205 263 59 248 197 161 264 16 222 195 23 167 60 97 162 27 168 86 152 168 111 135 211 240 123 172 45 64 81 6 83 25 99 73 46 62 108 18 215 52 232 68 158 42 26 217 116 84 275 109 132 136 250 76 122 261 10 266 301 292 97 296 131 243 176 237 280 121 20 303 45 225 15 125 38 207 95 161 243 287 181 88 71 237 284 223 46 75 226 234 1 298 99 235 79 143 58 118 52 161 44 122 260 66 223 209 205 76 7 172 245 126 47 271 65 293 126 296 142 179 22 61 163 184 60 295 303 284 241 66 168 261 257 149 282 149 236 244 208 144 53 235 130 62 245 122 212 33 1 67 64 2 29 298 134 250 242 90 20 174 196 79 209 3 287 281 289 284 118 196 30 256 178 127 46 215 279 39 242 130 143 99 107 207 31 277 160 283 73 26 56 15 136 253 138 154 196 208 285 18 296 6 163 264 46 40 58 227 103 69 39 256 296 32 108 108 211 146 210 185 16 208 168 188 31 304 96 18 182 166 87 141 80 227 7 26 83 251 83 67 154 228 163 205 71 283 228 71 94 229 268 70 119 254 276 96 183 44 221 183 73 255 122 269 74 223 72 160 209 35 218 160 128 249 42 150 67 114 199 263 194 280 82 109 62 40 23 17 70 40 145 48 271 72 171 163 209 273 219 128 62 268 157 4 38 52 291 77 17 290 8 27 209 117 176 44 57 278 234 231 110 147 6 86 237 82 27 153 174 69 111 86 28 39 44 208 111 144 252 182 242 43 19 298 101 131 121 182 243 222 58 30 93025 79 210 19 298 180 251 173 24 2 50 245 138 135 108 31 120 1 130 160 257 241 95 145 26 216 81 226 263 96 168 283 257 12 138 244 185 145 143 101 22 14 46 254 273 119 186 290 144 283 159 288 223 132 49 93 262 238 229 155 264 240 239 4 186 186 156 253 251 135 166 179 281 251 299 25 122 52 94 183 150 59 8 304 223 116 205 229 99 41 262 204 126 19 41 40 7 273 17 145 101 189 108 251 6 50 4 199 5 34 4 170 122 238 70 39 189 8 118 105 66 47 87 151 6 225 167 225 257 56 11 181 146 237 53 150 62 110 45 62 192 12 277 10 161 200 100 129 2 138 299 113 218 32 150 210 304 151 300 262 49 193 200 206 48 7 276 26 220 285 123 213 125 55 22 25 282 263 301 52 299 237 38 56 136 260 300 228 250 86 115 300 143 175 290 103 283 164 70 232 116 121 286 39 164 235 55 183 229 74 105 172 239 298 266 121 288 278 68 86 279 49 132 106 286 7 232 118 214 15 257 66 131 18 68 21 33 150 61 298 96 292 133 68 220 130 279 42 126 71 230 206 280 92 17 196 3 227 178 272 208 236 44 245 87 128 262 108 51 271 120 29 122 50 119 132 131 145 51 289 108 168 64 212 36 62 51 172 24 286 39 284 92 199 303 215 120 116 55 56 164 195 121 11 29 17 125 261 231 265 80 52 35 267 181 174 95 301 2 55 119 304 138 26 242 86 138 204 200 42 302 225 108 168 161 107 274 171 279 45 90 93 85 130 138 229 148 256 161 167 286 2 228 119 4 145 87 73 52 268 89 225 230 203 279 26 142 202 122 201 29 226 102 264 43 296 289 12 93 277 53 66 303 46 266 203 192 145 28 287 184 233 229 85 226 292 203 228 156 44 31 301 1 281 275 72 303 242 224 246 267 32 303 298 76 11 246 257 117 225 79 102 120 210 17 283 259 205 13 42 239 129 176 41 28 216 131 73 125 126 157 37 45 146 72 89 8 91 85 60 256 304 242 26 124 10 193 259 151 28 21 18 220 189 256 152 149 141 298 25 154 303 112 143 232 182 244 199 58 92 151 247 278 60 261 249 235 202 36 127 215 43 193 53 87 140 140 226 58 48 21 84 50 3 162 55 53 234 182 192 144 55 107 200 148 128 228 157 174 135 98 201 297 100 156 206 115 250 283 299 253 96 271 285 126 151 273 170 94 230 245 152 37 75 48 121 265 190 106 249 211 132 198 42 198 83 83 74 296 264 292 163 119 113 104 239 146 279 62 112 148 33 157 38 92 28 170 288 266 16 49 138 159 43 38 52 264 41 289 93 12 244 2 258 275 277 196 152 269 161 87 195 161 224 254 138 22 47 209 153 152 41 203 114 267 88 272 108 40 100 267 211 28 270 66 271 26 181 144 114 178 224 167 118 296 184 302 84 87 138 155 260 141 115 10 74 219 110 92 78 144 164 94 253 23 106 201 103 85 266 82 72 45 155 263 196 270 173 283 233 29 97 10 120 164 202 155 134 223 197 71 175 244 233 254 253 164 173 211 191 225 194 94 172 70 178 183 50 195 41 16 296 151 25 184 276 136 46 208 257 168 195 221 125 23 280 4 123 10 245 151 28 117 155 10 107 160 181 63 210 80 269 275 298 266 279 122 36 161 110 10 127 41 226 107 39 89 142 235 223 50 21 208 92 88 93 152 126 157 154 106 150 236 268 47 135 143 268 132 8 221 32 195 212 56 169 267 246 282 3 191 155 93 53 117 200 169 171 246 149 180 154 80 32 258 78 141 77 157 82 279 17 20 290 274 100 12 262 77 234 289 105 60 244 287 40 137 138 166 158 250 205 91 241 61 291 164 234 274 17 234 7 119 161 67 252 261 212 185 57 67 68 166 295 272 58 175 275 282 160 200 112 288 194 17 74 273 42 139 84 144 45 123 31 14 155 106 126 125 125 219 37 299 164 7 140 189 51 49 20 269 136 26 167 29 101 299 85 19 111 175 135 230 269 160 175 190 114 125 195 55 252 246 168 99 151 113 262 237 127 40 266 62 20 195 63 252 86 280 2 261 283 18 51 59 20 219 253 233 229 150 32 129 30 131 209 163 2 50 68 221 102 49 237 255 299 13 265 142 290 118 186 22 62 297 1 72 142 70 62 193 213 237 236 244 151 230 66 14 253 192 6 153 54 83 91 82 281 85 60 31 89 183 226 46 23 165 87 304 271 125 281 174 206 117 76 295 123 160 266 301 82 135 13 269 121 84 247 63 114 28 3 48 197 44 17 49 10 84 28 47 268 22 3 202 49 137 298 207 13 274 29 175 302 21 161 246 73 297 223 44 85 260 14 76 28 96 149 278 281 198 212 36 134 190 21 123 161 56 275 293 43 152 237 261 125 160 67 57 245 200 257 134 242 129 62 239 259 173 291 106 272 105 276 293 288 165 113 47 129 155 301 39 216 274 94 23 32 96 179 30 134 214 252 175 55 26 288 139 295 3 176 304 7 14 297 244 1 253 253 192 300 239 157 283 218 19 261 215 180 104 33 130 224 96 93 179 26 301 95 2 226 156 289 233 87 199 215 2 138 222 162 131 71 119 86 157 271 280 253 224 78 9 55 200 277 185 10 247 188 97 15 65 251 40 89 281 81 97 152 241 229 14 212 235 62 77 253 194 178 172 72 196 79 290 153 146 123 34 43 277 60 283 248 242 115 152 236 104 43 153 196 43 135 37 6 70 138 240 26 127 268 177 146 64 242 90 215 6 203 178 59 55 33 293 7 266 204 295 253 200 229 284 148 265 216 191 161 131 194 71 280 283 76 229 75 289 189 194 238 103 71 264 150 248 9 282 63 279 186 247 111 147 251 220 178 191 131 173 138 229 23 160 139 152 161 243 212 108 207 270 297 48 30 136 241 161 182 129 149 224 82 37 224 110 32 47 91 291 140 179 29 223 52 263 256 302 70 23 124 192 193 296 4 227 224 77 251 226 258 186 14 228 46 6 281 153 126 147 144 231 179 283 257 188 35 196 220 15 130 158 271 199 173 136 182 187 98 72 289 44 224 44 6 169 229 293 41 224 178 238 10 196 250 77 7 43 206 242 201 72 293 297 16 197 230 175 297 156 103 165 296 121 170 251 218 91 44 67 225 286 180 13 113 268 230 284 231 170 277 290 89 117 7 30 40 291 75 162 169 168 173 303 101 164 296 234 236 47 183 188 22 255 195 192 20 16 169 4 259 7 213 19 299 206 199 198 301 257 276 161 52 16 165 252 57 303 177 44 148 134 247 257 81 32 116 179 31 215 157 52 190 210 87 14 37 32 157 23 206 92 85 270 196 32 100 72 163 40 66 211 162 222 193 146 104 188 44 293 26 60 38 297 266 303 106 160 136 170 9 2 105 238 129 21 13 65 169 188 280 23 222 103 167 271 274 246 11 33 73 98 263 10 231 27 86 238 132 174 224 280 178 127 277 115 93 84 218 175 46 39 65 119 180 254 295 131 4 280 254 118 233 264 280 74 7 272 257 196 5 229 101 254 170 176 283 189 118 65 104 264 179 231 49 132 75 137 76 88 271 132 238 281 166 288 163 300 139 46 211 4 51 213 255 120 16 33 149 288 15 147 157 6 153 278 171 204 119 8 164 15 154 85 244 254 27 79 172 262 144 292 215 24 57 88 198 174 44 95 188 268 62 21 137 116 242 63 6 23 260 216 91 19 50 301 246 199 95 56 120 76 200 202 168 154 10 154 255 173 54 101 207 119 249 193 187 144 179 290 225 33 88 209 294 160 260 222 209 294 186 257 279 112 227 255 229 267 248 228 119 54 209 207 189 206 19 17 35 191 44 84 86 13 229 165 221 7 178 3 229 292 278 218 115 284 134 36 75 66 286 184 227 176 38 26 60 48 148 185 247 100 255 134 131 216 104 231 151 208 248 143 147 66 296 49 188 97 209 33 77 127 47 297 149 143 107 151 301 271 271 131 304 105 207 227 198 176 244 278 86 236 271 173 15 3 77 284 50 274 45 75 47 126 28 237 39 259 169 235 48 255 48 223 222 256 129 269 220 238 47 140 27 20 269 194 104 221 103 234 66 118 102 106 37 105 57 261 92 233 254 167 6 26 64 158 150 182 154 200 268 165 286 168 176 49 63 12 189 224 209 180 162 242 92 121 42 105 221 212 161 295 149 20 229 154 81 20 255 49 170 37 248 36 237 296 231 196 41 193 158 59 276 3 272 170 140 33 179 190 17 64 120 72 31 260 211 251 29 226 105 196 54 297 98 202 13 271 295 257 260 225 256 293 269 238 240 149 3 214 26 22 114 105 286 36 182 283 210 237 302 19 168 115 266 215 289 208 64 22 140 90 149 71 70 109 157 202 236 63 148 48 131 189 121 248 33 211 81 267 122 145 88 148 191 279 161 192 282 191 294 122 8 228 284 119 246 134 102 137 219 247 122 44 156 45 136 122 260 23 285 112 210 191 112 289 254 143 242 146 271 298 30 100 260 131 107 65 36 299 103 208 78 267 245 172 289 122 94 264 130 39 124 124 239 299 63 40 115 231 113 221 147 69 44 168 23 109 259 139 44 67 85 284 181 185 30 185 226 281 121 57 255 84 181 159 258 184 128 198 145 111 70 63 5 59 272 70 22 22 215 47 10 12 180 301 290 119 200 181 250 112 285 226 30 198 13 12 92 31 155 98 126 129 275 183 162 219 252 303 178 165 146 258 150 84 19 237 223 30 289 98 194 289 131 62 212 42 93 176 174 272 223 270 191 154 42 263 135 222 172 109 34 49 293 201 160 213 91 92 40 35 21 300 281 163 142 273 234 64 259 194 13 225 235 26 188 179 203 18 46 105 219 86 41 304 164 197 277 187 170 169 115 119 153 86 226 195 57 138 1 213 245 39 28 223 77 27 260 173 40 225 131 135 302 208 82 225 87 160 90 178 213 203 261 92 200 139 140 135 134 161 36 61 33 127 106 180 247 277 265 72 54 288 82 56 138 65 263 95 260 220 297 118 196 296 249 133 72 140 15 142 199 216 219 17 3 47 70 84 147 209 36 143 37 169 118 185 114 279 205 48 178 234 24 206 25 286 154 135 130 37 200 246 259 223 300 173 76 117 3 212 239 215 277 167 171 204 191 252 103 150 59 51 186 131 273 248 70 45 290 93 122 163 227 278 146 261 243 18 238 101 76 220 250 210 94 101 228 123 96 96 174 135 142 13 195 233 161 264 159 19 216 146 103 275 103 1 31 243 119 32 241 271 8 236 70 77 198 78 100 136 156 154 87 30 129 292 108 121 210 142 225 166 248 135 46 115 163 214 162 238 211 187 217 178 258 192 164 150 3 200 278 182 257 15 37 146 256 110 134 81 283 275 296 286 139 295 27 255 107 278 135 199 177 219 171 260 184 287 79 137 149 267 111 300 162 11 78 258 259 17 264 231 16 222 182 233 248 63 267 101 14 172 264 123 116 76 55 185 48 145 157 45 94 227 202 283 268 188 195 250 47 240 66 93 167 113 169 33 141 85 141 143 197 9 302 260 198 92 28 192 133 270 47 99 250 250 141 154 3 152 140 101 195 203 120 53 40 52 101 6 22 106 220 80 52 167 107 293 248 90 166 68 288 244 138 302 102 111 114 91 188 291 251 232 23 69 237 271 160 284 215 286 18 151 246 165 293 42 256 191 8 87 219 180 106 147 20 301 24 37 303 182 62 196 133 210 166 267 163 126 115 243 263 284 154 287 110 69 30 31 218 102 114 19 255 50 156 158 92 179 225 127 202 244 116 25 46 112 202 282 36 209 221 100 159 266 148 248 92 230 9 207 165 213 233 221 158 82 220 49 112 227 276 63 224 63 127 54 181 17 38 265 3 291 289 207 6 181 122 168 19 122 102 295 304 291 151 283 105 149 303 162 54 200 285 62 275 150 292 171 264 218 116 97 193 81 204 52 230 108 287 30 146 287 134 45 225 75 259 80 4 45 145 37 21 55 24 50 32 122 79 93 2 277 158 213 97 104 264 267 168 9 190 6 230 184 275 168 187 206 27 48 6 94 54 240 3 300 163 233 155 249 129 40 267 186 278 72 276 132 223 71 188 118 104 61 247 66 19 3 127 183 304 141 289 242 98 297 233 210 143 294 52 280 12 230 184 83 285 123 118 199 243 113 245 113 73 65 300 110 127 280 246 183 296 80 283 60 74 35 66 14 265 286 85 77 280 242 120 301 44 210 212 186 112 103 9 229 91 250 6 264 160 33 3 16 91 210 39 31 178 73 263 235 173 205 139 137 292 209 284 58 6 124 220 191 209 234 289 137 294 132 276 251 105 9 92 67 183 163 186 109 54 13 99 26 180 2 87 158 270 177 37 199 31 106 154 159 111 171 290 54 186 118 82 148 200 134 262 284 132 141 67 244 80 141 179 19 222 89 44 301 24 54 98 217 73 216 115 223 262 67 134 181 240 183 44 195 86 88 128 163 274 92 263 51 266 286 278 199 291 144 293 215 263 104 179 288 281 167 201 55 118 214 99 63 6 164 249 79 277 271 82 221 295 81 235 52 97 28 23 285 91 59 153 236 278 59 24 165 255 244 174 218 246 79 72 177 282 170 1 133 5 6 61 161 136 301 261 204 203 9 202 174 87 214 36 181 255 116 101 169 165 38 120 86 146 301 162 2 47 265 173 223 229 220 81 204 78 140 204 140 44 205 281 6 258 208 19 290 2 68 34 227 257 1 31 210 120 32 158 299 92 234 269 16 211 36 21 263 202 75 44 72 254 8 151 38 149 302 77 109 213 187 74 278 45 285 73 234 128 13 241 303 105 31 233 226 45 251 300 91 166 300 174 290 216 143 162 58 193 257 217 26 39 298 204 65 265 44 148 1 82 197 108 149 228 192 76 144 96 198 291 92 26 295 76 186 46 184 303 25 283 163 154 12 250 134 227 93 234 111 121 16 116 78 266 16 19 95 26 81 297 141 225 218 63 147 276 195 196 10 230 231 174 221 266 20 120 265 261 120 170 20 104 262 252 275 75 181 291 133 152 190 27 139 74 197 84 117 108 294 172 75 38 209 128 78 97 81 96 301 99 240 12 267 287 282 49 124 237 178 254 71 167 107 122 95 164 210 169 300 68 40 117 193 289 112 261 221 209 241 16 111 75 131 156 90 282 232 34 264 273 239 260 253 115 196 227 58 22 294 147 191 195 302 225 126 13 245 30 107 162 102 188 288 87 190 214 113 147 108 157 265 190 44 256 299 263 190 141 297 64 31 168
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
305
