diff --git a/hackerrank/10 Days of JavaScript/0 - Data Types.js b/hackerrank/10 Days of JavaScript/0 - Data Types.js
new file mode 100644
index 0000000..641bc7c
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/0 - Data Types.js
@@ -0,0 +1,50 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/* All three parameters to this function are strings. */
+function performOperation(secondInteger, secondDecimal, secondString) {
+ const firstInteger = 4;
+ const firstDecimal = 4.0;
+ const firstString = 'HackerRank ';
+
+ console.log(firstInteger + parseInt(secondInteger));
+ console.log(firstDecimal + parseFloat(secondDecimal));
+ console.log(firstString + secondString);
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const secondInteger = readLine();
+ const secondDecimal = readLine();
+ const secondString = readLine();
+
+ performOperation(secondInteger, secondDecimal, secondString);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/0 - Hello World.js b/hackerrank/10 Days of JavaScript/0 - Hello World.js
new file mode 100644
index 0000000..6e75b60
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/0 - Hello World.js
@@ -0,0 +1,42 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function greeting(message) {
+ console.log('Hello, World!');
+ console.log(message);
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const parameterVariable = readLine();
+
+ greeting(parameterVariable);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/1 - Arthmetic.js b/hackerrank/10 Days of JavaScript/1 - Arthmetic.js
new file mode 100644
index 0000000..47dad8b
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/1 - Arthmetic.js
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function getArea(length, width) {
+ return length * width;
+}
+
+function getPerimeter(length, width) {
+ return 2 * (length + width);
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const length = +(readLine());
+ const width = +(readLine());
+
+ console.log(getArea(length, width));
+ console.log(getPerimeter(length, width));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/1 - Fnxn.js b/hackerrank/10 Days of JavaScript/1 - Fnxn.js
new file mode 100644
index 0000000..a920aac
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/1 - Fnxn.js
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function factorial(n) {
+ if (n < 0) {
+ throw "Input to 'factorial()' must be non-negative";
+ } else if (n == 0 || n == 1) {
+ return 1;
+ } else {
+ return n * factorial(n - 1);
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const n = +(readLine());
+
+ console.log(factorial(n));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/1 - Let.js b/hackerrank/10 Days of JavaScript/1 - Let.js
new file mode 100644
index 0000000..923ed86
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/1 - Let.js
@@ -0,0 +1,48 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function main() {
+ const PI = Math.PI;
+ const r = parseFloat(readLine());
+
+ console.log(PI * (r ** 2));
+ console.log(2 * PI * r);
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+ try {
+ // Attempt to redefine the value of constant variable PI
+ PI = 0;
+ // Attempt to print the value of PI
+ console.log(PI);
+ } catch(error) {
+ console.error("You correctly declared 'PI' as a constant.");
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/2 - If.js b/hackerrank/10 Days of JavaScript/2 - If.js
new file mode 100644
index 0000000..51ff179
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/2 - If.js
@@ -0,0 +1,61 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function getGrade(score) {
+ let grade;
+
+ if (score > 30) {
+ throw "score must be <= 30";
+ } else if (score > 25) {
+ grade = 'A';
+ } else if (score > 20) {
+ grade = 'B';
+ } else if (score > 15) {
+ grade = 'C';
+ } else if (score > 10) {
+ grade = 'D';
+ } else if (score > 5) {
+ grade = 'E';
+ } else if (score >= 0) {
+ grade = 'F';
+ } else {
+ throw "score must be non-negative";
+ }
+
+ return grade;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const score = +(readLine());
+
+ console.log(getGrade(score));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
\ No newline at end of file
diff --git a/hackerrank/10 Days of JavaScript/2 - Loop.js b/hackerrank/10 Days of JavaScript/2 - Loop.js
new file mode 100644
index 0000000..9b1b6ec
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/2 - Loop.js
@@ -0,0 +1,58 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function isVowel(ch) {
+ ch = ch.toLowerCase();
+ return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';
+}
+
+function vowelsAndConsonants(s) {
+ let vowels = [];
+ let consonants = [];
+
+ for (let ch of s) {
+ if (isVowel(ch)) {
+ vowels.push(ch);
+ } else {
+ consonants.push(ch);
+ }
+ }
+
+ console.log(vowels.join('\n'));
+ console.log(consonants.join('\n'));
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const s = readLine();
+
+ vowelsAndConsonants(s);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/2 - Switch.js b/hackerrank/10 Days of JavaScript/2 - Switch.js
new file mode 100644
index 0000000..8ff6a2f
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/2 - Switch.js
@@ -0,0 +1,65 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function getLetter(s) {
+ const aSet = new Set(['a', 'e', 'i', 'o', 'u']);
+ const bSet = new Set(['b', 'c', 'd', 'f', 'g']);
+ const cSet = new Set(['h', 'j', 'k', 'l', 'm']);
+ const dSet = new Set(['n', 'p', 'q', 'r', 's',
+ 't', 'v', 'w', 'x', 'y', 'z']);
+
+ let letter;
+ const firstChar = s.charAt(0);
+ switch (true) {
+ case aSet.has(firstChar):
+ letter = 'A';
+ break;
+ case bSet.has(firstChar):
+ letter = 'B';
+ break;
+ case cSet.has(firstChar):
+ letter = 'C';
+ break;
+ case dSet.has(firstChar):
+ letter = 'D';
+ break;
+ default:
+ throw "Unexpected first character"
+ }
+ return letter;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const s = readLine();
+
+ console.log(getLetter(s));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/3 - Array.js b/hackerrank/10 Days of JavaScript/3 - Array.js
new file mode 100644
index 0000000..ced81e3
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/3 - Array.js
@@ -0,0 +1,62 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/**
+ * Finds the second largest value in the array, in one pass.
+ * If the array only has one distinct element, returns that element.
+ */
+function getSecondLargest(nums) {
+ let largest = Number.MIN_VALUE;
+ let secondLargest = Number.MIN_VALUE;
+
+ for (let num of nums) {
+ if (num > largest) {
+ secondLargest = largest
+ largest = num;
+ } else if (num > secondLargest && num < largest) {
+ secondLargest = num;
+ }
+ }
+
+ if (secondLargest == Number.MIN_VALUE) {
+ return largest; // only one distinct element
+ } else {
+ return secondLargest;
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const n = +(readLine());
+ const nums = readLine().split(' ').map(Number);
+
+ console.log(getSecondLargest(nums));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/3 - Throw.js b/hackerrank/10 Days of JavaScript/3 - Throw.js
new file mode 100644
index 0000000..ed73a48
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/3 - Throw.js
@@ -0,0 +1,55 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function isPositive(a) {
+ if (a > 0) {
+ return "YES";
+ } else if (a == 0) {
+ throw new Error("Zero Error");
+ } else {
+ throw new Error("Negative Error");
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const n = +(readLine());
+
+ for (let i = 0; i < n; i++) {
+ const a = +(readLine());
+
+ try {
+ console.log(isPositive(a));
+ } catch (e) {
+ console.log(e.message);
+ }
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/3 - Try.js b/hackerrank/10 Days of JavaScript/3 - Try.js
new file mode 100644
index 0000000..ece348b
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/3 - Try.js
@@ -0,0 +1,49 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function reverseString(s) {
+ try {
+ let array = s.split("");
+ array.reverse();
+ s = array.join("");
+ } catch (e) {
+ console.log(e.message);
+ } finally {
+ console.log(s);
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const s = eval(readLine());
+
+ reverseString(s);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/4 - Class.js b/hackerrank/10 Days of JavaScript/4 - Class.js
new file mode 100644
index 0000000..7b5e326
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/4 - Class.js
@@ -0,0 +1,21 @@
+class Polygon {
+ constructor(sideLengths) {
+ this.sideLengths = sideLengths;
+ }
+
+ perimeter() {
+ return this.sideLengths.reduce((a, b) => a + b);
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+const rectangle = new Polygon([10, 20, 10, 20]);
+const square = new Polygon([10, 10, 10, 10]);
+const pentagon = new Polygon([10, 20, 30, 40, 43]);
+
+console.log(rectangle.perimeter());
+console.log(square.perimeter());
+console.log(pentagon.perimeter());
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/4 - Count.js b/hackerrank/10 Days of JavaScript/4 - Count.js
new file mode 100644
index 0000000..faf6dc6
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/4 - Count.js
@@ -0,0 +1,57 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/**
+ * Returns a count of the total number of objects 'o' satisfying o.x == o.y.
+ */
+function getCount(objects) {
+ let count = 0;
+ for (let o of objects) {
+ if (o.x == o.y) {
+ count++;
+ }
+ }
+ return count;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const n = +(readLine());
+ let objects = [];
+
+ for (let i = 0; i < n; i++) {
+ const [a, b] = readLine().split(' ');
+
+ objects.push({x: +(a), y: +(b)});
+ }
+
+ console.log(getCount(objects));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
\ No newline at end of file
diff --git a/hackerrank/10 Days of JavaScript/4 - Rect.js b/hackerrank/10 Days of JavaScript/4 - Rect.js
new file mode 100644
index 0000000..4f79e6c
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/4 - Rect.js
@@ -0,0 +1,50 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function Rectangle(a, b) {
+ this.length = a;
+ this.width = b;
+ this.perimeter = 2 * (a + b);
+ this.area = a * b;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const a = +(readLine());
+ const b = +(readLine());
+
+ const rec = new Rectangle(a, b);
+
+ console.log(rec.length);
+ console.log(rec.width);
+ console.log(rec.perimeter);
+ console.log(rec.area);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/5 - Arrow.js b/hackerrank/10 Days of JavaScript/5 - Arrow.js
new file mode 100644
index 0000000..db95d10
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/5 - Arrow.js
@@ -0,0 +1,45 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/**
+ * Doubles all even numbers in the array, and triples all odd numbers.
+ */
+function modifyArray(nums) {
+ return nums.map(n => (n % 2 == 0) ? (n * 2) : (n * 3));
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const n = +(readLine());
+ const a = readLine().split(' ').map(Number);
+
+ console.log(modifyArray(a).toString().split(',').join(' '));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/5 - Inheritance.js b/hackerrank/10 Days of JavaScript/5 - Inheritance.js
new file mode 100644
index 0000000..36756d5
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/5 - Inheritance.js
@@ -0,0 +1,35 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+class Rectangle {
+ constructor(w, h) {
+ this.w = w;
+ this.h = h;
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+Rectangle.prototype.area = function () {
+ return this.w * this.h;
+}
+
+class Square extends Rectangle {
+ constructor(sideLength) {
+ super(sideLength, sideLength);
+ }
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+if (JSON.stringify(Object.getOwnPropertyNames(Square.prototype)) === JSON.stringify([ 'constructor' ])) {
+ const rec = new Rectangle(3, 4);
+ const sqr = new Square(3);
+
+ console.log(rec.area());
+ console.log(sqr.area());
+} else {
+ console.log(-1);
+ console.log(-1);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/5 - Literals.js b/hackerrank/10 Days of JavaScript/5 - Literals.js
new file mode 100644
index 0000000..51457a8
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/5 - Literals.js
@@ -0,0 +1,60 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/*
+ * Determine the original side lengths and return an array:
+ * - The first element is the length of the shorter side
+ * - The second element is the length of the longer side
+ *
+ * Parameters:
+ * strings: The tagged template literal's array of strings.
+ * values: An array of: [area, perimeter].
+ */
+function sides(strings, ...values) {
+ const A = values[0];
+ const P = values[1];
+ const s1 = (P + (P ** 2 - (16 * A)) ** 0.5) / 4;
+ const s2 = A / s1;
+ return [s1, s2].sort();
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ let s1 = +(readLine());
+ let s2 = +(readLine());
+
+ [s1, s2] = [s1, s2].sort();
+
+ const [x, y] = sides`The area is: ${s1 * s2}.\nThe perimeter is: ${2 * (s1 + s2)}.`;
+
+ console.log((s1 === x) ? s1 : -1);
+ console.log((s2 === y) ? s2 : -1);
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/6 - Bitwise.js b/hackerrank/10 Days of JavaScript/6 - Bitwise.js
new file mode 100644
index 0000000..3e121bd
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/6 - Bitwise.js
@@ -0,0 +1,48 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+/**
+ * See the Discussion tab on HackerRank for some explanations of this solution.
+ */
+function getMaxLessThanK(n, k) {
+ return (((k - 1) | k) <= n) ? (k - 1) : (k - 2);
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const q = +(readLine());
+
+ for (let i = 0; i < q; i++) {
+ const [n, k] = readLine().split(' ').map(Number);
+
+ console.log(getMaxLessThanK(n, k));
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/6 - Dates.js b/hackerrank/10 Days of JavaScript/6 - Dates.js
new file mode 100644
index 0000000..90800c3
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/6 - Dates.js
@@ -0,0 +1,49 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function getDayName(dateString) {
+ const days = ["Sunday", "Monday", "Tuesday", "Wednesday",
+ "Thursday", "Friday", "Saturday"];
+ const date = new Date(dateString);
+ const dayNum = date.getDay();
+ return days[dayNum];
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const d = +(readLine());
+
+ for (let i = 0; i < d; i++) {
+ const date = readLine();
+
+ console.log(getDayName(date));
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/7 - Re1.js b/hackerrank/10 Days of JavaScript/7 - Re1.js
new file mode 100644
index 0000000..8768236
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/7 - Re1.js
@@ -0,0 +1,43 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function regexVar() {
+ /* Matches a string that starts and ends with the same vowel. */
+ return /^([aeiou]).*\1$/;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const re = regexVar();
+ const s = readLine();
+
+ console.log(re.test(s));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/7 - Re2.js b/hackerrank/10 Days of JavaScript/7 - Re2.js
new file mode 100644
index 0000000..4866b3d
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/7 - Re2.js
@@ -0,0 +1,44 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function regexVar() {
+ /* Matches a string that starts with 'Mr.', 'Mrs.', 'Ms.', 'Dr.', or 'Er.',
+ * followed by one or more letters. */
+ return /^(?:Mr|Mrs|Ms|Dr|Er)\.[a-zA-Z]+$/;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const re = regexVar();
+ const s = readLine();
+
+ console.log(!!s.match(re));
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/7 - Re3.js b/hackerrank/10 Days of JavaScript/7 - Re3.js
new file mode 100644
index 0000000..8bf96c9
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/7 - Re3.js
@@ -0,0 +1,47 @@
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+'use strict';
+
+process.stdin.resume();
+process.stdin.setEncoding('utf-8');
+
+let inputString = '';
+let currentLine = 0;
+
+process.stdin.on('data', inputStdin => {
+ inputString += inputStdin;
+});
+
+process.stdin.on('end', _ => {
+ inputString = inputString.trim().split('\n').map(string => {
+ return string.trim();
+ });
+
+ main();
+});
+
+function readLine() {
+ return inputString[currentLine++];
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
+
+function regexVar() {
+ /* Matches ALL occurrences of numbers in a string. */
+ return /(\d)+/g;
+}
+
+/* ************************************************************************** */
+/* --------------------------- begin locked code ---------------------------- */
+function main() {
+ const re = regexVar();
+ const s = readLine();
+
+ const r = s.match(re);
+
+ for (const e of r) {
+ console.log(e);
+ }
+}
+/* ---------------------------- end locked code ----------------------------- */
+/* ************************************************************************** */
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/css/buttonsGrid.css b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/css/buttonsGrid.css
new file mode 100644
index 0000000..de289f3
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/css/buttonsGrid.css
@@ -0,0 +1,9 @@
+#btns {
+ width: 75%;
+}
+
+.btn {
+ width: 30%;
+ height: 48px;
+ font-size: 24px;
+}
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/index.html b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/index.html
new file mode 100644
index 0000000..41bc11f
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+ Buttons Grid
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/js/buttonsGrid.js b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/js/buttonsGrid.js
new file mode 100644
index 0000000..0b85c19
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Buttons Container/js/buttonsGrid.js
@@ -0,0 +1,12 @@
+/* Could adapt this to a general matrix rotation function */
+btn5.onclick = function() {
+ let temp = btn1.innerHTML;
+ btn1.innerHTML = btn4.innerHTML;
+ btn4.innerHTML = btn7.innerHTML;
+ btn7.innerHTML = btn8.innerHTML;
+ btn8.innerHTML = btn9.innerHTML;
+ btn9.innerHTML = btn6.innerHTML;
+ btn6.innerHTML = btn3.innerHTML;
+ btn3.innerHTML = btn2.innerHTML;
+ btn2.innerHTML = temp;
+}
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/css/button.css b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/css/button.css
new file mode 100644
index 0000000..cd35f6c
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/css/button.css
@@ -0,0 +1,5 @@
+#btn {
+ width: 96px;
+ height: 48px;
+ font-size: 24px;
+}
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/index.html b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/index.html
new file mode 100644
index 0000000..98bde57
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Button
+
+
+
+
+
+
+
diff --git a/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/js/button.js b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/js/button.js
new file mode 100644
index 0000000..e5f4029
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 8 - Create a Button/js/button.js
@@ -0,0 +1,9 @@
+var btn = document.createElement("Button");
+
+btn.innerHTML = "0";
+btn.id = "btn";
+document.body.appendChild(btn);
+
+btn.onclick = function() {
+ btn.innerHTML++;
+}
diff --git a/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/css/binaryCalculator.css b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/css/binaryCalculator.css
new file mode 100644
index 0000000..2a480ae
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/css/binaryCalculator.css
@@ -0,0 +1,33 @@
+body {
+ width: 33%;
+}
+
+#res {
+ background-color: lightgray;
+ border: solid;
+ height: 48px;
+ font-size: 20px;
+}
+
+#btns button {
+ width: 25%;
+ height: 36px;
+ font-size: 18px;
+ margin:0;
+ float: left;
+}
+
+#btn0, #btn1 {
+ background-color: lightgreen;
+ color: brown;
+}
+
+#btnClr, #btnEql {
+ background-color: darkgreen;
+ color: white;
+}
+
+#btnSum, #btnSub, #btnMul, #btnDiv {
+ background-color: black;
+ color: red;
+}
diff --git a/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/index.html b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/index.html
new file mode 100644
index 0000000..9ee2b8a
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/index.html
@@ -0,0 +1,25 @@
+
+
+
+
+ Binary Calculator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/js/binaryCalculator.js b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/js/binaryCalculator.js
new file mode 100644
index 0000000..018e54c
--- /dev/null
+++ b/hackerrank/10 Days of JavaScript/Day 9 - Binary Calculator/js/binaryCalculator.js
@@ -0,0 +1,38 @@
+/* Adapted from code by @eloyekunle - thanks! */
+
+let btns = document.getElementsByTagName('button');
+for (let btn of btns) {
+ button.onclick = click;
+}
+
+function click(e) {
+ var btn = e.target || e.srcElement;
+ var action = document.getElementById(btn.id).innerHTML;
+ var res = document.getElementById('res');
+
+ switch (action) {
+ case '0':
+ case '1':
+ case '+':
+ case '-':
+ case '*':
+ case '/':
+ res.innerHTML += action;
+ break;
+ case 'C':
+ res.innerHTML = '';
+ break;
+ case '=':
+ /* Parse binary numbers from res;
+ * replace with decimal equivalents */
+ var expr = res.innerHTML;
+ var nums = /(\d+)/g;
+ expr = expr.replace(nums, function(match) {
+ return parseInt(match, 2);
+ })
+
+ /* Evaluate res and convert back to binary */
+ res.innerHTML = eval(expr).toString(2);
+ break;
+ }
+}
diff --git a/hackerrank/AI/Bot-Building/#Save_Princess.py b/hackerrank/AI/Bot-Building/#Save_Princess.py
new file mode 100644
index 0000000..8f9b798
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/#Save_Princess.py
@@ -0,0 +1,81 @@
+def displayPathtoPrincess(n, grid):
+ g = Grid(n, grid)
+ if not g.is_valid():
+ raise Exception('Grid validation error: %s' % '\n'.join(g.errors))
+ g.get_bot_coordinates()
+ g.get_princess_coordinates()
+ print(g.get_path())
+
+
+class Grid(object):
+ def __init__(self, n, grid):
+ self.n = n
+ self.matrix = grid
+ self.errors = []
+ self.princess_marker = 'p'
+ self.bot_marker = 'm'
+ self.princess_coord = None
+ self.bot_coord = None
+
+ def has_valid_row_count(self):
+ return self.n == len(self.matrix)
+
+ def has_valid_column_count(self):
+ for i in self.matrix:
+ if not len(i) == self.n:
+ self.errors.append(
+ 'Grid expected column size %s but got %s' % (self.n, len(i)))
+ return False
+ return True
+
+ def is_valid(self):
+ r = True
+ if not self.has_valid_row_count():
+ self.errors.append('Grid expected row size %s but got %s' % (
+ self.n, len(self.matrix)))
+ r = False
+ if not self.has_valid_column_count():
+ r = False
+ return r
+
+ def get_coordinates_for(self, val):
+ for x, row in enumerate(self.matrix):
+ for y, col in enumerate(row):
+ if col == val:
+ return (x, y)
+
+ def get_princess_coordinates(self):
+ if not self.princess_coord:
+ self.princess_coord = self.get_coordinates_for(
+ self.princess_marker)
+ return self.princess_coord
+
+ def get_bot_coordinates(self):
+ if not self.bot_coord:
+ self.bot_coord = self.get_coordinates_for(self.bot_marker)
+ return self.bot_coord
+
+ def get_path(self):
+ path = []
+ row_diff = self.bot_coord[0] - self.princess_coord[0]
+ col_diff = self.bot_coord[1] - self.princess_coord[1]
+ if row_diff > 0:
+ row_direction = 'UP'
+ else:
+ row_direction = 'DOWN'
+ if col_diff > 0:
+ col_direction = 'LEFT'
+ else:
+ col_direction = 'RIGHT'
+ for i in range(abs(row_diff)):
+ path.append(row_direction)
+ for i in range(abs(col_diff)):
+ path.append(col_direction)
+ return '\n'.join(path)
+
+
+m = eval(input())
+grid = []
+for i in range(0, m):
+ grid.append(input().strip())
+displayPathtoPrincess(m, grid)
diff --git a/hackerrank/AI/Bot-Building/Save_Princess-2.py b/hackerrank/AI/Bot-Building/Save_Princess-2.py
new file mode 100644
index 0000000..9ae5f2f
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/Save_Princess-2.py
@@ -0,0 +1,57 @@
+def nextMove(n, x, y, grid):
+ g = Grid(n, grid)
+ g.bot_coord = (x, y)
+ g.get_princess_coordinates()
+ return g.next_move()
+
+
+class Grid(object):
+ def __init__(self, n, grid):
+ self.n = n
+ self.matrix = grid
+ self.errors = []
+ self.princess_marker = 'p'
+ self.bot_marker = 'm'
+ self.princess_coord = None
+ self.bot_coord = None
+
+ def get_coordinates_for(self, val):
+ for x, row in enumerate(self.matrix):
+ for y, col in enumerate(row):
+ if col == val:
+ return (x, y)
+
+ def get_princess_coordinates(self):
+ if not self.princess_coord:
+ self.princess_coord = self.get_coordinates_for(
+ self.princess_marker)
+ return self.princess_coord
+
+ def get_bot_coordinates(self):
+ if not self.bot_coord:
+ self.bot_coord = self.get_coordinates_for(self.bot_marker)
+ return self.bot_coord
+
+ def next_move(self):
+ move = None
+ row_diff = self.bot_coord[0] - self.princess_coord[0]
+ col_diff = self.bot_coord[1] - self.princess_coord[1]
+ if not row_diff == 0:
+ if row_diff > 0:
+ move = 'UP'
+ else:
+ move = 'DOWN'
+ elif not col_diff == 0:
+ if col_diff > 0:
+ move = 'LEFT'
+ else:
+ move = 'RIGHT'
+ return move
+
+
+n = eval(input())
+x, y = [int(i) for i in input().strip().split()]
+grid = []
+for i in range(0, n):
+ grid.append(input())
+print(nextMove(n, x, y, grid))
diff --git a/hackerrank/AI/Bot-Building/bot-saves-princess-2.py b/hackerrank/AI/Bot-Building/bot-saves-princess-2.py
new file mode 100644
index 0000000..9132e80
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/bot-saves-princess-2.py
@@ -0,0 +1,30 @@
+def nextMove(n, r, c, grid):
+ pos_col_m = c
+ pos_row_m = r
+ pos_col_p = pos_row_p = 0
+ for i in range(n):
+ line = len(grid[i])
+ for j in range(line):
+ if grid[i][j] == 'p':
+ pos_row_p = i
+ pos_col_p = j
+ if pos_row_m < pos_row_p:
+ pos_row_m = pos_row_m + 1
+ return 'DOWN'
+ elif pos_row_m > pos_row_p:
+ pos_row_m = pos_row_m - 1
+ return 'UP'
+ if pos_col_m < pos_col_p:
+ pos_col_m = pos_col_m + 1
+ return 'RIGHT'
+ elif pos_col_m > pos_col_p:
+ pos_col_m = pos_col_m - 1
+ return 'LEFT'
+
+
+n = int(input())
+r, c = [int(i) for i in input().strip().split()]
+grid = []
+for i in range(0, n):
+ grid.append(input())
+print(nextMove(n, r, c, grid))
diff --git a/hackerrank/AI/Bot-Building/bot-saves-princess.py b/hackerrank/AI/Bot-Building/bot-saves-princess.py
new file mode 100644
index 0000000..aef5dc5
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/bot-saves-princess.py
@@ -0,0 +1,54 @@
+# Princess Peach is trapped in one of the four corners of a square grid.
+# You are in the center of the grid and can move one step at a time in
+# any of the four directions. Can you rescue the princess?
+
+# Complete the function displayPathtoPrincess which takes in two
+# parameters - the integer N and the character array grid. The grid
+# will be formatted exactly as you see it in the input, so for the
+# sample input the princess is at grid[2][0]. The function shall output
+# moves (LEFT, RIGHT, UP or DOWN) on consecutive lines to rescue/reach
+# the princess. The goal is to reach the princess in as few moves as possible.
+
+# Link: https://www.hackerrank.com/challenges/saveprincess
+# Developer: Murillo Grubler
+
+def displayPathtoPrincess(n,grid):
+ pos_col = {}
+ pos_row = {}
+ not_find = True
+
+ for i in range(n):
+ line = len(grid[i])
+ for j in range(line):
+ if grid[i][j] == 'm':
+ pos_row['m'] = i
+ pos_col['m'] = j
+ elif grid[i][j] == 'p':
+ pos_row['p'] = i
+ pos_col['p'] = j
+
+ while (not_find):
+ if pos_row['m'] < pos_row['p']:
+ pos_row['m'] = pos_row['m'] + 1
+ print ('DOWN')
+ elif pos_row['m'] > pos_row['p']:
+ pos_row['m'] = pos_row['m'] - 1
+ print ('UP')
+
+ if pos_col['m'] < pos_col['p']:
+ pos_col['m'] = pos_col['m'] + 1
+ print ('RIGHT')
+ elif pos_col['m'] > pos_col['p']:
+ pos_col['m'] = pos_col['m'] - 1
+ print ('LEFT')
+
+ if pos_col['m'] == pos_col['p'] and pos_row['m'] == pos_row['m']:
+ not_find = False
+
+#print all the moves here
+m = int(input())
+grid = []
+for i in range(0, m):
+ grid.append(input().strip())
+
+displayPathtoPrincess(m,grid)
\ No newline at end of file
diff --git a/hackerrank/AI/Bot-Building/botclean-large.py b/hackerrank/AI/Bot-Building/botclean-large.py
new file mode 100644
index 0000000..70d17f2
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/botclean-large.py
@@ -0,0 +1,36 @@
+import math
+
+
+def update_position(posr, posc, dirties):
+ nearest_dirt = []
+ for i in range(len(dirties)):
+ result = math.sqrt(
+ ((dirties[i][0] - posr) ** 2) + ((dirties[i][1] - posc) ** 2))
+ nearest_dirt.append(result)
+ return [x for (y, x) in sorted(zip(nearest_dirt, dirties))]
+
+
+def next_move(posx, posy, dimx, dimy, board):
+ dirties = []
+ for i in range(dimx):
+ for j in range(dimy):
+ if board[i][j] == 'd':
+ dirties.append([i, j])
+ next_dirt = update_position(posx, posy, dirties)
+ if next_dirt[0][0] < posx:
+ print('UP')
+ elif next_dirt[0][0] > posx:
+ print('DOWN')
+ elif next_dirt[0][1] < posy:
+ print('LEFT')
+ elif next_dirt[0][1] > posy:
+ print('RIGHT')
+ else:
+ print('CLEAN')
+
+
+if __name__ == "__main__":
+ pos = [int(i) for i in input().strip().split()]
+ dim = [int(i) for i in input().strip().split()]
+ board = [[j for j in input().strip()] for i in range(dim[0])]
+ next_move(pos[0], pos[1], dim[0], dim[1], board)
diff --git a/hackerrank/AI/Bot-Building/botclean-partially-observable.py b/hackerrank/AI/Bot-Building/botclean-partially-observable.py
new file mode 100644
index 0000000..fa13b2e
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/botclean-partially-observable.py
@@ -0,0 +1,95 @@
+import os
+import math
+
+
+def get_info_file():
+ temp_memory_board = []
+ filename = "file-bot/board.txt"
+ if os.path.isfile(filename):
+ with open(filename, "r") as f:
+ memory_board = f.read().split('\n')
+ for i in range(len(memory_board)):
+ temp_row_memory = []
+ for j in range(len(memory_board[i])):
+ temp_row_memory.append(memory_board[i][j])
+ temp_memory_board.append(temp_row_memory)
+ return temp_memory_board
+
+
+def save_info_file(board, filename):
+ os.makedirs(os.path.dirname(filename), exist_ok=True)
+ with open(filename, "w") as f:
+ for i in range(len(board)):
+ columns = "\n" if i > 0 else ""
+ for j in range(len(board[i])):
+ if board[i][j] == "b":
+ columns = columns + "-"
+ else:
+ columns = columns + board[i][j]
+ f.write(columns)
+
+
+def update_info_file(board):
+ filename = "file-bot/board.txt"
+ if os.path.isfile(filename):
+ with open(filename, "r") as f:
+ new_memory_board = []
+ memory_board = f.read().split('\n')
+ for i in range(len(memory_board)):
+ new_row_memory = []
+ for j in range(len(memory_board[i])):
+ if ((memory_board[i][j] == 'o' and board[i][j] == '-') or
+ (memory_board[i][j] == 'd' and board[i][j] == '-') or
+ (memory_board[i][j] == 'd' and board[i][j] == 'b')):
+ new_row_memory.append('-')
+ elif memory_board[i][j] == 'o' and board[i][j] == 'd':
+ new_row_memory.append('d')
+ else:
+ new_row_memory.append(memory_board[i][j])
+ new_memory_board.append(new_row_memory)
+ save_info_file(new_memory_board, filename)
+ else:
+ save_info_file(board, filename)
+
+
+def update_position(posr, posc, dirties):
+ nearest_dirt = []
+ for i in range(len(dirties)):
+ result = math.sqrt(
+ ((dirties[i][0] - posr) ** 2) + ((dirties[i][1] - posc) ** 2))
+ nearest_dirt.append(result)
+ return [x for (y, x) in sorted(zip(nearest_dirt, dirties))]
+
+
+def get_element_board(board, element):
+ dirties = []
+ for i in range(len(board)):
+ for j in range(len(board[i])):
+ if board[i][j] in element:
+ dirties.append([i, j])
+ return dirties
+
+
+def next_move(posx, posy, board):
+ update_info_file(board)
+ elements = get_element_board(board, ['d'])
+ if len(elements) == 0:
+ elements = get_element_board(get_info_file(), ['o', 'd'])
+ next_dirt = update_position(posx, posy, elements)
+ if (len(next_dirt) > 0):
+ if next_dirt[0][1] > posy:
+ print('RIGHT')
+ elif next_dirt[0][1] < posy:
+ print('LEFT')
+ elif next_dirt[0][0] < posx:
+ print('UP')
+ elif next_dirt[0][0] > posx:
+ print('DOWN')
+ else:
+ print('CLEAN')
+
+
+if __name__ == "__main__":
+ pos = [int(i) for i in input().strip().split()]
+ board = [[j for j in input().strip()] for i in range(5)]
+ next_move(pos[0], pos[1], board)
diff --git a/hackerrank/AI/Bot-Building/botclean-stochastic.py b/hackerrank/AI/Bot-Building/botclean-stochastic.py
new file mode 100644
index 0000000..15ee86f
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/botclean-stochastic.py
@@ -0,0 +1,23 @@
+def nextMove(posr, posc, board):
+ dirty_row = dirty_col = 0
+ for i in range(len(board)):
+ for j in range(len(board[i])):
+ if board[i][j] == 'd':
+ dirty_row = i
+ dirty_col = j
+ if dirty_col < posc:
+ print('LEFT')
+ elif dirty_col > posc:
+ print('RIGHT')
+ elif dirty_row < posr:
+ print('UP')
+ elif dirty_row > posr:
+ print('DOWN')
+ else:
+ print('CLEAN')
+
+
+if __name__ == "__main__":
+ pos = [int(i) for i in input().strip().split()]
+ board = [[j for j in input().strip()] for i in range(5)]
+ nextMove(pos[0], pos[1], board)
diff --git a/hackerrank/AI/Bot-Building/botclean.py b/hackerrank/AI/Bot-Building/botclean.py
new file mode 100644
index 0000000..0417483
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/botclean.py
@@ -0,0 +1,35 @@
+import math
+
+
+def update_position(posr, posc, dirties):
+ nearest_dirt = []
+ for i in range(len(dirties)):
+ result = math.sqrt(
+ ((dirties[i][0] - posr) ** 2) + ((dirties[i][1] - posc) ** 2))
+ nearest_dirt.append(result)
+ return [x for (y, x) in sorted(zip(nearest_dirt, dirties))]
+
+
+def next_move(posr, posc, board):
+ dirties = []
+ for i in range(len(board)):
+ for j in range(len(board[i])):
+ if board[i][j] == 'd':
+ dirties.append([i, j])
+ next_dirt = update_position(posr, posc, dirties)
+ if next_dirt[0][1] < posc:
+ print('LEFT')
+ elif next_dirt[0][1] > posc:
+ print('RIGHT')
+ elif next_dirt[0][0] < posr:
+ print('UP')
+ elif next_dirt[0][0] > posr:
+ print('DOWN')
+ else:
+ pass
+
+
+if __name__ == "__main__":
+ pos = [int(i) for i in input().strip().split()]
+ board = [[j for j in input().strip()] for i in range(5)]
+ next_move(pos[0], pos[1], board)
diff --git a/hackerrank/AI/Bot-Building/complex.py b/hackerrank/AI/Bot-Building/complex.py
new file mode 100644
index 0000000..b2391fb
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/complex.py
@@ -0,0 +1,28 @@
+import math
+
+class Complex(complex):
+ def __add__(self, no):
+ return Complex(complex.__add__(self, no))
+
+ def __sub__(self, no):
+ return Complex(complex.__sub__(self, no))
+
+ def __mul__(self, no):
+ return Complex(complex.__mul__(self, no))
+
+ def __truediv__(self, no):
+ return Complex(complex.__truediv__(self, no))
+
+ def mod(self):
+ return Complex(complex.__abs__(self))
+
+ def __str__(self):
+ return '{0.real:.2f}{0.imag:+.2f}i'.format(self)
+
+
+if __name__ == '__main__':
+ c = map(float, input().split())
+ d = map(float, input().split())
+ x = Complex(*c)
+ y = Complex(*d)
+ print(*map(str, [x+y, x-y, x*y, x/y, x.mod(), y.mod()]), sep='\n')
\ No newline at end of file
diff --git a/hackerrank/AI/Bot-Building/hanoi_4.py b/hackerrank/AI/Bot-Building/hanoi_4.py
new file mode 100644
index 0000000..1d3e036
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/hanoi_4.py
@@ -0,0 +1,45 @@
+from collections import deque
+
+
+def moves(x):
+ for i in range(len(x)):
+ if x[i]:
+ for j in range(len(x)):
+ if not x[j] or x[i][-1] < x[j][-1]:
+ yield (i, j)
+
+
+def goal(x):
+ return all([len(x[i]) == 0 for i in range(1, len(x))])
+
+
+def bfs(x):
+ def make_tuple(z):
+ return tuple(tuple(t) for t in z)
+
+ def do_move(g, m):
+ y = [list(t) for t in g]
+ y[m[1]].append(y[m[0]].pop())
+ y[1:4] = sorted(y[1:4], key=lambda t: t[-1] if t else 0)
+ return make_tuple(y)
+ visited = set()
+ start = (make_tuple(x), 0)
+ q = deque([start])
+ visited.add(start)
+ while q:
+ node, depth = q.popleft()
+ if goal(node):
+ return depth
+ for move in moves(node):
+ child = do_move(node, move)
+ if child not in visited:
+ visited.add(child)
+ q.append((child, depth+1))
+
+
+N = int(input())
+A = [[] for i in range(4)]
+R = [int(t) for t in input().split()]
+for i in range(N):
+ A[R[i]-1] = [(i+1)] + A[R[i]-1]
+print(bfs(A))
diff --git a/hackerrank/AI/Bot-Building/maze-escape.py b/hackerrank/AI/Bot-Building/maze-escape.py
new file mode 100644
index 0000000..17aa080
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/maze-escape.py
@@ -0,0 +1,16 @@
+def next_move(player, board):
+ print("Player: {}".format(player))
+ move = ''
+ for i in range(len(board)):
+ for j in range(len(board[i])):
+ if i == 0 and j == 1 and board[i][j] == '-':
+ move = 'UP'
+ if i == 0 and j == 1 and board[i][j] == '-':
+ move = 'RIGHT'
+ print(move)
+
+
+if __name__ == "__main__":
+ player = int(input())
+ board = [[j for j in input().strip()] for i in range(3)]
+ next_move(player, board)
diff --git a/hackerrank/AI/Bot-Building/test.py b/hackerrank/AI/Bot-Building/test.py
new file mode 100644
index 0000000..6e512c1
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/test.py
@@ -0,0 +1,26 @@
+def compatible(a, b):
+ count = 0
+ for i in range(len(b)):
+ if a[i] == b[i]:
+ h = 10
+ elif abs(ord(a[i])-ord(b[i])) == 1:
+ count += 1
+ check = True
+ else:
+ count += 1
+ if count == 1:
+ return True
+ else:
+ return False
+
+s = int(input())
+n = int(input())
+name = []
+count = 0
+for i in range(n):
+ name.append(input())
+for i in range(len(name)):
+ for j in range(i + 1, len(name)):
+ if compatible(name[i], name[j]):
+ count += 1
+print(count)
diff --git a/hackerrank/AI/Bot-Building/timeconv.py b/hackerrank/AI/Bot-Building/timeconv.py
new file mode 100644
index 0000000..afb4d83
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/timeconv.py
@@ -0,0 +1,46 @@
+t = input()
+flag = 0
+if 'P' in t:
+ if '12' in t:
+ flag = 0
+ else:
+ flag = 1
+elif 'A' in t:
+ if '12' in t:
+ flag = 1
+ else:
+ flag = 0
+else:
+ pass
+
+hh = int(t[:2])
+mm = int(t[3:5])
+ss = int(t[6:8])
+if flag == 1:
+ hh += 12
+elif flag == 0:
+ pass
+else:
+ pass
+
+
+if hh < 10:
+ hh = '0'+str(hh)
+elif hh == 24:
+ hh = '00'
+else:
+ hh = str(hh)
+
+if mm < 10:
+ mm = '0'+str(mm)
+else:
+ mm = str(mm)
+
+if ss < 10:
+ ss = '0'+str(ss)
+else:
+ ss = str(ss)
+
+time = hh+':'+mm+':'+ss
+
+print(time)
diff --git a/hackerrank/AI/Bot-Building/tor.py b/hackerrank/AI/Bot-Building/tor.py
new file mode 100644
index 0000000..9b42eb0
--- /dev/null
+++ b/hackerrank/AI/Bot-Building/tor.py
@@ -0,0 +1,30 @@
+import math
+class Points(object):
+ def __init__(self, x, y, z):
+ self.x=x
+ self.y=y
+ self.z=z
+
+ def __sub__(self, no):
+ return Points((self.x-no.x),(self.y-no.y),(self.z-no.z))
+
+ def dot(self, no):
+ return (self.x*no.x)+(self.y*no.y)+(self.z*no.z)
+
+ def cross(self, no):
+ return Points((self.y*no.z-self.z*no.y),(self.z*no.x-self.x*no.z),(self.x*no.y-self.y*no.x))
+
+ def absolute(self):
+ return pow((self.x ** 2 + self.y ** 2 + self.z ** 2), 0.5)
+if __name__ == '__main__':
+ points = list()
+ for i in range(4):
+ a = list(map(float, input().split()))
+ points.append(a)
+
+ a, b, c, d = Points(*points[0]), Points(*points[1]), Points(*points[2]), Points(*points[3])
+ x = (b - a).cross(c - b)
+ y = (c - b).cross(d - c)
+ angle = math.acos(x.dot(y) / (x.absolute() * y.absolute()))
+
+ print("%.2f" % math.degrees(angle))
\ No newline at end of file
diff --git a/hackerrank/AI/Digital-Image-Analysis/digital-camera-autodetect-day-or-night.py b/hackerrank/AI/Digital-Image-Analysis/digital-camera-autodetect-day-or-night.py
new file mode 100644
index 0000000..92f1f7d
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/digital-camera-autodetect-day-or-night.py
@@ -0,0 +1,7 @@
+import numpy as np
+img = input().split(" ")
+lum = 0
+for i in range(len(img)):
+ types = [int(i) for i in img[i].split(",")]
+ lum += np.sum(types) / 3
+print("day" if lum/len(img) > 90 else "night")
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.jpg
new file mode 100644
index 0000000..c506bf8
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.txt
new file mode 100644
index 0000000..e104288
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input00.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 255,255,255 253,253,253 244,244,244 246,246,246 255,255,255 197,197,197 253,253,253 254,254,254 255,255,255 255,255,255 181,181,181 194,194,194 253,253,253 255,255,255 249,249,249 239,239,239 255,255,255 255,255,255 245,245,245 255,255,255 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 241,241,241 255,255,255 193,193,193 232,232,232 199,199,199 255,255,255 176,176,176 251,251,251 255,255,255 238,238,238 252,252,252 255,255,255 254,254,254 255,255,255 249,249,249 255,255,255 245,245,245 253,253,253 188,188,188 251,251,251 255,255,255 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 248,248,248 185,185,185 241,241,241 235,235,235 255,255,255 246,246,246 200,200,200 193,193,193 245,245,245 246,246,246 255,255,255 255,255,255 232,232,232 255,255,255 253,253,253 242,242,242 255,255,255 246,246,246 255,255,255 255,255,255 223,223,223 255,255,255 255,255,255 241,241,241 183,183,183 236,236,236 191,191,191 241,241,241 203,203,203 250,250,250 236,236,236 247,247,247 255,255,255 243,243,243 254,254,254 248,248,248 255,255,255 249,249,249 255,255,255 253,253,253 192,192,192 250,250,250 245,245,245 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 251,251,251 255,255,255 255,255,255 238,238,238 255,255,255 171,171,171 219,219,219 197,197,197 198,198,198 174,174,174 209,209,209 195,195,195 252,252,252 255,255,255 249,249,249 246,246,246 255,255,255 231,231,231 255,255,255 242,242,242 246,246,246 255,255,255 248,248,248 249,249,249 255,255,255 255,255,255 249,249,249 245,245,245 179,179,179 255,255,255 228,228,228 249,249,249 194,194,194 255,255,255 255,255,255 255,255,255 243,243,243 239,239,239 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 231,231,231 207,207,207 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 241,241,241 240,240,240 255,255,255 0,0,0 0,0,0 18,18,18 0,0,0 3,3,3 18,18,18 0,0,0 197,197,197 244,244,244 229,229,229 250,250,250 0,0,0 0,0,0 18,18,18 6,6,6 0,0,0 247,247,247 255,255,255 3,3,3 12,12,12 218,218,218 255,255,255 240,240,240 255,255,255 18,18,18 0,0,0 255,255,255 14,14,14 3,3,3 176,176,176 186,186,186 191,191,191 191,191,191 0,0,0 0,0,0 170,170,170 200,200,200 188,188,188 196,196,196 216,216,216 170,170,170 0,0,0 0,0,0 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 241,241,241 255,255,255 255,255,255 243,243,243 0,0,0 0,0,0 250,250,250 248,248,248 248,248,248 237,237,237 250,250,250 188,188,188 255,255,255 255,255,255 10,10,10 0,0,0 254,254,254 234,234,234 242,242,242 13,13,13 13,13,13 245,245,245 0,0,0 0,0,0 246,246,246 255,255,255 242,242,242 254,254,254 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 247,247,247 0,0,0 36,36,36 247,247,247 255,255,255 251,251,251 239,239,239 245,245,245 248,248,248 12,12,12 2,2,2 13,13,13 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 248,248,248 255,255,255 239,239,239 255,255,255 2,2,2 15,15,15 250,250,250 255,255,255 245,245,245 255,255,255 255,255,255 173,173,173 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 247,247,247 236,236,236 249,249,249 247,247,247 0,0,0 19,19,19 247,247,247 250,250,250 1,1,1 13,13,13 250,250,250 252,252,252 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 7,7,7 233,233,233 252,252,252 239,239,239 234,234,234 255,255,255 240,240,240 0,0,0 0,0,0 0,0,0 0,0,0 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 246,246,246 255,255,255 255,255,255 234,234,234 0,0,0 0,0,0 249,249,249 255,255,255 231,231,231 255,255,255 243,243,243 178,178,178 255,255,255 25,25,25 0,0,0 253,253,253 230,230,230 251,251,251 255,255,255 255,255,255 189,189,189 206,206,206 188,188,188 200,200,200 0,0,0 19,19,19 0,0,0 2,2,2 159,159,159 203,203,203 191,191,191 0,0,0 8,8,8 180,180,180 11,11,11 0,0,0 170,170,170 212,212,212 184,184,184 192,192,192 194,194,194 239,239,239 10,10,10 10,10,10 255,255,255 0,0,0 10,10,10 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 239,239,239 240,240,240 255,255,255 0,0,0 0,0,0 2,2,2 0,0,0 10,10,10 0,0,0 235,235,235 213,213,213 250,250,250 0,0,0 6,6,6 251,251,251 255,255,255 255,255,255 235,235,235 255,255,255 192,192,192 243,243,243 255,255,255 251,251,251 255,255,255 0,0,0 8,8,8 255,255,255 255,255,255 250,250,250 247,247,247 0,0,0 0,0,0 10,10,10 0,0,0 255,255,255 248,248,248 255,255,255 252,252,252 255,255,255 197,197,197 6,6,6 0,0,0 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+191,191,191 192,192,192 194,194,194 198,198,198 195,195,195 4,4,4 2,2,2 247,247,247 179,179,179 207,207,207 184,184,184 182,182,182 220,220,220 219,219,219 15,15,15 0,0,0 243,243,243 255,255,255 243,243,243 0,0,0 5,5,5 0,0,0 247,247,247 255,255,255 247,247,247 255,255,255 0,0,0 0,0,0 255,255,255 246,246,246 236,236,236 255,255,255 3,3,3 3,3,3 0,0,0 0,0,0 255,255,255 250,250,250 252,252,252 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 241,241,241 254,254,254 18,18,18 0,0,0 249,249,249 255,255,255 246,246,246 255,255,255 255,255,255 251,251,251 210,210,210 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 239,239,239 240,240,240 246,246,246 8,8,8 1,1,1 255,255,255 199,199,199 232,232,232 251,251,251 255,255,255 184,184,184 255,255,255 0,0,0 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 3,3,3 11,11,11 228,228,228 255,255,255 255,255,255 239,239,239 0,0,0 4,4,4 250,250,250 254,254,254 255,255,255 251,251,251 0,0,0 0,0,0 255,255,255 12,12,12 0,0,0 254,254,254 253,253,253 246,246,246 252,252,252 5,5,5 18,18,18 0,0,0 13,13,13 0,0,0 0,0,0 21,21,21 2,2,2 233,233,233 255,255,255 235,235,235 252,252,252 251,251,251 183,183,183 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 254,254,254 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 253,253,253 195,195,195 255,255,255 255,255,255 253,253,253 185,185,185 244,244,244 14,14,14 0,0,0 254,254,254 245,245,245 253,253,253 244,244,244 0,0,0 0,0,0 255,255,255 255,255,255 255,255,255 255,255,255 1,1,1 0,0,0 255,255,255 246,246,246 249,249,249 248,248,248 14,14,14 0,0,0 255,255,255 241,241,241 2,2,2 21,21,21 255,255,255 249,249,249 251,251,251 196,196,196 236,236,236 255,255,255 243,243,243 253,253,253 8,8,8 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 249,249,249 252,252,252 211,211,211 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 248,248,248 249,249,249 240,240,240 245,245,245 5,5,5 31,31,31 233,233,233 190,190,190 202,202,202 179,179,179 203,203,203 197,197,197 239,239,239 255,255,255 0,0,0 6,6,6 255,255,255 255,255,255 255,255,255 13,13,13 0,0,0 255,255,255 248,248,248 236,236,236 243,243,243 0,0,0 8,8,8 241,241,241 252,252,252 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 249,249,249 0,0,0 0,0,0 255,255,255 247,247,247 194,194,194 255,255,255 252,252,252 255,255,255 242,242,242 1,1,1 0,0,0 243,243,243 250,250,250 242,242,242 255,255,255 255,255,255 244,244,244 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+239,239,239 186,186,186 203,203,203 190,190,190 188,188,188 2,2,2 0,0,0 8,8,8 0,0,0 0,0,0 0,0,0 8,8,8 193,193,193 197,197,197 159,159,159 197,197,197 0,0,0 0,0,0 0,0,0 8,8,8 0,0,0 170,170,170 250,250,250 255,255,255 255,255,255 255,255,255 6,6,6 0,0,0 244,244,244 255,255,255 247,247,247 255,255,255 6,6,6 0,0,0 248,248,248 255,255,255 248,248,248 255,255,255 0,0,0 5,5,5 255,255,255 185,185,185 238,238,238 255,255,255 251,251,251 254,254,254 9,9,9 5,5,5 247,247,247 255,255,255 248,248,248 232,232,232 255,255,255 255,255,255 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 188,188,188 238,238,238 243,243,243 255,255,255 239,239,239 255,255,255 255,255,255 253,253,253 250,250,250 215,215,215 248,248,248 204,204,204 247,247,247 255,255,255 249,249,249 255,255,255 212,212,212 251,251,251 248,248,248 255,255,255 212,212,212 255,255,255 241,241,241 240,240,240 255,255,255 236,236,236 255,255,255 255,255,255 236,236,236 255,255,255 240,240,240 242,242,242 179,179,179 252,252,252 255,255,255 255,255,255 236,236,236 255,255,255 235,235,235 249,249,249 171,171,171 222,222,222 187,187,187 164,164,164 217,217,217 159,159,159 255,255,255 252,252,252 236,236,236 254,254,254 255,255,255 246,246,246 247,247,247 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 181,181,181 255,255,255 251,251,251 245,245,245 242,242,242 255,255,255 244,244,244 255,255,255 255,255,255 177,177,177 240,240,240 200,200,200 255,255,255 241,241,241 244,244,244 241,241,241 201,201,201 255,255,255 243,243,243 242,242,242 176,176,176 181,181,181 192,192,192 200,200,200 182,182,182 186,186,186 204,204,204 198,198,198 193,193,193 198,198,198 194,194,194 197,197,197 197,197,197 255,255,255 246,246,246 255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 195,195,195 250,250,250 251,251,251 245,245,245 255,255,255 186,186,186 253,253,253 255,255,255 255,255,255 249,249,249 242,242,242 242,242,242 255,255,255 202,202,202 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 179,179,179 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 246,246,246 248,248,248 250,250,250 205,205,205 249,249,249 201,201,201 227,227,227 255,255,255 254,254,254 255,255,255 173,173,173 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 252,252,252 244,244,244 211,211,211 240,240,240 255,255,255 243,243,243 251,251,251 250,250,250 255,255,255 250,250,250 255,255,255 245,245,245 245,245,245 255,255,255 252,252,252 238,238,238 255,255,255 252,252,252 191,191,191 247,247,247 254,254,254 255,255,255 250,250,250 179,179,179 255,255,255 253,253,253 251,251,251 255,255,255 255,255,255 249,249,249 247,247,247 185,185,185 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.jpg
new file mode 100644
index 0000000..51fb7cc
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.txt
new file mode 100644
index 0000000..a7400f1
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input01.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 251,251,251 251,251,251 255,255,255 189,189,189 182,182,182 255,255,255 247,247,247 255,255,255 252,252,252 255,255,255 247,247,247 255,255,255 255,255,255 248,248,248 255,255,255 247,247,247 255,255,255 248,248,248 248,248,248 255,255,255 250,250,250 196,196,196 253,253,253 194,194,194 250,250,250 213,213,213 227,227,227 255,255,255 243,243,243 255,255,255 244,244,244 252,252,252 255,255,255 249,249,249 255,255,255 248,248,248 255,255,255 180,180,180 249,249,249 255,255,255 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 238,238,238 255,255,255 241,241,241 190,190,190 201,201,201 249,249,249 255,255,255 230,230,230 255,255,255 242,242,242 254,254,254 251,251,251 247,247,247 248,248,248 255,255,255 255,255,255 250,250,250 255,255,255 247,247,247 243,243,243 249,249,249 191,191,191 187,187,187 201,201,201 234,234,234 166,166,166 255,255,255 248,248,248 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255 249,249,249 251,251,251 250,250,250 240,240,240 202,202,202 255,255,255 238,238,238 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 207,207,207 167,167,167 212,212,212 177,177,177 192,192,192 249,249,249 241,241,241 255,255,255 248,248,248 255,255,255 241,241,241 255,255,255 240,240,240 255,255,255 255,255,255 245,245,245 255,255,255 253,253,253 241,241,241 255,255,255 249,249,249 183,183,183 255,255,255 243,243,243 255,255,255 212,212,212 235,235,235 255,255,255 249,249,249 249,249,249 247,247,247 246,246,246 243,243,243 255,255,255 235,235,235 255,255,255 255,255,255 202,202,202 255,255,255 255,255,255 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 0,0,0 8,8,8 16,16,16 8,8,8 176,176,176 248,248,248 1,1,1 0,0,0 0,0,0 4,4,4 5,5,5 0,0,0 1,1,1 243,243,243 255,255,255 244,244,244 252,252,252 2,2,2 0,0,0 7,7,7 0,0,0 2,2,2 253,253,253 241,241,241 218,218,218 0,0,0 12,12,12 0,0,0 0,0,0 10,10,10 184,184,184 197,197,197 187,187,187 0,0,0 10,10,10 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 246,246,246 246,246,246 246,246,246 0,0,0 0,0,0 255,255,255 9,9,9 5,5,5 246,246,246 255,255,255 236,236,236 244,244,244 4,4,4 12,12,12 248,248,248 249,249,249 4,4,4 1,1,1 250,250,250 244,244,244 255,255,255 0,0,0 0,0,0 255,255,255 27,27,27 0,0,0 255,255,255 255,255,255 240,240,240 0,0,0 5,5,5 253,253,253 252,252,252 19,19,19 0,0,0 241,241,241 255,255,255 255,255,255 250,250,250 255,255,255 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 255,255,255 255,255,255 255,255,255 244,244,244 200,200,200 254,254,254 0,0,0 0,0,0 255,255,255 237,237,237 255,255,255 253,253,253 7,7,7 0,0,0 236,236,236 25,25,25 0,0,0 255,255,255 255,255,255 239,239,239 251,251,251 229,229,229 0,0,0 246,246,246 235,235,235 238,238,238 255,255,255 255,255,255 240,240,240 197,197,197 0,0,0 0,0,0 254,254,254 0,0,0 0,0,0 242,242,242 238,238,238 255,255,255 184,184,184 186,186,186 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 217,217,217 255,255,255 255,255,255 186,186,186 255,255,255 10,10,10 0,0,0 238,238,238 255,255,255 255,255,255 246,246,246 21,21,21 0,0,0 221,221,221 0,0,0 0,0,0 187,187,187 195,195,195 191,191,191 189,189,189 169,169,169 175,175,175 224,224,224 209,209,209 183,183,183 186,186,186 203,203,203 188,188,188 5,5,5 15,15,15 184,184,184 192,192,192 0,0,0 10,10,10 255,255,255 0,0,0 0,0,0 9,9,9 253,253,253 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 253,253,253 255,255,255 255,255,255 235,235,235 198,198,198 249,249,249 0,0,0 0,0,0 3,3,3 7,7,7 0,0,0 6,6,6 0,0,0 194,194,194 240,240,240 18,18,18 2,2,2 244,244,244 255,255,255 248,248,248 255,255,255 255,255,255 255,255,255 233,233,233 250,250,250 200,200,200 255,255,255 0,0,0 2,2,2 7,7,7 247,247,247 252,252,252 255,255,255 0,0,0 3,3,3 0,0,0 252,252,252 255,255,255 0,0,0 8,8,8 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 187,187,187 178,178,178 11,11,11 0,0,0 4,4,4 255,255,255 0,0,0 7,7,7 0,0,0 0,0,0 0,0,0 255,255,255 244,244,244 210,210,210 238,238,238 0,0,0 10,10,10 246,246,246 255,255,255 255,255,255 245,245,245 247,247,247 255,255,255 246,246,246 242,242,242 199,199,199 255,255,255 255,255,255 253,253,253 0,0,0 0,0,0 255,255,255 255,255,255 192,192,192 244,244,244 255,255,255 255,255,255 255,255,255 190,190,190 4,4,4 0,0,0 255,255,255 244,244,244 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 189,189,189 255,255,255 246,246,246 18,18,18 0,0,0 255,255,255 6,6,6 0,0,0 255,255,255 255,255,255 7,7,7 2,2,2 254,254,254 178,178,178 249,249,249 5,5,5 0,0,0 255,255,255 232,232,232 254,254,254 255,255,255 243,243,243 252,252,252 255,255,255 255,255,255 183,183,183 244,244,244 244,244,244 235,235,235 255,255,255 0,0,0 0,0,0 255,255,255 179,179,179 255,255,255 236,236,236 251,251,251 254,254,254 190,190,190 0,0,0 13,13,13 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 201,201,201 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 186,186,186 239,239,239 255,255,255 0,0,0 12,12,12 255,255,255 0,0,0 0,0,0 242,242,242 246,246,246 255,255,255 0,0,0 0,0,0 193,193,193 255,255,255 0,0,0 7,7,7 255,255,255 255,255,255 244,244,244 248,248,248 255,255,255 0,0,0 255,255,255 253,253,253 176,176,176 255,255,255 255,255,255 255,255,255 241,241,241 3,3,3 12,12,12 234,234,234 27,27,27 6,6,6 255,255,255 254,254,254 255,255,255 173,173,173 8,8,8 0,0,0 217,217,217 255,255,255 255,255,255 248,248,248 255,255,255 190,190,190 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 197,197,197 202,202,202 173,173,173 1,1,1 0,0,0 240,240,240 1,1,1 3,3,3 255,255,255 255,255,255 248,248,248 255,255,255 10,10,10 0,0,0 252,252,252 255,255,255 0,0,0 3,3,3 255,255,255 255,255,255 240,240,240 6,6,6 11,11,11 245,245,245 0,0,0 10,10,10 255,255,255 231,231,231 253,253,253 6,6,6 0,0,0 248,248,248 255,255,255 190,190,190 0,0,0 0,0,0 255,255,255 252,252,252 13,13,13 0,0,0 250,250,250 255,255,255 253,253,253 250,250,250 247,247,247 255,255,255 189,189,189 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 207,207,207 195,195,195 0,0,0 10,10,10 188,188,188 180,180,180 200,200,200 186,186,186 0,0,0 6,6,6 255,255,255 241,241,241 255,255,255 4,4,4 0,0,0 5,5,5 6,6,6 1,1,1 233,233,233 255,255,255 250,250,250 11,11,11 0,0,0 7,7,7 6,6,6 0,0,0 255,255,255 255,255,255 255,255,255 165,165,165 255,255,255 14,14,14 0,0,0 0,0,0 0,0,0 246,246,246 244,244,244 249,249,249 247,247,247 255,255,255 249,249,249 250,250,250 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 202,202,202 255,255,255 187,187,187 255,255,255 255,255,255 252,252,252 253,253,253 203,203,203 255,255,255 255,255,255 255,255,255 203,203,203 247,247,247 245,245,245 245,245,245 240,240,240 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 235,235,235 238,238,238 186,186,186 249,249,249 255,255,255 250,250,250 248,248,248 255,255,255 230,230,230 237,237,237 199,199,199 187,187,187 186,186,186 183,183,183 188,188,188 188,188,188 254,254,254 255,255,255 251,251,251 239,239,239 250,250,250 253,253,253 255,255,255 192,192,192 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 249,249,249 230,230,230 186,186,186 255,255,255 181,181,181 229,229,229 255,255,255 244,244,244 255,255,255 180,180,180 251,251,251 234,234,234 251,251,251 212,212,212 161,161,161 215,215,215 206,206,206 184,184,184 170,170,170 198,198,198 199,199,199 183,183,183 194,194,194 205,205,205 199,199,199 214,214,214 233,233,233 247,247,247 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 185,185,185 246,246,246 255,255,255 255,255,255 245,245,245 191,191,191 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 243,243,243 249,249,249 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 254,254,254 201,201,201 241,241,241 203,203,203 242,242,242 255,255,255 244,244,244 254,254,254 196,196,196 255,255,255 255,255,255 252,252,252 249,249,249 253,253,253 244,244,244 241,241,241 207,207,207 245,245,245 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 236,236,236 255,255,255 255,255,255 236,236,236 255,255,255 255,255,255 251,251,251 248,248,248 191,191,191 255,255,255 246,246,246 255,255,255 246,246,246 194,194,194 246,246,246 255,255,255 255,255,255 246,246,246 254,254,254 255,255,255 255,255,255 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.jpg
new file mode 100644
index 0000000..07e59ce
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.txt
new file mode 100644
index 0000000..c14bfbe
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input02.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 253,253,253 255,255,255 244,244,244 194,194,194 192,192,192 255,255,255 245,245,245 255,255,255 255,255,255 247,247,247 255,255,255 255,255,255 255,255,255 253,253,253 255,255,255 255,255,255 251,251,251 255,255,255 245,245,245 255,255,255 254,254,254 192,192,192 242,242,242 195,195,195 252,252,252 202,202,202 241,241,241 248,248,248 246,246,246 253,253,253 255,255,255 255,255,255 246,246,246 255,255,255 241,241,241 255,255,255 242,242,242 184,184,184 255,255,255 244,244,244 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 232,232,232 255,255,255 246,246,246 197,197,197 183,183,183 255,255,255 255,255,255 236,236,236 253,253,253 255,255,255 240,240,240 255,255,255 251,251,251 253,253,253 253,253,253 249,249,249 238,238,238 247,247,247 244,244,244 247,247,247 255,255,255 170,170,170 215,215,215 200,200,200 252,252,252 164,164,164 255,255,255 255,255,255 255,255,255 255,255,255 226,226,226 255,255,255 255,255,255 255,255,255 245,245,245 255,255,255 249,249,249 203,203,203 239,239,239 254,254,254 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 195,195,195 196,196,196 186,186,186 184,184,184 192,192,192 255,255,255 249,249,249 255,255,255 249,249,249 251,251,251 255,255,255 235,235,235 242,242,242 255,255,255 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 185,185,185 250,250,250 234,234,234 245,245,245 212,212,212 251,251,251 242,242,242 240,240,240 252,252,252 255,255,255 249,249,249 241,241,241 255,255,255 240,240,240 243,243,243 245,245,245 198,198,198 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 6,6,6 0,0,0 17,17,17 250,250,250 196,196,196 239,239,239 251,251,251 247,247,247 0,0,0 0,0,0 4,4,4 0,0,0 254,254,254 255,255,255 247,247,247 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 7,7,7 11,11,11 237,237,237 255,255,255 10,10,10 0,0,0 195,195,195 210,210,210 200,200,200 170,170,170 9,9,9 3,3,3 194,194,194 195,195,195 190,190,190 187,187,187 13,13,13 0,0,0 238,238,238 255,255,255 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 250,250,250 249,249,249 0,0,0 0,0,0 191,191,191 255,255,255 249,249,249 0,0,0 0,0,0 255,255,255 243,243,243 8,8,8 0,0,0 255,255,255 255,255,255 0,0,0 7,7,7 245,245,245 255,255,255 253,253,253 241,241,241 191,191,191 255,255,255 245,245,245 0,0,0 11,11,11 241,241,241 255,255,255 240,240,240 197,197,197 9,9,9 0,0,0 231,231,231 253,253,253 255,255,255 14,14,14 0,0,0 0,0,0 255,255,255 244,244,244 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 254,254,254 255,255,255 255,255,255 13,13,13 198,198,198 241,241,241 0,0,0 0,0,0 255,255,255 232,232,232 252,252,252 247,247,247 0,0,0 14,14,14 245,245,245 0,0,0 3,3,3 232,232,232 255,255,255 250,250,250 255,255,255 183,183,183 255,255,255 252,252,252 0,0,0 1,1,1 248,248,248 252,252,252 243,243,243 209,209,209 0,0,0 0,0,0 255,255,255 249,249,249 0,0,0 0,0,0 2,2,2 4,4,4 203,203,203 182,182,182 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 252,252,252 248,248,248 242,242,242 252,252,252 171,171,171 255,255,255 8,8,8 15,15,15 250,250,250 252,252,252 255,255,255 255,255,255 12,12,12 0,0,0 193,193,193 17,17,17 0,0,0 197,197,197 6,6,6 0,0,0 0,0,0 202,202,202 191,191,191 196,196,196 0,0,0 0,0,0 201,201,201 202,202,202 205,205,205 179,179,179 3,3,3 2,2,2 199,199,199 172,172,172 255,255,255 255,255,255 0,0,0 17,17,17 187,187,187 255,255,255 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 0,0,0 8,8,8 5,5,5 238,238,238 217,217,217 253,253,253 0,0,0 0,0,0 255,255,255 255,255,255 252,252,252 246,246,246 4,4,4 0,0,0 255,255,255 0,0,0 1,1,1 6,6,6 246,246,246 255,255,255 1,1,1 0,0,0 255,255,255 245,245,245 6,6,6 0,0,0 255,255,255 0,0,0 8,8,8 250,250,250 0,0,0 1,1,1 252,252,252 212,212,212 248,248,248 253,253,253 4,4,4 0,0,0 187,187,187 251,251,251 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+197,197,197 196,196,196 181,181,181 194,194,194 196,196,196 2,2,2 1,1,1 2,2,2 189,189,189 196,196,196 0,0,0 0,0,0 195,195,195 253,253,253 0,0,0 1,1,1 255,255,255 255,255,255 248,248,248 245,245,245 0,0,0 0,0,0 255,255,255 244,244,244 254,254,254 251,251,251 245,245,245 255,255,255 250,250,250 2,2,2 12,12,12 242,242,242 5,5,5 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 1,1,1 255,255,255 204,204,204 236,236,236 255,255,255 0,0,0 0,0,0 207,207,207 250,250,250 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 250,250,250 255,255,255 238,238,238 255,255,255 0,0,0 0,0,0 250,250,250 191,191,191 238,238,238 255,255,255 22,22,22 0,0,0 255,255,255 0,0,0 0,0,0 251,251,251 242,242,242 255,255,255 255,255,255 0,0,0 4,4,4 235,235,235 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 247,247,247 0,0,0 0,0,0 255,255,255 0,0,0 1,1,1 249,249,249 8,8,8 2,2,2 248,248,248 8,8,8 0,0,0 251,251,251 179,179,179 255,255,255 251,251,251 0,0,0 10,10,10 182,182,182 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 248,248,248 254,254,254 246,246,246 247,247,247 0,0,0 2,2,2 255,255,255 189,189,189 255,255,255 255,255,255 0,0,0 3,3,3 255,255,255 0,0,0 2,2,2 239,239,239 255,255,255 251,251,251 236,236,236 3,3,3 3,3,3 255,255,255 0,0,0 0,0,0 255,255,255 245,245,245 255,255,255 255,255,255 22,22,22 0,0,0 255,255,255 0,0,0 4,4,4 1,1,1 1,1,1 0,0,0 2,2,2 15,15,15 0,0,0 248,248,248 204,204,204 244,244,244 249,249,249 11,11,11 0,0,0 187,187,187 236,236,236 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+236,236,236 255,255,255 253,253,253 249,249,249 241,241,241 255,255,255 8,8,8 0,0,0 200,200,200 179,179,179 0,0,0 0,0,0 202,202,202 249,249,249 249,249,249 13,13,13 0,0,0 252,252,252 248,248,248 19,19,19 0,0,0 195,195,195 255,255,255 255,255,255 1,1,1 9,9,9 250,250,250 244,244,244 0,0,0 0,0,0 255,255,255 251,251,251 13,13,13 0,0,0 0,0,0 248,248,248 241,241,241 0,0,0 0,0,0 5,5,5 253,253,253 191,191,191 255,255,255 253,253,253 0,0,0 3,3,3 208,208,208 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 179,179,179 204,204,204 174,174,174 207,207,207 209,209,209 198,198,198 0,0,0 0,0,0 4,4,4 7,7,7 253,253,253 192,192,192 179,179,179 186,186,186 173,173,173 5,5,5 3,3,3 0,0,0 0,0,0 196,196,196 191,191,191 244,244,244 255,255,255 255,255,255 0,0,0 14,14,14 0,0,0 3,3,3 255,255,255 252,252,252 255,255,255 0,0,0 7,7,7 244,244,244 255,255,255 255,255,255 240,240,240 11,11,11 0,0,0 255,255,255 175,175,175 5,5,5 0,0,0 5,5,5 0,0,0 2,2,2 0,0,0 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 183,183,183 245,245,245 254,254,254 255,255,255 240,240,240 251,251,251 255,255,255 251,251,251 255,255,255 181,181,181 241,241,241 203,203,203 248,248,248 255,255,255 255,255,255 248,248,248 215,215,215 228,228,228 254,254,254 255,255,255 202,202,202 245,245,245 247,247,247 246,246,246 249,249,249 252,252,252 251,251,251 255,255,255 225,225,225 255,255,255 241,241,241 228,228,228 213,213,213 252,252,252 243,243,243 244,244,244 255,255,255 250,250,250 255,255,255 255,255,255 162,162,162 205,205,205 180,180,180 171,171,171 213,213,213 178,178,178 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 198,198,198 243,243,243 255,255,255 248,248,248 235,235,235 255,255,255 238,238,238 250,250,250 238,238,238 199,199,199 252,252,252 187,187,187 255,255,255 243,243,243 248,248,248 242,242,242 189,189,189 255,255,255 243,243,243 240,240,240 179,179,179 205,205,205 194,194,194 197,197,197 170,170,170 194,194,194 208,208,208 182,182,182 207,207,207 201,201,201 195,195,195 206,206,206 193,193,193 237,237,237 255,255,255 255,255,255 255,255,255 239,239,239 248,248,248 251,251,251 192,192,192 255,255,255 255,255,255 254,254,254 250,250,250 190,190,190 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 187,187,187 241,241,241 255,255,255 250,250,250 255,255,255 247,247,247 255,255,255 255,255,255 255,255,255 190,190,190 248,248,248 202,202,202 232,232,232 255,255,255 246,246,246 255,255,255 190,190,190 248,248,248 253,253,253 255,255,255 255,255,255 234,234,234 255,255,255 253,253,253 212,212,212 238,238,238 248,248,248 255,255,255 237,237,237 245,245,245 255,255,255 254,254,254 252,252,252 244,244,244 252,252,252 247,247,247 245,245,245 255,255,255 254,254,254 255,255,255 195,195,195 248,248,248 249,249,249 255,255,255 253,253,253 182,182,182 254,254,254 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.jpg
new file mode 100644
index 0000000..5d8c767
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.txt
new file mode 100644
index 0000000..0d561ea
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input03.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 255,255,255 250,250,250 255,255,255 250,250,250 255,255,255 198,198,198 255,255,255 249,249,249 255,255,255 254,254,254 185,185,185 191,191,191 255,255,255 250,250,250 254,254,254 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 254,254,254 250,250,250 255,255,255 251,251,251 255,255,255 246,246,246 252,252,252 255,255,255 193,193,193 224,224,224 204,204,204 254,254,254 186,186,186 247,247,247 250,250,250 250,250,250 240,240,240 255,255,255 244,244,244 255,255,255 254,254,254 253,253,253 247,247,247 255,255,255 198,198,198 255,255,255 247,247,247 189,189,189 255,255,255 249,249,249 253,253,253 255,255,255 242,242,242 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 254,254,254 251,251,251 255,255,255 255,255,255 255,255,255 182,182,182 234,234,234 255,255,255 244,244,244 249,249,249 183,183,183 203,203,203 253,253,253 236,236,236 255,255,255 254,254,254 255,255,255 255,255,255 229,229,229 246,246,246 255,255,255 236,236,236 255,255,255 249,249,249 255,255,255 255,255,255 235,235,235 227,227,227 190,190,190 222,222,222 193,193,193 246,246,246 181,181,181 248,248,248 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 255,255,255 242,242,242 244,244,244 255,255,255 247,247,247 194,194,194 242,242,242 255,255,255 196,196,196 255,255,255 255,255,255 249,249,249 255,255,255 255,255,255 196,196,196 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 255,255,255 255,255,255 254,254,254 175,175,175 222,222,222 187,187,187 194,194,194 196,196,196 207,207,207 167,167,167 255,255,255 255,255,255 249,249,249 253,253,253 241,241,241 247,247,247 255,255,255 255,255,255 235,235,235 255,255,255 253,253,253 249,249,249 228,228,228 255,255,255 255,255,255 255,255,255 190,190,190 255,255,255 237,237,237 255,255,255 191,191,191 250,250,250 245,245,245 255,255,255 252,252,252 236,236,236 240,240,240 242,242,242 255,255,255 248,248,248 255,255,255 247,247,247 188,188,188 255,255,255 239,239,239 184,184,184 238,238,238 255,255,255 255,255,255 255,255,255 251,251,251 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 249,249,249 255,255,255 252,252,252 255,255,255 186,186,186 240,240,240 0,0,0 0,0,0 0,0,0 8,8,8 183,183,183 248,248,248 239,239,239 255,255,255 3,3,3 0,0,0 7,7,7 0,0,0 255,255,255 248,248,248 245,245,245 237,237,237 246,246,246 23,23,23 0,0,0 5,5,5 0,0,0 190,190,190 242,242,242 255,255,255 0,0,0 6,6,6 21,21,21 0,0,0 0,0,0 3,3,3 10,10,10 2,2,2 193,193,193 177,177,177 194,194,194 0,0,0 0,0,0 1,1,1 0,0,0 0,0,0 201,201,201 255,255,255 251,251,251 245,245,245 252,252,252 244,244,244 192,192,192 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 255,255,255 252,252,252 255,255,255 250,250,250 255,255,255 194,194,194 255,255,255 234,234,234 255,255,255 0,0,0 1,1,1 211,211,211 255,255,255 243,243,243 7,7,7 1,1,1 251,251,251 250,250,250 0,0,0 0,0,0 255,255,255 255,255,255 255,255,255 13,13,13 0,0,0 253,253,253 255,255,255 0,0,0 5,5,5 255,255,255 253,253,253 244,244,244 255,255,255 228,228,228 255,255,255 249,249,249 196,196,196 0,0,0 1,1,1 255,255,255 254,254,254 0,0,0 14,14,14 248,248,248 253,253,253 254,254,254 17,17,17 7,7,7 231,231,231 254,254,254 249,249,249 255,255,255 255,255,255 206,206,206 234,234,234 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 254,254,254 255,255,255 255,255,255 252,252,252 254,254,254 192,192,192 255,255,255 255,255,255 255,255,255 0,0,0 11,11,11 175,175,175 231,231,231 0,0,0 2,2,2 250,250,250 252,252,252 244,244,244 255,255,255 0,0,0 245,245,245 238,238,238 0,0,0 0,0,0 246,246,246 255,255,255 254,254,254 242,242,242 0,0,0 0,0,0 250,250,250 255,255,255 236,236,236 254,254,254 255,255,255 229,229,229 198,198,198 5,5,5 0,0,0 245,245,245 1,1,1 8,8,8 248,248,248 255,255,255 242,242,242 204,204,204 162,162,162 0,0,0 195,195,195 196,196,196 181,181,181 195,195,195 197,197,197 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 254,254,254 254,254,254 255,255,255 252,252,252 255,255,255 191,191,191 252,252,252 255,255,255 216,216,216 0,0,0 0,0,0 205,205,205 255,255,255 9,9,9 0,0,0 255,255,255 244,244,244 247,247,247 252,252,252 255,255,255 180,180,180 234,234,234 191,191,191 190,190,190 178,178,178 197,197,197 189,189,189 193,193,193 14,14,14 8,8,8 193,193,193 187,187,187 167,167,167 201,201,201 220,220,220 191,191,191 13,13,13 0,0,0 193,193,193 175,175,175 17,17,17 0,0,0 245,245,245 255,255,255 254,254,254 205,205,205 255,255,255 248,248,248 255,255,255 241,241,241 245,245,245 255,255,255 249,249,249 181,181,181 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 248,248,248 253,253,253 250,250,250 255,255,255 195,195,195 255,255,255 251,251,251 255,255,255 5,5,5 0,0,0 181,181,181 244,244,244 3,3,3 0,0,0 255,255,255 0,0,0 11,11,11 3,3,3 244,244,244 200,200,200 236,236,236 255,255,255 254,254,254 255,255,255 237,237,237 255,255,255 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 204,204,204 254,254,254 249,249,249 1,1,1 0,0,0 255,255,255 254,254,254 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 242,242,242 186,186,186 252,252,252 254,254,254 238,238,238 251,251,251 255,255,255 247,247,247 255,255,255 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+191,191,191 197,197,197 184,184,184 199,199,199 186,186,186 188,188,188 205,205,205 248,248,248 177,177,177 198,198,198 0,0,0 6,6,6 195,195,195 245,245,245 8,8,8 0,0,0 0,0,0 255,255,255 254,254,254 1,1,1 0,0,0 198,198,198 244,244,244 250,250,250 246,246,246 255,255,255 247,247,247 22,22,22 1,1,1 252,252,252 251,251,251 254,254,254 254,254,254 190,190,190 255,255,255 2,2,2 0,0,0 255,255,255 245,245,245 255,255,255 255,255,255 0,0,0 3,3,3 244,244,244 255,255,255 242,242,242 191,191,191 255,255,255 255,255,255 242,242,242 255,255,255 243,243,243 255,255,255 242,242,242 189,189,189 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 247,247,247 253,253,253 240,240,240 255,255,255 242,242,242 247,247,247 255,255,255 202,202,202 241,241,241 0,0,0 0,0,0 186,186,186 255,255,255 1,1,1 5,5,5 255,255,255 252,252,252 246,246,246 246,246,246 6,6,6 14,14,14 235,235,235 255,255,255 255,255,255 246,246,246 11,11,11 0,0,0 251,251,251 254,254,254 243,243,243 255,255,255 255,255,255 172,172,172 0,0,0 6,6,6 240,240,240 255,255,255 248,248,248 245,245,245 255,255,255 0,0,0 4,4,4 255,255,255 248,248,248 250,250,250 206,206,206 240,240,240 255,255,255 255,255,255 241,241,241 248,248,248 253,253,253 255,255,255 207,207,207 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 245,245,245 252,252,252 249,249,249 248,248,248 255,255,255 0,0,0 255,255,255 196,196,196 250,250,250 3,3,3 8,8,8 204,204,204 228,228,228 0,0,0 3,3,3 242,242,242 255,255,255 255,255,255 255,255,255 8,8,8 0,0,0 247,247,247 251,251,251 253,253,253 2,2,2 0,0,0 255,255,255 255,255,255 252,252,252 255,255,255 252,252,252 239,239,239 29,29,29 0,0,0 255,255,255 255,255,255 243,243,243 244,244,244 255,255,255 234,234,234 9,9,9 0,0,0 255,255,255 249,249,249 240,240,240 191,191,191 255,255,255 0,0,0 243,243,243 255,255,255 255,255,255 251,251,251 252,252,252 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 249,249,249 255,255,255 250,250,250 236,236,236 244,244,244 10,10,10 13,13,13 187,187,187 13,13,13 0,0,0 203,203,203 197,197,197 243,243,243 255,255,255 0,0,0 3,3,3 255,255,255 245,245,245 11,11,11 0,0,0 209,209,209 255,255,255 254,254,254 0,0,0 0,0,0 255,255,255 248,248,248 218,218,218 255,255,255 255,255,255 244,244,244 4,4,4 0,0,0 255,255,255 250,250,250 255,255,255 253,253,253 255,255,255 239,239,239 255,255,255 189,189,189 10,10,10 0,0,0 254,254,254 255,255,255 202,202,202 0,0,0 2,2,2 255,255,255 254,254,254 243,243,243 255,255,255 255,255,255 186,186,186 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+232,232,232 191,191,191 209,209,209 186,186,186 205,205,205 200,200,200 192,192,192 0,0,0 0,0,0 1,1,1 180,180,180 255,255,255 188,188,188 202,202,202 168,168,168 187,187,187 0,0,0 0,0,0 4,4,4 0,0,0 191,191,191 180,180,180 254,254,254 0,0,0 0,0,0 4,4,4 6,6,6 0,0,0 20,20,20 1,1,1 0,0,0 255,255,255 13,13,13 0,0,0 243,243,243 255,255,255 234,234,234 255,255,255 255,255,255 252,252,252 255,255,255 180,180,180 255,255,255 1,1,1 3,3,3 0,0,0 0,0,0 0,0,0 241,241,241 255,255,255 245,245,245 255,255,255 255,255,255 255,255,255 193,193,193 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 192,192,192 249,249,249 227,227,227 252,252,252 255,255,255 245,245,245 255,255,255 240,240,240 253,253,253 195,195,195 250,250,250 199,199,199 251,251,251 246,246,246 255,255,255 251,251,251 224,224,224 238,238,238 248,248,248 252,252,252 220,220,220 255,255,255 255,255,255 255,255,255 242,242,242 245,245,245 255,255,255 250,250,250 236,236,236 248,248,248 254,254,254 230,230,230 196,196,196 255,255,255 254,254,254 255,255,255 254,254,254 249,249,249 250,250,250 234,234,234 184,184,184 205,205,205 174,174,174 175,175,175 207,207,207 178,178,178 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 176,176,176 255,255,255 249,249,249 255,255,255 247,247,247 244,244,244 255,255,255 248,248,248 255,255,255 181,181,181 244,244,244 196,196,196 254,254,254 249,249,249 254,254,254 249,249,249 183,183,183 241,241,241 255,255,255 248,248,248 191,191,191 161,161,161 185,185,185 200,200,200 174,174,174 183,183,183 196,196,196 202,202,202 195,195,195 213,213,213 189,189,189 203,203,203 202,202,202 245,245,245 241,241,241 252,252,252 255,255,255 241,241,241 255,255,255 255,255,255 182,182,182 250,250,250 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 247,247,247 254,254,254 255,255,255 237,237,237 255,255,255 255,255,255 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 187,187,187 253,253,253 255,255,255 254,254,254 254,254,254 251,251,251 248,248,248 255,255,255 238,238,238 190,190,190 255,255,255 192,192,192 234,234,234 255,255,255 240,240,240 255,255,255 162,162,162 255,255,255 242,242,242 245,245,245 255,255,255 255,255,255 255,255,255 243,243,243 224,224,224 229,229,229 255,255,255 249,249,249 239,239,239 255,255,255 255,255,255 252,252,252 247,247,247 249,249,249 253,253,253 255,255,255 255,255,255 243,243,243 255,255,255 247,247,247 190,190,190 255,255,255 250,250,250 246,246,246 255,255,255 180,180,180 249,249,249 255,255,255 244,244,244 252,252,252 255,255,255 246,246,246 255,255,255 196,196,196 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.jpg
new file mode 100644
index 0000000..519720f
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.txt
new file mode 100644
index 0000000..8479800
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input04.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+247,247,247 255,255,255 242,242,242 255,255,255 247,247,247 255,255,255 187,187,187 255,255,255 253,253,253 255,255,255 255,255,255 178,178,178 185,185,185 254,254,254 255,255,255 251,251,251 254,254,254 249,249,249 254,254,254 254,254,254 255,255,255 255,255,255 253,253,253 254,254,254 255,255,255 249,249,249 255,255,255 252,252,252 248,248,248 209,209,209 228,228,228 201,201,201 253,253,253 184,184,184 255,255,255 255,255,255 232,232,232 255,255,255 255,255,255 248,248,248 255,255,255 254,254,254 253,253,253 247,247,247 255,255,255 198,198,198 255,255,255 247,247,247 189,189,189 255,255,255 249,249,249 253,253,253 255,255,255 242,242,242 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 252,252,252 251,251,251 254,254,254 255,255,255 250,250,250 172,172,172 238,238,238 247,247,247 250,250,250 246,246,246 203,203,203 199,199,199 252,252,252 249,249,249 243,243,243 255,255,255 255,255,255 250,250,250 249,249,249 242,242,242 253,253,253 250,250,250 255,255,255 246,246,246 246,246,246 255,255,255 248,248,248 245,245,245 181,181,181 219,219,219 192,192,192 255,255,255 174,174,174 255,255,255 250,250,250 251,251,251 255,255,255 236,236,236 255,255,255 255,255,255 242,242,242 244,244,244 255,255,255 247,247,247 194,194,194 242,242,242 255,255,255 196,196,196 255,255,255 255,255,255 249,249,249 255,255,255 255,255,255 196,196,196 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255
+241,241,241 255,255,255 244,244,244 253,253,253 255,255,255 255,255,255 170,170,170 221,221,221 191,191,191 184,184,184 198,198,198 198,198,198 171,171,171 255,255,255 255,255,255 255,255,255 243,243,243 255,255,255 252,252,252 255,255,255 247,247,247 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 251,251,251 250,250,250 255,255,255 183,183,183 255,255,255 234,234,234 243,243,243 197,197,197 255,255,255 239,239,239 255,255,255 242,242,242 241,241,241 244,244,244 242,242,242 255,255,255 248,248,248 255,255,255 247,247,247 188,188,188 255,255,255 239,239,239 184,184,184 238,238,238 255,255,255 255,255,255 255,255,255 251,251,251 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 250,250,250 255,255,255 253,253,253 236,236,236 0,0,0 12,12,12 239,239,239 243,243,243 244,244,244 255,255,255 0,0,0 0,0,0 255,255,255 5,5,5 0,0,0 247,247,247 255,255,255 247,247,247 255,255,255 240,240,240 252,252,252 246,246,246 242,242,242 9,9,9 0,0,0 0,0,0 0,0,0 11,11,11 0,0,0 238,238,238 255,255,255 239,239,239 213,213,213 0,0,0 5,5,5 0,0,0 14,14,14 194,194,194 196,196,196 193,193,193 177,177,177 194,194,194 0,0,0 0,0,0 1,1,1 0,0,0 0,0,0 201,201,201 255,255,255 251,251,251 245,245,245 252,252,252 244,244,244 192,192,192 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 255,255,255 225,225,225 255,255,255 255,255,255 9,9,9 0,0,0 255,255,255 255,255,255 245,245,245 255,255,255 3,3,3 0,0,0 250,250,250 0,0,0 0,0,0 251,251,251 255,255,255 238,238,238 253,253,253 246,246,246 255,255,255 255,255,255 255,255,255 247,247,247 236,236,236 18,18,18 3,3,3 240,240,240 195,195,195 252,252,252 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 250,250,250 0,0,0 6,6,6 255,255,255 255,255,255 254,254,254 0,0,0 14,14,14 248,248,248 253,253,253 254,254,254 17,17,17 7,7,7 231,231,231 254,254,254 249,249,249 255,255,255 255,255,255 206,206,206 234,234,234 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 242,242,242 242,242,242 0,0,0 0,0,0 247,247,247 255,255,255 252,252,252 233,233,233 11,11,11 20,20,20 255,255,255 0,0,0 5,5,5 246,246,246 255,255,255 245,245,245 255,255,255 255,255,255 237,237,237 249,249,249 239,239,239 255,255,255 236,236,236 7,7,7 4,4,4 238,238,238 215,215,215 255,255,255 242,242,242 1,1,1 5,5,5 255,255,255 255,255,255 240,240,240 201,201,201 0,0,0 5,5,5 245,245,245 1,1,1 8,8,8 248,248,248 255,255,255 242,242,242 204,204,204 162,162,162 0,0,0 195,195,195 196,196,196 181,181,181 195,195,195 197,197,197 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 255,255,255 239,239,239 244,244,244 255,255,255 255,255,255 13,13,13 1,1,1 240,240,240 255,255,255 15,15,15 0,0,0 192,192,192 252,252,252 0,0,0 13,13,13 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 186,186,186 204,204,204 192,192,192 171,171,171 207,207,207 0,0,0 0,0,0 207,207,207 170,170,170 191,191,191 195,195,195 201,201,201 176,176,176 167,167,167 201,201,201 212,212,212 187,187,187 1,1,1 4,4,4 175,175,175 17,17,17 0,0,0 245,245,245 255,255,255 254,254,254 205,205,205 255,255,255 248,248,248 255,255,255 241,241,241 245,245,245 255,255,255 249,249,249 181,181,181 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 255,255,255 235,235,235 255,255,255 0,0,0 1,1,1 255,255,255 246,246,246 0,0,0 4,4,4 201,201,201 251,251,251 20,20,20 0,0,0 255,255,255 253,253,253 253,253,253 250,250,250 255,255,255 195,195,195 249,249,249 255,255,255 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 252,252,252 252,252,252 247,247,247 201,201,201 255,255,255 247,247,247 250,250,250 0,0,0 0,0,0 251,251,251 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 242,242,242 186,186,186 252,252,252 254,254,254 238,238,238 251,251,251 255,255,255 247,247,247 255,255,255 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+185,185,185 186,186,186 194,194,194 204,204,204 203,203,203 185,185,185 3,3,3 3,3,3 183,183,183 190,190,190 4,4,4 0,0,0 199,199,199 237,237,237 14,14,14 0,0,0 243,243,243 255,255,255 243,243,243 252,252,252 244,244,244 201,201,201 255,255,255 252,252,252 253,253,253 255,255,255 0,0,0 9,9,9 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 200,200,200 244,244,244 255,255,255 0,0,0 2,2,2 242,242,242 255,255,255 255,255,255 0,0,0 3,3,3 244,244,244 255,255,255 242,242,242 191,191,191 255,255,255 255,255,255 242,242,242 255,255,255 243,243,243 255,255,255 242,242,242 189,189,189 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 255,255,255 239,239,239 230,230,230 255,255,255 229,229,229 1,1,1 4,4,4 14,14,14 1,1,1 247,247,247 195,195,195 255,255,255 0,0,0 0,0,0 255,255,255 252,252,252 250,250,250 255,255,255 255,255,255 172,172,172 234,234,234 246,246,246 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 250,250,250 251,251,251 251,251,251 246,246,246 187,187,187 238,238,238 21,21,21 0,0,0 228,228,228 255,255,255 255,255,255 255,255,255 0,0,0 4,4,4 255,255,255 248,248,248 250,250,250 206,206,206 240,240,240 255,255,255 255,255,255 241,241,241 248,248,248 253,253,253 255,255,255 207,207,207 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 247,247,247 252,252,252 246,246,246 255,255,255 255,255,255 248,248,248 0,0,0 0,0,0 1,1,1 0,0,0 249,249,249 181,181,181 244,244,244 16,16,16 5,5,5 244,244,244 243,243,243 244,244,244 254,254,254 250,250,250 196,196,196 255,255,255 255,255,255 245,245,245 255,255,255 3,3,3 1,1,1 252,252,252 245,245,245 255,255,255 255,255,255 252,252,252 199,199,199 0,0,0 1,1,1 251,251,251 255,255,255 233,233,233 247,247,247 234,234,234 9,9,9 0,0,0 255,255,255 249,249,249 240,240,240 191,191,191 255,255,255 0,0,0 243,243,243 255,255,255 255,255,255 251,251,251 252,252,252 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 253,253,253 241,241,241 242,242,242 242,242,242 252,252,252 255,255,255 4,4,4 11,11,11 167,167,167 214,214,214 207,207,207 235,235,235 0,0,0 8,8,8 255,255,255 255,255,255 241,241,241 255,255,255 232,232,232 217,217,217 237,237,237 255,255,255 253,253,253 250,250,250 0,0,0 0,0,0 255,255,255 254,254,254 255,255,255 241,241,241 255,255,255 0,0,0 10,10,10 243,243,243 255,255,255 242,242,242 255,255,255 255,255,255 255,255,255 189,189,189 10,10,10 0,0,0 254,254,254 255,255,255 202,202,202 0,0,0 2,2,2 255,255,255 254,254,254 243,243,243 255,255,255 255,255,255 186,186,186 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 185,185,185 194,194,194 199,199,199 186,186,186 216,216,216 185,185,185 176,176,176 0,0,0 0,0,0 193,193,193 249,249,249 187,187,187 199,199,199 0,0,0 0,0,0 0,0,0 15,15,15 4,4,4 0,0,0 9,9,9 163,163,163 254,254,254 247,247,247 2,2,2 2,2,2 0,0,0 5,5,5 0,0,0 18,18,18 244,244,244 255,255,255 0,0,0 4,4,4 0,0,0 4,4,4 0,0,0 11,11,11 0,0,0 0,0,0 255,255,255 180,180,180 255,255,255 1,1,1 3,3,3 0,0,0 0,0,0 0,0,0 241,241,241 255,255,255 245,245,245 255,255,255 255,255,255 255,255,255 193,193,193 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+248,248,248 200,200,200 249,249,249 247,247,247 238,238,238 246,246,246 255,255,255 255,255,255 255,255,255 240,240,240 191,191,191 255,255,255 193,193,193 255,255,255 255,255,255 250,250,250 255,255,255 206,206,206 237,237,237 251,251,251 255,255,255 227,227,227 248,248,248 255,255,255 250,250,250 236,236,236 245,245,245 255,255,255 248,248,248 230,230,230 255,255,255 231,231,231 248,248,248 205,205,205 255,255,255 254,254,254 255,255,255 252,252,252 242,242,242 255,255,255 234,234,234 184,184,184 205,205,205 174,174,174 175,175,175 207,207,207 178,178,178 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 191,191,191 244,244,244 247,247,247 255,255,255 240,240,240 255,255,255 242,242,242 249,249,249 249,249,249 208,208,208 241,241,241 189,189,189 249,249,249 253,253,253 249,249,249 255,255,255 184,184,184 240,240,240 248,248,248 248,248,248 184,184,184 183,183,183 181,181,181 205,205,205 177,177,177 186,186,186 212,212,212 188,188,188 192,192,192 202,202,202 189,189,189 197,197,197 186,186,186 237,237,237 243,243,243 255,255,255 252,252,252 254,254,254 253,253,253 255,255,255 182,182,182 250,250,250 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 247,247,247 254,254,254 255,255,255 237,237,237 255,255,255 255,255,255 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 165,165,165 255,255,255 255,255,255 247,247,247 249,249,249 255,255,255 255,255,255 255,255,255 249,249,249 179,179,179 255,255,255 197,197,197 227,227,227 255,255,255 244,244,244 249,249,249 203,203,203 253,253,253 255,255,255 248,248,248 250,250,250 255,255,255 253,253,253 238,238,238 219,219,219 235,235,235 255,255,255 240,240,240 255,255,255 241,241,241 255,255,255 255,255,255 252,252,252 250,250,250 255,255,255 244,244,244 255,255,255 255,255,255 250,250,250 247,247,247 190,190,190 255,255,255 250,250,250 246,246,246 255,255,255 180,180,180 249,249,249 255,255,255 244,244,244 252,252,252 255,255,255 246,246,246 255,255,255 196,196,196 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.jpg
new file mode 100644
index 0000000..1345260
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.txt
new file mode 100644
index 0000000..2d59c49
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input05.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 250,250,250 254,254,254 242,242,242 201,201,201 183,183,183 255,255,255 255,255,255 246,246,246 248,248,248 255,255,255 244,244,244 255,255,255 255,255,255 251,251,251 238,238,238 255,255,255 249,249,249 252,252,252 249,249,249 255,255,255 255,255,255 194,194,194 227,227,227 198,198,198 254,254,254 186,186,186 247,247,247 250,250,250 250,250,250 240,240,240 255,255,255 244,244,244 249,249,249 255,255,255 241,241,241 255,255,255 245,245,245 179,179,179 254,254,254 255,255,255 201,201,201 246,246,246 242,242,242 255,255,255 255,255,255 247,247,247 185,185,185 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 255,255,255 255,255,255 255,255,255 178,178,178 199,199,199 252,252,252 255,255,255 245,245,245 255,255,255 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 249,249,249 226,226,226 194,194,194 240,240,240 190,190,190 246,246,246 181,181,181 248,248,248 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 255,255,255 231,231,231 251,251,251 255,255,255 254,254,254 197,197,197 255,255,255 231,231,231 196,196,196 255,255,255 255,255,255 254,254,254 249,249,249 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 178,178,178 200,200,200 175,175,175 196,196,196 177,177,177 255,255,255 255,255,255 253,253,253 248,248,248 253,253,253 248,248,248 255,255,255 255,255,255 250,250,250 255,255,255 251,251,251 236,236,236 254,254,254 253,253,253 255,255,255 255,255,255 179,179,179 239,239,239 235,235,235 255,255,255 191,191,191 250,250,250 245,245,245 255,255,255 252,252,252 236,236,236 240,240,240 255,255,255 250,250,250 255,255,255 241,241,241 255,255,255 199,199,199 249,249,249 255,255,255 171,171,171 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255 194,194,194 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 0,0,0 20,20,20 2,2,2 247,247,247 213,213,213 243,243,243 243,243,243 255,255,255 248,248,248 6,6,6 16,16,16 255,255,255 241,241,241 248,248,248 247,247,247 6,6,6 19,19,19 0,0,0 12,12,12 0,0,0 0,0,0 23,23,23 255,255,255 251,251,251 0,0,0 6,6,6 21,21,21 0,0,0 0,0,0 3,3,3 10,10,10 2,2,2 178,178,178 189,189,189 190,190,190 11,11,11 0,0,0 0,0,0 0,0,0 241,241,241 227,227,227 255,255,255 248,248,248 245,245,245 236,236,236 250,250,250 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 237,237,237 0,0,0 0,0,0 191,191,191 255,255,255 227,227,227 255,255,255 1,1,1 0,0,0 0,0,0 241,241,241 255,255,255 255,255,255 238,238,238 2,2,2 0,0,0 255,255,255 254,254,254 233,233,233 255,255,255 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 228,228,228 255,255,255 249,249,249 196,196,196 0,0,0 1,1,1 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 12,12,12 10,10,10 155,155,155 250,250,250 245,245,245 255,255,255 253,253,253 255,255,255 187,187,187 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 244,244,244 255,255,255 255,255,255 7,7,7 0,0,0 255,255,255 255,255,255 0,0,0 0,0,0 20,20,20 15,15,15 246,246,246 246,246,246 241,241,241 249,249,249 17,17,17 0,0,0 255,255,255 247,247,247 255,255,255 235,235,235 1,1,1 2,2,2 248,248,248 255,255,255 236,236,236 254,254,254 255,255,255 229,229,229 198,198,198 5,5,5 0,0,0 250,250,250 0,0,0 10,10,10 255,255,255 247,247,247 241,241,241 178,178,178 6,6,6 19,19,19 203,203,203 195,195,195 196,196,196 192,192,192 220,220,220 185,185,185 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 246,246,246 244,244,244 0,0,0 10,10,10 255,255,255 250,250,250 255,255,255 249,249,249 0,0,0 0,0,0 255,255,255 255,255,255 185,185,185 214,214,214 0,0,0 0,0,0 182,182,182 172,172,172 209,209,209 197,197,197 0,0,0 14,14,14 188,188,188 187,187,187 167,167,167 201,201,201 220,220,220 191,191,191 13,13,13 0,0,0 193,193,193 195,195,195 2,2,2 0,0,0 255,255,255 251,251,251 252,252,252 232,232,232 0,0,0 0,0,0 250,250,250 243,243,243 255,255,255 246,246,246 244,244,244 197,197,197 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 249,249,249 249,249,249 255,255,255 0,0,0 5,5,5 248,248,248 252,252,252 244,244,244 255,255,255 0,0,0 13,13,13 249,249,249 247,247,247 196,196,196 242,242,242 9,9,9 0,0,0 15,15,15 6,6,6 0,0,0 7,7,7 8,8,8 240,240,240 255,255,255 255,255,255 204,204,204 254,254,254 249,249,249 1,1,1 0,0,0 255,255,255 254,254,254 255,255,255 0,0,0 8,8,8 245,245,245 255,255,255 248,248,248 176,176,176 7,7,7 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 195,195,195 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 185,185,185 191,191,191 189,189,189 0,0,0 0,0,0 254,254,254 255,255,255 243,243,243 255,255,255 0,0,0 0,0,0 255,255,255 253,253,253 196,196,196 254,254,254 0,0,0 8,8,8 0,0,0 0,0,0 4,4,4 255,255,255 251,251,251 253,253,253 255,255,255 254,254,254 190,190,190 255,255,255 2,2,2 0,0,0 255,255,255 245,245,245 255,255,255 254,254,254 0,0,0 0,0,0 255,255,255 246,246,246 249,249,249 203,203,203 0,0,0 0,0,0 255,255,255 248,248,248 255,255,255 253,253,253 250,250,250 201,201,201 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 196,196,196 255,255,255 247,247,247 7,7,7 21,21,21 230,230,230 251,251,251 255,255,255 247,247,247 12,12,12 5,5,5 255,255,255 249,249,249 182,182,182 248,248,248 17,17,17 0,0,0 250,250,250 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 255,255,255 255,255,255 172,172,172 0,0,0 6,6,6 240,240,240 255,255,255 248,248,248 245,245,245 255,255,255 11,11,11 0,0,0 252,252,252 10,10,10 0,0,0 195,195,195 0,0,0 2,2,2 255,255,255 255,255,255 243,243,243 252,252,252 255,255,255 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 184,184,184 248,248,248 255,255,255 0,0,0 2,2,2 255,255,255 255,255,255 231,231,231 246,246,246 0,0,0 0,0,0 255,255,255 255,255,255 197,197,197 240,240,240 0,0,0 7,7,7 247,247,247 255,255,255 255,255,255 0,0,0 5,5,5 250,250,250 246,246,246 239,239,239 29,29,29 0,0,0 255,255,255 255,255,255 243,243,243 244,244,244 255,255,255 248,248,248 0,0,0 6,6,6 255,255,255 255,255,255 10,10,10 6,6,6 0,0,0 0,0,0 255,255,255 250,250,250 255,255,255 255,255,255 245,245,245 201,201,201 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 202,202,202 187,187,187 0,0,0 10,10,10 183,183,183 236,236,236 234,234,234 255,255,255 255,255,255 2,2,2 3,3,3 242,242,242 241,241,241 202,202,202 253,253,253 5,5,5 0,0,0 255,255,255 244,244,244 234,234,234 255,255,255 14,14,14 0,0,0 255,255,255 4,4,4 0,0,0 255,255,255 250,250,250 255,255,255 253,253,253 255,255,255 239,239,239 255,255,255 186,186,186 5,5,5 0,0,0 254,254,254 252,252,252 3,3,3 12,12,12 255,255,255 255,255,255 241,241,241 255,255,255 244,244,244 255,255,255 201,201,201 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 15,15,15 0,0,0 0,0,0 236,236,236 204,204,204 197,197,197 196,196,196 0,0,0 0,0,0 0,0,0 4,4,4 6,6,6 9,9,9 163,163,163 255,255,255 1,1,1 16,16,16 249,249,249 255,255,255 255,255,255 238,238,238 0,0,0 0,0,0 255,255,255 13,13,13 0,0,0 243,243,243 255,255,255 234,234,234 255,255,255 255,255,255 252,252,252 248,248,248 190,190,190 255,255,255 0,0,0 5,5,5 15,15,15 0,0,0 246,246,246 0,0,0 248,248,248 255,255,255 255,255,255 255,255,255 239,239,239 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 248,248,248 209,209,209 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 206,206,206 223,223,223 255,255,255 252,252,252 211,211,211 250,250,250 255,255,255 253,253,253 241,241,241 243,243,243 255,255,255 255,255,255 249,249,249 255,255,255 227,227,227 230,230,230 196,196,196 255,255,255 254,254,254 255,255,255 254,254,254 249,249,249 250,250,250 255,255,255 164,164,164 192,192,192 213,213,213 183,183,183 183,183,183 188,188,188 253,253,253 255,255,255 252,252,252 255,255,255 255,255,255 245,245,245 255,255,255 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 254,254,254 255,255,255 186,186,186 253,253,253 181,181,181 239,239,239 255,255,255 234,234,234 235,235,235 209,209,209 255,255,255 250,250,250 235,235,235 205,205,205 183,183,183 187,187,187 194,194,194 182,182,182 189,189,189 196,196,196 209,209,209 173,173,173 210,210,210 199,199,199 203,203,203 202,202,202 245,245,245 241,241,241 252,252,252 255,255,255 241,241,241 255,255,255 251,251,251 197,197,197 255,255,255 244,244,244 255,255,255 250,250,250 208,208,208 250,250,250 252,252,252 255,255,255 250,250,250 255,255,255 250,250,250 243,243,243 203,203,203 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 248,248,248 202,202,202 243,243,243 209,209,209 242,242,242 239,239,239 255,255,255 255,255,255 173,173,173 251,251,251 255,255,255 244,244,244 252,252,252 251,251,251 253,253,253 239,239,239 219,219,219 231,231,231 255,255,255 247,247,247 250,250,250 243,243,243 255,255,255 252,252,252 247,247,247 249,249,249 253,253,253 255,255,255 255,255,255 243,243,243 255,255,255 249,249,249 196,196,196 252,252,252 249,249,249 250,250,250 255,255,255 170,170,170 255,255,255 254,254,254 253,253,253 255,255,255 252,252,252 250,250,250 255,255,255 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.jpg
new file mode 100644
index 0000000..78386b8
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.txt
new file mode 100644
index 0000000..a987934
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input06.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 250,250,250 255,255,255 242,242,242 195,195,195 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 243,243,243 255,255,255 255,255,255 254,254,254 246,246,246 255,255,255 239,239,239 255,255,255 246,246,246 241,241,241 255,255,255 194,194,194 229,229,229 208,208,208 255,255,255 185,185,185 253,253,253 254,254,254 253,253,253 245,245,245 255,255,255 255,255,255 253,253,253 248,248,248 252,252,252 255,255,255 247,247,247 195,195,195 249,249,249 255,255,255 201,201,201 246,246,246 242,242,242 255,255,255 255,255,255 247,247,247 185,185,185 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 246,246,246 255,255,255 255,255,255 201,201,201 183,183,183 241,241,241 255,255,255 239,239,239 245,245,245 255,255,255 255,255,255 241,241,241 236,236,236 247,247,247 255,255,255 234,234,234 254,254,254 252,252,252 253,253,253 252,252,252 240,240,240 179,179,179 236,236,236 177,177,177 227,227,227 190,190,190 252,252,252 246,246,246 254,254,254 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 250,250,250 255,255,255 237,237,237 211,211,211 255,255,255 235,235,235 196,196,196 255,255,255 255,255,255 254,254,254 249,249,249 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 190,190,190 181,181,181 179,179,179 177,177,177 184,184,184 255,255,255 255,255,255 251,251,251 251,251,251 255,255,255 234,234,234 254,254,254 255,255,255 255,255,255 236,236,236 255,255,255 254,254,254 251,251,251 255,255,255 255,255,255 243,243,243 191,191,191 248,248,248 252,252,252 255,255,255 204,204,204 251,251,251 251,251,251 255,255,255 244,244,244 241,241,241 255,255,255 255,255,255 253,253,253 238,238,238 250,250,250 255,255,255 166,166,166 255,255,255 255,255,255 171,171,171 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255 194,194,194 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 0,0,0 14,14,14 4,4,4 255,255,255 206,206,206 242,242,242 0,0,0 2,2,2 250,250,250 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 248,248,248 0,0,0 1,1,1 0,0,0 0,0,0 15,15,15 12,12,12 0,0,0 0,0,0 254,254,254 221,221,221 181,181,181 222,222,222 0,0,0 0,0,0 202,202,202 175,175,175 192,192,192 181,181,181 0,0,0 15,15,15 1,1,1 2,2,2 16,16,16 1,1,1 246,246,246 227,227,227 255,255,255 248,248,248 245,245,245 236,236,236 250,250,250 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 230,230,230 0,0,0 4,4,4 184,184,184 255,255,255 0,0,0 14,14,14 249,249,249 252,252,252 231,231,231 255,255,255 0,0,0 0,0,0 255,255,255 253,253,253 252,252,252 249,249,249 15,15,15 0,0,0 253,253,253 178,178,178 255,255,255 251,251,251 255,255,255 253,253,253 0,0,0 0,0,0 5,5,5 0,0,0 250,250,250 255,255,255 255,255,255 0,0,0 8,8,8 230,230,230 251,251,251 255,255,255 0,0,0 4,4,4 155,155,155 250,250,250 245,245,245 255,255,255 253,253,253 255,255,255 187,187,187 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 255,255,255 246,246,246 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 19,19,19 254,254,254 248,248,248 0,0,0 0,0,0 242,242,242 255,255,255 237,237,237 255,255,255 230,230,230 1,1,1 14,14,14 249,249,249 239,239,239 244,244,244 254,254,254 244,244,244 0,0,0 5,5,5 251,251,251 255,255,255 6,6,6 0,0,0 250,250,250 247,247,247 13,13,13 0,0,0 255,255,255 255,255,255 244,244,244 195,195,195 14,14,14 19,19,19 203,203,203 195,195,195 196,196,196 192,192,192 220,220,220 185,185,185 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 246,246,246 241,241,241 13,13,13 0,0,0 248,248,248 255,255,255 253,253,253 0,0,0 0,0,0 10,10,10 3,3,3 250,250,250 197,197,197 190,190,190 201,201,201 174,174,174 203,203,203 3,3,3 0,0,0 181,181,181 166,166,166 191,191,191 194,194,194 1,1,1 0,0,0 191,191,191 202,202,202 194,194,194 188,188,188 5,5,5 0,0,0 203,203,203 0,0,0 21,21,21 251,251,251 255,255,255 237,237,237 211,211,211 0,0,0 0,0,0 250,250,250 243,243,243 255,255,255 246,246,246 244,244,244 197,197,197 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 249,249,249 255,255,255 255,255,255 0,0,0 9,9,9 254,254,254 247,247,247 254,254,254 254,254,254 6,6,6 0,0,0 250,250,250 255,255,255 199,199,199 255,255,255 245,245,245 255,255,255 255,255,255 0,0,0 5,5,5 255,255,255 253,253,253 255,255,255 246,246,246 6,6,6 0,0,0 255,255,255 255,255,255 247,247,247 253,253,253 1,1,1 0,0,0 243,243,243 19,19,19 0,0,0 250,250,250 255,255,255 255,255,255 180,180,180 8,8,8 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 195,195,195 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 181,181,181 194,194,194 190,190,190 0,0,0 0,0,0 255,255,255 240,240,240 253,253,253 250,250,250 9,9,9 0,0,0 238,238,238 255,255,255 209,209,209 241,241,241 252,252,252 247,247,247 255,255,255 0,0,0 0,0,0 255,255,255 246,246,246 236,236,236 255,255,255 4,4,4 0,0,0 255,255,255 254,254,254 249,249,249 255,255,255 0,0,0 0,0,0 249,249,249 8,8,8 7,7,7 242,242,242 255,255,255 255,255,255 194,194,194 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 201,201,201 255,255,255 248,248,248 1,1,1 12,12,12 239,239,239 255,255,255 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 254,254,254 174,174,174 238,238,238 255,255,255 255,255,255 239,239,239 0,0,0 4,4,4 250,250,250 254,254,254 255,255,255 251,251,251 0,0,0 1,1,1 0,0,0 5,5,5 0,0,0 0,0,0 8,8,8 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 251,251,251 242,242,242 209,209,209 0,0,0 13,13,13 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 201,201,201 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 188,188,188 255,255,255 240,240,240 1,1,1 0,0,0 251,251,251 240,240,240 244,244,244 244,244,244 0,0,0 9,9,9 255,255,255 249,249,249 197,197,197 255,255,255 249,249,249 255,255,255 255,255,255 1,1,1 0,0,0 255,255,255 246,246,246 249,249,249 248,248,248 0,0,0 0,0,0 251,251,251 255,255,255 255,255,255 253,253,253 8,8,8 0,0,0 253,253,253 0,0,0 9,9,9 244,244,244 241,241,241 255,255,255 175,175,175 7,7,7 0,0,0 217,217,217 255,255,255 255,255,255 248,248,248 255,255,255 190,190,190 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 196,196,196 183,183,183 7,7,7 12,12,12 191,191,191 241,241,241 255,255,255 254,254,254 255,255,255 0,0,0 0,0,0 244,244,244 255,255,255 184,184,184 248,248,248 243,243,243 236,236,236 243,243,243 0,0,0 8,8,8 241,241,241 252,252,252 255,255,255 255,255,255 12,12,12 2,2,2 254,254,254 251,251,251 244,244,244 250,250,250 5,5,5 4,4,4 255,255,255 0,0,0 1,1,1 255,255,255 255,255,255 255,255,255 0,0,0 7,7,7 250,250,250 255,255,255 253,253,253 250,250,250 247,247,247 255,255,255 189,189,189 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 2,2,2 5,5,5 0,0,0 243,243,243 196,196,196 196,196,196 206,206,206 170,170,170 184,184,184 11,11,11 11,11,11 180,180,180 213,213,213 182,182,182 245,245,245 255,255,255 255,255,255 255,255,255 6,6,6 0,0,0 244,244,244 255,255,255 247,247,247 255,255,255 0,0,0 0,0,0 244,244,244 255,255,255 249,249,249 241,241,241 1,1,1 0,0,0 246,246,246 5,5,5 5,5,5 0,0,0 13,13,13 0,0,0 3,3,3 253,253,253 244,244,244 249,249,249 247,247,247 255,255,255 249,249,249 250,250,250 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 242,242,242 218,218,218 249,249,249 192,192,192 250,250,250 239,239,239 255,255,255 255,255,255 215,215,215 238,238,238 254,254,254 237,237,237 227,227,227 249,249,249 237,237,237 240,240,240 255,255,255 236,236,236 255,255,255 255,255,255 236,236,236 255,255,255 240,240,240 232,232,232 215,215,215 251,251,251 245,245,245 246,246,246 255,255,255 252,252,252 255,255,255 255,255,255 188,188,188 198,198,198 184,184,184 162,162,162 203,203,203 159,159,159 255,255,255 255,255,255 251,251,251 239,239,239 250,250,250 253,253,253 255,255,255 192,192,192 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 251,251,251 255,255,255 167,167,167 255,255,255 197,197,197 252,252,252 255,255,255 252,252,252 246,246,246 195,195,195 254,254,254 255,255,255 236,236,236 194,194,194 184,184,184 204,204,204 200,200,200 182,182,182 186,186,186 204,204,204 198,198,198 193,193,193 198,198,198 194,194,194 196,196,196 205,205,205 233,233,233 255,255,255 255,255,255 255,255,255 251,251,251 238,238,238 249,249,249 191,191,191 241,241,241 255,255,255 251,251,251 254,254,254 208,208,208 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 243,243,243 249,249,249 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 249,249,249 198,198,198 255,255,255 192,192,192 237,237,237 255,255,255 247,247,247 255,255,255 181,181,181 249,249,249 255,255,255 255,255,255 255,255,255 243,243,243 251,251,251 244,244,244 211,211,211 240,240,240 255,255,255 243,243,243 251,251,251 250,250,250 255,255,255 255,255,255 238,238,238 255,255,255 249,249,249 244,244,244 255,255,255 249,249,249 255,255,255 255,255,255 190,190,190 255,255,255 251,251,251 253,253,253 255,255,255 180,180,180 248,248,248 255,255,255 255,255,255 246,246,246 254,254,254 255,255,255 255,255,255 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.jpg
new file mode 100644
index 0000000..88821a6
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.txt
new file mode 100644
index 0000000..184663f
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input07.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+248,248,248 254,254,254 255,255,255 255,255,255 255,255,255 246,246,246 197,197,197 255,255,255 251,251,251 255,255,255 245,245,245 182,182,182 209,209,209 243,243,243 255,255,255 245,245,245 251,251,251 254,254,254 239,239,239 255,255,255 255,255,255 242,242,242 255,255,255 240,240,240 255,255,255 238,238,238 255,255,255 243,243,243 255,255,255 187,187,187 247,247,247 199,199,199 255,255,255 188,188,188 242,242,242 253,253,253 253,253,253 255,255,255 246,246,246 254,254,254 255,255,255 244,244,244 255,255,255 255,255,255 252,252,252 195,195,195 255,255,255 255,255,255 197,197,197 255,255,255 255,255,255 253,253,253 255,255,255 250,250,250 186,186,186 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 250,250,250 251,251,251 252,252,252 245,245,245 255,255,255 168,168,168 225,225,225 246,246,246 248,248,248 243,243,243 213,213,213 182,182,182 246,246,246 247,247,247 255,255,255 255,255,255 252,252,252 255,255,255 252,252,252 233,233,233 255,255,255 242,242,242 255,255,255 252,252,252 255,255,255 249,249,249 253,253,253 245,245,245 188,188,188 216,216,216 189,189,189 243,243,243 192,192,192 252,252,252 249,249,249 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 247,247,247 250,250,250 194,194,194 251,251,251 244,244,244 195,195,195 251,251,251 244,244,244 247,247,247 255,255,255 248,248,248 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 247,247,247 250,250,250 255,255,255 255,255,255 253,253,253 180,180,180 231,231,231 181,181,181 207,207,207 201,201,201 173,173,173 204,204,204 255,255,255 251,251,251 246,246,246 243,243,243 254,254,254 243,243,243 255,255,255 224,224,224 255,255,255 255,255,255 245,245,245 253,253,253 236,236,236 255,255,255 255,255,255 246,246,246 176,176,176 248,248,248 246,246,246 252,252,252 204,204,204 246,246,246 255,255,255 255,255,255 241,241,241 241,241,241 246,246,246 245,245,245 255,255,255 243,243,243 255,255,255 254,254,254 193,193,193 255,255,255 255,255,255 174,174,174 255,255,255 255,255,255 255,255,255 254,254,254 251,251,251 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 232,232,232 255,255,255 255,255,255 0,0,0 9,9,9 3,3,3 0,0,0 0,0,0 15,15,15 0,0,0 195,195,195 248,248,248 8,8,8 6,6,6 6,6,6 0,0,0 2,2,2 0,0,0 14,14,14 238,238,238 250,250,250 0,0,0 8,8,8 244,244,244 255,255,255 241,241,241 251,251,251 13,13,13 3,3,3 251,251,251 238,238,238 178,178,178 8,8,8 0,0,0 0,0,0 2,2,2 190,190,190 197,197,197 184,184,184 0,0,0 1,1,1 189,189,189 194,194,194 201,201,201 239,239,239 0,0,0 9,9,9 219,219,219 255,255,255 254,254,254 250,250,250 255,255,255 198,198,198 237,237,237 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 253,253,253 255,255,255 253,253,253 230,230,230 255,255,255 182,182,182 253,253,253 250,250,250 252,252,252 0,0,0 21,21,21 190,190,190 253,253,253 0,0,0 1,1,1 247,247,247 255,255,255 245,245,245 240,240,240 5,5,5 18,18,18 247,247,247 0,0,0 1,1,1 2,2,2 249,249,249 243,243,243 5,5,5 3,3,3 0,0,0 255,255,255 255,255,255 0,0,0 19,19,19 245,245,245 247,247,247 7,7,7 7,7,7 244,244,244 241,241,241 11,11,11 4,4,4 243,243,243 255,255,255 251,251,251 251,251,251 4,4,4 8,8,8 250,250,250 255,255,255 250,250,250 240,240,240 254,254,254 206,206,206 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 245,245,245 254,254,254 255,255,255 255,255,255 255,255,255 190,190,190 253,253,253 255,255,255 239,239,239 9,9,9 0,0,0 193,193,193 255,255,255 5,5,5 0,0,0 255,255,255 235,235,235 255,255,255 255,255,255 0,0,0 0,0,0 246,246,246 22,22,22 0,0,0 0,0,0 7,7,7 8,8,8 0,0,0 0,0,0 12,12,12 246,246,246 1,1,1 0,0,0 247,247,247 253,253,253 245,245,245 211,211,211 0,0,0 9,9,9 255,255,255 0,0,0 0,0,0 255,255,255 243,243,243 234,234,234 227,227,227 0,0,0 0,0,0 209,209,209 183,183,183 185,185,185 195,195,195 213,213,213 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 255,255,255 249,249,249 234,234,234 255,255,255 193,193,193 255,255,255 246,246,246 13,13,13 0,0,0 255,255,255 197,197,197 245,245,245 9,9,9 0,0,0 255,255,255 255,255,255 243,243,243 255,255,255 21,21,21 0,0,0 189,189,189 0,0,0 6,6,6 177,177,177 11,11,11 0,0,0 194,194,194 11,11,11 0,0,0 204,204,204 3,3,3 8,8,8 197,197,197 209,209,209 205,205,205 162,162,162 4,4,4 6,6,6 190,190,190 0,0,0 0,0,0 253,253,253 255,255,255 255,255,255 182,182,182 7,7,7 14,14,14 255,255,255 234,234,234 255,255,255 255,255,255 246,246,246 188,188,188 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 253,253,253 254,254,254 255,255,255 239,239,239 204,204,204 248,248,248 0,0,0 4,4,4 255,255,255 248,248,248 184,184,184 255,255,255 0,0,0 2,2,2 0,0,0 8,8,8 0,0,0 5,5,5 0,0,0 196,196,196 255,255,255 3,3,3 0,0,0 255,255,255 0,0,0 6,6,6 255,255,255 0,0,0 0,0,0 247,247,247 0,0,0 0,0,0 255,255,255 243,243,243 255,255,255 255,255,255 1,1,1 0,0,0 250,250,250 11,11,11 3,3,3 245,245,245 249,249,249 250,250,250 185,185,185 0,0,0 0,0,0 255,255,255 242,242,242 252,252,252 252,252,252 248,248,248 198,198,198 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+182,182,182 214,214,214 177,177,177 189,189,189 211,211,211 180,180,180 210,210,210 0,0,0 0,0,0 199,199,199 184,184,184 187,187,187 208,208,208 250,250,250 0,0,0 8,8,8 5,5,5 0,0,0 0,0,0 244,244,244 250,250,250 208,208,208 240,240,240 14,14,14 0,0,0 255,255,255 0,0,0 2,2,2 255,255,255 0,0,0 0,0,0 255,255,255 2,2,2 0,0,0 255,255,255 255,255,255 244,244,244 255,255,255 4,4,4 0,0,0 245,245,245 0,0,0 4,4,4 243,243,243 255,255,255 246,246,246 197,197,197 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 242,242,242 255,255,255 250,250,250 252,252,252 252,252,252 0,0,0 10,10,10 183,183,183 255,255,255 247,247,247 245,245,245 168,168,168 251,251,251 7,7,7 0,0,0 236,236,236 255,255,255 0,0,0 21,21,21 247,247,247 170,170,170 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 238,238,238 253,253,253 0,0,0 0,0,0 251,251,251 0,0,0 23,23,23 240,240,240 0,0,0 5,5,5 250,250,250 0,0,0 7,7,7 255,255,255 8,8,8 5,5,5 255,255,255 255,255,255 237,237,237 197,197,197 3,3,3 13,13,13 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 201,201,201 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 240,240,240 236,236,236 255,255,255 12,12,12 12,12,12 250,250,250 197,197,197 249,249,249 255,255,255 252,252,252 205,205,205 255,255,255 0,0,0 9,9,9 247,247,247 249,249,249 244,244,244 0,0,0 0,0,0 189,189,189 251,251,251 3,3,3 9,9,9 240,240,240 255,255,255 249,249,249 255,255,255 13,13,13 0,0,0 255,255,255 6,6,6 0,0,0 254,254,254 255,255,255 4,4,4 0,0,0 10,10,10 0,0,0 228,228,228 6,6,6 3,3,3 237,237,237 249,249,249 255,255,255 172,172,172 11,11,11 0,0,0 217,217,217 255,255,255 255,255,255 248,248,248 255,255,255 190,190,190 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 223,223,223 255,255,255 255,255,255 235,235,235 0,0,0 0,0,0 246,246,246 186,186,186 200,200,200 173,173,173 213,213,213 177,177,177 240,240,240 0,0,0 0,0,0 254,254,254 255,255,255 255,255,255 252,252,252 0,0,0 8,8,8 255,255,255 2,2,2 2,2,2 243,243,243 243,243,243 252,252,252 254,254,254 0,0,0 0,0,0 244,244,244 255,255,255 0,0,0 3,3,3 255,255,255 249,249,249 0,0,0 25,25,25 249,249,249 255,255,255 194,194,194 0,0,0 8,8,8 255,255,255 241,241,241 14,14,14 0,0,0 250,250,250 255,255,255 253,253,253 250,250,250 247,247,247 255,255,255 189,189,189 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 178,178,178 202,202,202 188,188,188 197,197,197 17,17,17 4,4,4 4,4,4 0,0,0 0,0,0 0,0,0 1,1,1 210,210,210 179,179,179 24,24,24 0,0,0 199,199,199 172,172,172 186,186,186 198,198,198 0,0,0 1,1,1 248,248,248 0,0,0 0,0,0 255,255,255 255,255,255 243,243,243 243,243,243 0,0,0 7,7,7 255,255,255 241,241,241 192,192,192 1,1,1 12,12,12 0,0,0 0,0,0 239,239,239 1,1,1 245,245,245 183,183,183 255,255,255 0,0,0 0,0,0 15,15,15 0,0,0 247,247,247 244,244,244 249,249,249 247,247,247 255,255,255 249,249,249 250,250,250 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 209,209,209 228,228,228 247,247,247 239,239,239 250,250,250 245,245,245 255,255,255 250,250,250 252,252,252 202,202,202 254,254,254 201,201,201 245,245,245 237,237,237 253,253,253 247,247,247 224,224,224 255,255,255 243,243,243 248,248,248 214,214,214 244,244,244 255,255,255 249,249,249 254,254,254 244,244,244 255,255,255 255,255,255 244,244,244 247,247,247 245,245,245 247,247,247 200,200,200 249,249,249 234,234,234 255,255,255 246,246,246 255,255,255 255,255,255 248,248,248 179,179,179 223,223,223 174,174,174 183,183,183 189,189,189 182,182,182 253,253,253 255,255,255 251,251,251 239,239,239 250,250,250 253,253,253 255,255,255 192,192,192 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 182,182,182 255,255,255 242,242,242 255,255,255 233,233,233 255,255,255 255,255,255 255,255,255 253,253,253 183,183,183 252,252,252 195,195,195 255,255,255 255,255,255 255,255,255 252,252,252 190,190,190 228,228,228 255,255,255 254,254,254 192,192,192 169,169,169 197,197,197 203,203,203 168,168,168 196,196,196 199,199,199 181,181,181 202,202,202 203,203,203 194,194,194 174,174,174 209,209,209 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 237,237,237 253,253,253 214,214,214 215,215,215 255,255,255 253,253,253 252,252,252 195,195,195 251,251,251 244,244,244 255,255,255 255,255,255 255,255,255 243,243,243 249,249,249 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 180,180,180 255,255,255 255,255,255 246,246,246 255,255,255 255,255,255 235,235,235 255,255,255 238,238,238 207,207,207 252,252,252 197,197,197 240,240,240 255,255,255 240,240,240 255,255,255 190,190,190 255,255,255 241,241,241 255,255,255 253,253,253 255,255,255 250,250,250 244,244,244 211,211,211 234,234,234 255,255,255 249,249,249 243,243,243 250,250,250 255,255,255 255,255,255 238,238,238 247,247,247 244,244,244 247,247,247 255,255,255 244,244,244 255,255,255 255,255,255 180,180,180 255,255,255 255,255,255 255,255,255 242,242,242 200,200,200 248,248,248 255,255,255 255,255,255 246,246,246 254,254,254 255,255,255 255,255,255 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.jpg
new file mode 100644
index 0000000..7afb6df
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.txt
new file mode 100644
index 0000000..7fce3f1
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input08.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+249,249,249 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 205,205,205 255,255,255 249,249,249 255,255,255 255,255,255 190,190,190 182,182,182 255,255,255 255,255,255 251,251,251 249,249,249 255,255,255 249,249,249 252,252,252 255,255,255 255,255,255 246,246,246 255,255,255 247,247,247 253,253,253 255,255,255 255,255,255 251,251,251 194,194,194 240,240,240 202,202,202 255,255,255 188,188,188 242,242,242 253,253,253 253,253,253 255,255,255 246,246,246 254,254,254 255,255,255 236,236,236 252,252,252 255,255,255 247,247,247 174,174,174 255,255,255 237,237,237 187,187,187 255,255,255 255,255,255 250,250,250 255,255,255 254,254,254 185,185,185 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 244,244,244 244,244,244 249,249,249 255,255,255 188,188,188 231,231,231 249,249,249 255,255,255 238,238,238 192,192,192 187,187,187 245,245,245 255,255,255 248,248,248 255,255,255 255,255,255 245,245,245 255,255,255 244,244,244 251,251,251 255,255,255 241,241,241 255,255,255 244,244,244 238,238,238 247,247,247 255,255,255 169,169,169 221,221,221 192,192,192 243,243,243 192,192,192 252,252,252 249,249,249 245,245,245 255,255,255 255,255,255 255,255,255 247,247,247 250,250,250 255,255,255 238,238,238 255,255,255 195,195,195 251,251,251 244,244,244 209,209,209 248,248,248 245,245,245 250,250,250 251,251,251 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+243,243,243 241,241,241 255,255,255 255,255,255 255,255,255 239,239,239 188,188,188 228,228,228 197,197,197 187,187,187 200,200,200 198,198,198 191,191,191 255,255,255 254,254,254 255,255,255 232,232,232 249,249,249 255,255,255 251,251,251 237,237,237 254,254,254 237,237,237 255,255,255 237,237,237 254,254,254 255,255,255 255,255,255 247,247,247 206,206,206 251,251,251 245,245,245 252,252,252 204,204,204 246,246,246 255,255,255 255,255,255 241,241,241 241,241,241 246,246,246 253,253,253 255,255,255 253,253,253 251,251,251 242,242,242 189,189,189 255,255,255 255,255,255 165,165,165 255,255,255 255,255,255 246,246,246 255,255,255 255,255,255 175,175,175 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 242,242,242 255,255,255 244,244,244 8,8,8 0,0,0 232,232,232 255,255,255 246,246,246 255,255,255 0,0,0 0,0,0 253,253,253 246,246,246 241,241,241 20,20,20 0,0,0 0,0,0 13,13,13 249,249,249 255,255,255 255,255,255 0,0,0 7,7,7 0,0,0 0,0,0 0,0,0 0,0,0 194,194,194 245,245,245 247,247,247 238,238,238 178,178,178 8,8,8 0,0,0 0,0,0 2,2,2 190,190,190 197,197,197 170,170,170 192,192,192 0,0,0 19,19,19 3,3,3 9,9,9 0,0,0 0,0,0 213,213,213 248,248,248 247,247,247 255,255,255 254,254,254 244,244,244 186,186,186 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 243,243,243 243,243,243 255,255,255 251,251,251 0,0,0 0,0,0 13,13,13 229,229,229 255,255,255 242,242,242 4,4,4 0,0,0 255,255,255 255,255,255 8,8,8 0,0,0 253,253,253 249,249,249 0,0,0 0,0,0 245,245,245 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 238,238,238 0,0,0 12,12,12 249,249,249 255,255,255 255,255,255 0,0,0 19,19,19 245,245,245 247,247,247 7,7,7 7,7,7 244,244,244 255,255,255 0,0,0 16,16,16 223,223,223 251,251,251 255,255,255 255,255,255 0,0,0 0,0,0 218,218,218 255,255,255 238,238,238 249,249,249 255,255,255 191,191,191 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 254,254,254 255,255,255 254,254,254 255,255,255 2,2,2 6,6,6 0,0,0 10,10,10 255,255,255 247,247,247 0,0,0 19,19,19 253,253,253 0,0,0 5,5,5 255,255,255 242,242,242 254,254,254 255,255,255 7,7,7 0,0,0 224,224,224 27,27,27 6,6,6 241,241,241 246,246,246 255,255,255 238,238,238 0,0,0 0,0,0 246,246,246 1,1,1 0,0,0 247,247,247 253,253,253 245,245,245 211,211,211 0,0,0 9,9,9 254,254,254 0,0,0 0,0,0 255,255,255 250,250,250 242,242,242 171,171,171 194,194,194 206,206,206 212,212,212 193,193,193 192,192,192 186,186,186 211,211,211 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 253,253,253 255,255,255 253,253,253 227,227,227 5,5,5 0,0,0 0,0,0 0,0,0 240,240,240 255,255,255 0,0,0 0,0,0 255,255,255 1,1,1 2,2,2 252,252,252 255,255,255 255,255,255 241,241,241 4,4,4 10,10,10 202,202,202 0,0,0 0,0,0 186,186,186 188,188,188 188,188,188 192,192,192 0,0,0 5,5,5 193,193,193 3,3,3 8,8,8 197,197,197 209,209,209 205,205,205 162,162,162 4,4,4 6,6,6 187,187,187 0,0,0 0,0,0 248,248,248 255,255,255 255,255,255 209,209,209 255,255,255 238,238,238 255,255,255 240,240,240 252,252,252 255,255,255 247,247,247 178,178,178 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 252,252,252 247,247,247 254,254,254 255,255,255 0,0,0 1,1,1 255,255,255 7,7,7 0,0,0 253,253,253 5,5,5 0,0,0 253,253,253 248,248,248 0,0,0 3,3,3 254,254,254 252,252,252 4,4,4 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 248,248,248 249,249,249 255,255,255 6,6,6 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 243,243,243 255,255,255 255,255,255 1,1,1 0,0,0 252,252,252 208,208,208 5,5,5 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 255,255,255 255,255,255 252,252,252 255,255,255 243,243,243 248,248,248 203,203,203 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+199,199,199 186,186,186 181,181,181 198,198,198 194,194,194 0,0,0 7,7,7 251,251,251 7,7,7 0,0,0 183,183,183 13,13,13 0,0,0 245,245,245 255,255,255 238,238,238 0,0,0 0,0,0 0,0,0 255,255,255 0,0,0 1,1,1 251,251,251 0,0,0 0,0,0 255,255,255 245,245,245 255,255,255 255,255,255 0,0,0 1,1,1 255,255,255 2,2,2 0,0,0 255,255,255 255,255,255 244,244,244 255,255,255 4,4,4 0,0,0 253,253,253 203,203,203 244,244,244 254,254,254 250,250,250 255,255,255 185,185,185 0,0,0 8,8,8 251,251,251 255,255,255 255,255,255 241,241,241 255,255,255 198,198,198 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 254,254,254 253,253,253 255,255,255 251,251,251 0,0,0 0,0,0 255,255,255 187,187,187 6,6,6 1,1,1 0,0,0 0,0,0 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 231,231,231 12,12,12 0,0,0 241,241,241 8,8,8 7,7,7 255,255,255 248,248,248 247,247,247 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 23,23,23 240,240,240 0,0,0 5,5,5 250,250,250 0,0,0 7,7,7 255,255,255 175,175,175 255,255,255 255,255,255 255,255,255 252,252,252 177,177,177 15,15,15 0,0,0 254,254,254 248,248,248 255,255,255 255,255,255 246,246,246 190,190,190 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+239,239,239 255,255,255 254,254,254 224,224,224 255,255,255 20,20,20 0,0,0 241,241,241 184,184,184 255,255,255 0,0,0 6,6,6 10,10,10 250,250,250 250,250,250 0,0,0 251,251,251 251,251,251 239,239,239 255,255,255 0,0,0 16,16,16 234,234,234 7,7,7 0,0,0 255,255,255 243,243,243 255,255,255 247,247,247 6,6,6 3,3,3 255,255,255 6,6,6 0,0,0 254,254,254 255,255,255 4,4,4 0,0,0 10,10,10 0,0,0 254,254,254 193,193,193 249,249,249 255,255,255 242,242,242 255,255,255 196,196,196 0,0,0 2,2,2 255,255,255 251,251,251 242,242,242 254,254,254 255,255,255 205,205,205 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 239,239,239 255,255,255 244,244,244 252,252,252 0,0,0 0,0,0 255,255,255 199,199,199 193,193,193 13,13,13 0,0,0 0,0,0 244,244,244 246,246,246 6,6,6 0,0,0 255,255,255 253,253,253 0,0,0 0,0,0 198,198,198 255,255,255 0,0,0 11,11,11 232,232,232 255,255,255 255,255,255 0,0,0 3,3,3 239,239,239 246,246,246 255,255,255 0,0,0 3,3,3 255,255,255 249,249,249 0,0,0 25,25,25 249,249,249 237,237,237 15,15,15 0,0,0 248,248,248 255,255,255 252,252,252 194,194,194 0,0,0 0,0,0 239,239,239 255,255,255 255,255,255 248,248,248 247,247,247 200,200,200 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 178,178,178 213,213,213 189,189,189 183,183,183 0,0,0 7,7,7 173,173,173 193,193,193 201,201,201 159,159,159 24,24,24 7,7,7 191,191,191 175,175,175 190,190,190 10,10,10 17,17,17 0,0,0 1,1,1 195,195,195 193,193,193 245,245,245 7,7,7 0,0,0 8,8,8 9,9,9 0,0,0 2,2,2 255,255,255 255,255,255 249,249,249 241,241,241 192,192,192 1,1,1 12,12,12 0,0,0 0,0,0 239,239,239 1,1,1 255,255,255 177,177,177 0,0,0 2,2,2 0,0,0 4,4,4 2,2,2 10,10,10 255,255,255 255,255,255 242,242,242 253,253,253 255,255,255 255,255,255 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 186,186,186 248,248,248 230,230,230 255,255,255 248,248,248 255,255,255 255,255,255 255,255,255 243,243,243 205,205,205 247,247,247 188,188,188 249,249,249 255,255,255 245,245,245 243,243,243 191,191,191 239,239,239 255,255,255 241,241,241 202,202,202 252,252,252 255,255,255 255,255,255 255,255,255 238,238,238 244,244,244 250,250,250 248,248,248 235,235,235 255,255,255 247,247,247 200,200,200 249,249,249 234,234,234 255,255,255 246,246,246 255,255,255 255,255,255 253,253,253 173,173,173 202,202,202 192,192,192 176,176,176 194,194,194 187,187,187 240,240,240 252,252,252 237,237,237 253,253,253 255,255,255 248,248,248 251,251,251 186,186,186 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 179,179,179 255,255,255 255,255,255 255,255,255 237,237,237 253,253,253 254,254,254 240,240,240 255,255,255 194,194,194 250,250,250 197,197,197 255,255,255 250,250,250 255,255,255 255,255,255 206,206,206 250,250,250 255,255,255 239,239,239 189,189,189 205,205,205 178,178,178 194,194,194 168,168,168 204,204,204 215,215,215 204,204,204 184,184,184 206,206,206 193,193,193 174,174,174 209,209,209 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 237,237,237 255,255,255 172,172,172 255,255,255 253,253,253 255,255,255 255,255,255 190,190,190 255,255,255 255,255,255 255,255,255 255,255,255 251,251,251 244,244,244 255,255,255 202,202,202 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 177,177,177 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 240,240,240 254,254,254 255,255,255 186,186,186 255,255,255 191,191,191 241,241,241 255,255,255 245,245,245 255,255,255 170,170,170 255,255,255 255,255,255 255,255,255 255,255,255 232,232,232 255,255,255 253,253,253 206,206,206 235,235,235 255,255,255 247,247,247 252,252,252 255,255,255 255,255,255 255,255,255 238,238,238 247,247,247 244,244,244 247,247,247 255,255,255 244,244,244 255,255,255 242,242,242 199,199,199 255,255,255 255,255,255 243,243,243 255,255,255 184,184,184 249,249,249 246,246,246 255,255,255 245,245,245 255,255,255 255,255,255 249,249,249 193,193,193 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.jpg
new file mode 100644
index 0000000..fe7b87b
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.txt
new file mode 100644
index 0000000..b4626f3
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input09.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+248,248,248 254,254,254 255,255,255 255,255,255 255,255,255 246,246,246 197,197,197 255,255,255 255,255,255 254,254,254 254,254,254 180,180,180 196,196,196 254,254,254 255,255,255 254,254,254 255,255,255 243,243,243 249,249,249 255,255,255 242,242,242 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 251,251,251 255,255,255 255,255,255 196,196,196 236,236,236 200,200,200 251,251,251 204,204,204 239,239,239 255,255,255 251,251,251 251,251,251 255,255,255 254,254,254 255,255,255 248,248,248 254,254,254 254,254,254 243,243,243 186,186,186 255,255,255 250,250,250 184,184,184 255,255,255 252,252,252 247,247,247 255,255,255 247,247,247 185,185,185 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 250,250,250 251,251,251 252,252,252 245,245,245 255,255,255 168,168,168 225,225,225 237,237,237 255,255,255 251,251,251 186,186,186 205,205,205 242,242,242 244,244,244 251,251,251 254,254,254 255,255,255 255,255,255 240,240,240 241,241,241 246,246,246 249,249,249 255,255,255 255,255,255 255,255,255 247,247,247 243,243,243 236,236,236 174,174,174 219,219,219 188,188,188 254,254,254 169,169,169 250,250,250 255,255,255 253,253,253 240,240,240 248,248,248 255,255,255 255,255,255 248,248,248 241,241,241 255,255,255 255,255,255 192,192,192 253,253,253 254,254,254 195,195,195 248,248,248 244,244,244 255,255,255 255,255,255 240,240,240 186,186,186 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 247,247,247 250,250,250 255,255,255 255,255,255 253,253,253 180,180,180 231,231,231 188,188,188 193,193,193 198,198,198 201,201,201 187,187,187 245,245,245 255,255,255 250,250,250 236,236,236 255,255,255 221,221,221 255,255,255 255,255,255 248,248,248 255,255,255 244,244,244 246,246,246 248,248,248 255,255,255 255,255,255 243,243,243 208,208,208 252,252,252 245,245,245 250,250,250 207,207,207 255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 254,254,254 254,254,254 255,255,255 183,183,183 255,255,255 247,247,247 186,186,186 255,255,255 255,255,255 254,254,254 241,241,241 255,255,255 218,218,218 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 232,232,232 255,255,255 255,255,255 0,0,0 9,9,9 3,3,3 0,0,0 1,1,1 0,0,0 0,0,0 171,171,171 255,255,255 240,240,240 255,255,255 9,9,9 0,0,0 8,8,8 0,0,0 0,0,0 255,255,255 255,255,255 244,244,244 255,255,255 240,240,240 1,1,1 0,0,0 0,0,0 8,8,8 233,233,233 253,253,253 232,232,232 16,16,16 0,0,0 3,3,3 11,11,11 0,0,0 0,0,0 198,198,198 177,177,177 185,185,185 7,7,7 4,4,4 0,0,0 18,18,18 2,2,2 255,255,255 200,200,200 247,247,247 248,248,248 255,255,255 254,254,254 236,236,236 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 253,253,253 255,255,255 253,253,253 230,230,230 255,255,255 182,182,182 253,253,253 248,248,248 252,252,252 4,4,4 0,0,0 208,208,208 255,255,255 249,249,249 0,0,0 0,0,0 255,255,255 241,241,241 243,243,243 3,3,3 6,6,6 251,251,251 250,250,250 251,251,251 241,241,241 255,255,255 251,251,251 6,6,6 0,0,0 255,255,255 255,255,255 6,6,6 1,1,1 255,255,255 251,251,251 230,230,230 200,200,200 7,7,7 0,0,0 255,255,255 0,0,0 7,7,7 237,237,237 245,245,245 255,255,255 0,0,0 0,0,0 186,186,186 252,252,252 233,233,233 242,242,242 255,255,255 255,255,255 187,187,187 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 245,245,245 254,254,254 255,255,255 255,255,255 255,255,255 190,190,190 253,253,253 255,255,255 255,255,255 0,0,0 19,19,19 188,188,188 250,250,250 0,0,0 1,1,1 244,244,244 252,252,252 248,248,248 255,255,255 255,255,255 226,226,226 242,242,242 251,251,251 249,249,249 255,255,255 255,255,255 245,245,245 6,6,6 0,0,0 243,243,243 255,255,255 3,3,3 0,0,0 252,252,252 255,255,255 247,247,247 214,214,214 240,240,240 247,247,247 234,234,234 239,239,239 255,255,255 255,255,255 255,255,255 242,242,242 183,183,183 13,13,13 7,7,7 180,180,180 211,211,211 178,178,178 180,180,180 206,206,206 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 255,255,255 249,249,249 234,234,234 255,255,255 193,193,193 255,255,255 246,246,246 0,0,0 8,8,8 249,249,249 181,181,181 255,255,255 0,0,0 11,11,11 251,251,251 255,255,255 247,247,247 244,244,244 255,255,255 191,191,191 211,211,211 189,189,189 197,197,197 169,169,169 197,197,197 202,202,202 0,0,0 22,22,22 185,185,185 179,179,179 4,4,4 8,8,8 196,196,196 198,198,198 195,195,195 163,163,163 210,210,210 189,189,189 201,201,201 206,206,206 247,247,247 240,240,240 250,250,250 255,255,255 0,0,0 0,0,0 225,225,225 255,255,255 241,241,241 251,251,251 255,255,255 252,252,252 184,184,184 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 253,253,253 254,254,254 255,255,255 239,239,239 204,204,204 248,248,248 3,3,3 0,0,0 255,255,255 242,242,242 196,196,196 255,255,255 0,0,0 0,0,0 255,255,255 240,240,240 255,255,255 255,255,255 237,237,237 201,201,201 245,245,245 255,255,255 253,253,253 255,255,255 245,245,245 255,255,255 0,0,0 3,3,3 255,255,255 255,255,255 244,244,244 0,0,0 3,3,3 0,0,0 13,13,13 4,4,4 0,0,0 254,254,254 250,250,250 197,197,197 252,252,252 255,255,255 0,0,0 3,3,3 0,0,0 255,255,255 255,255,255 255,255,255 239,239,239 252,252,252 249,249,249 244,244,244 199,199,199 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+182,182,182 214,214,214 177,177,177 189,189,189 211,211,211 180,180,180 210,210,210 0,0,0 0,0,0 188,188,188 189,189,189 196,196,196 193,193,193 250,250,250 3,3,3 2,2,2 243,243,243 255,255,255 243,243,243 0,0,0 5,5,5 0,0,0 247,247,247 255,255,255 255,255,255 247,247,247 255,255,255 240,240,240 6,6,6 0,0,0 255,255,255 255,255,255 255,255,255 187,187,187 255,255,255 251,251,251 233,233,233 255,255,255 0,0,0 3,3,3 251,251,251 188,188,188 255,255,255 255,255,255 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 253,253,253 250,250,250 255,255,255 244,244,244 255,255,255 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 242,242,242 255,255,255 250,250,250 252,252,252 252,252,252 0,0,0 10,10,10 198,198,198 255,255,255 255,255,255 230,230,230 186,186,186 255,255,255 0,0,0 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 3,3,3 11,11,11 228,228,228 255,255,255 255,255,255 247,247,247 241,241,241 251,251,251 13,13,13 4,4,4 243,243,243 252,252,252 253,253,253 178,178,178 239,239,239 255,255,255 255,255,255 252,252,252 0,0,0 0,0,0 255,255,255 176,176,176 255,255,255 237,237,237 255,255,255 237,237,237 189,189,189 1,1,1 0,0,0 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 185,185,185 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 240,240,240 236,236,236 255,255,255 12,12,12 12,12,12 250,250,250 192,192,192 254,254,254 245,245,245 255,255,255 190,190,190 252,252,252 2,2,2 0,0,0 254,254,254 245,245,245 253,253,253 244,244,244 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 255,255,255 255,255,255 255,255,255 0,0,0 4,4,4 243,243,243 255,255,255 255,255,255 183,183,183 255,255,255 255,255,255 241,241,241 242,242,242 1,1,1 2,2,2 233,233,233 209,209,209 250,250,250 255,255,255 255,255,255 254,254,254 203,203,203 0,0,0 14,14,14 255,255,255 253,253,253 246,246,246 255,255,255 243,243,243 198,198,198 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 223,223,223 255,255,255 255,255,255 235,235,235 0,0,0 0,0,0 246,246,246 182,182,182 190,190,190 190,190,190 198,198,198 205,205,205 226,226,226 255,255,255 0,0,0 6,6,6 255,255,255 255,255,255 255,255,255 13,13,13 0,0,0 255,255,255 248,248,248 0,0,0 0,0,0 253,253,253 0,0,0 2,2,2 248,248,248 255,255,255 247,247,247 0,0,0 7,7,7 240,240,240 252,252,252 251,251,251 255,255,255 6,6,6 0,0,0 255,255,255 0,0,0 4,4,4 242,242,242 253,253,253 255,255,255 0,0,0 0,0,0 242,242,242 251,251,251 248,248,248 255,255,255 248,248,248 252,252,252 194,194,194 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 178,178,178 202,202,202 188,188,188 197,197,197 17,17,17 4,4,4 4,4,4 15,15,15 0,0,0 0,0,0 6,6,6 189,189,189 198,198,198 167,167,167 191,191,191 0,0,0 0,0,0 0,0,0 8,8,8 0,0,0 170,170,170 250,250,250 255,255,255 255,255,255 15,15,15 0,0,0 7,7,7 255,255,255 248,248,248 250,250,250 244,244,244 255,255,255 0,0,0 2,2,2 7,7,7 0,0,0 0,0,0 0,0,0 255,255,255 255,255,255 175,175,175 0,0,0 10,10,10 0,0,0 0,0,0 11,11,11 251,251,251 255,255,255 247,247,247 255,255,255 249,249,249 255,255,255 255,255,255 179,179,179 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 209,209,209 228,228,228 247,247,247 239,239,239 250,250,250 245,245,245 255,255,255 243,243,243 245,245,245 186,186,186 255,255,255 187,187,187 255,255,255 255,255,255 246,246,246 255,255,255 212,212,212 251,251,251 248,248,248 255,255,255 212,212,212 255,255,255 241,241,241 250,250,250 238,238,238 255,255,255 252,252,252 221,221,221 255,255,255 255,255,255 255,255,255 235,235,235 213,213,213 255,255,255 250,250,250 250,250,250 255,255,255 241,241,241 254,254,254 246,246,246 178,178,178 204,204,204 184,184,184 188,188,188 208,208,208 168,168,168 255,255,255 237,237,237 253,253,253 255,255,255 250,250,250 255,255,255 253,253,253 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 182,182,182 255,255,255 242,242,242 255,255,255 233,233,233 255,255,255 255,255,255 255,255,255 255,255,255 179,179,179 239,239,239 199,199,199 247,247,247 239,239,239 254,254,254 241,241,241 201,201,201 255,255,255 243,243,243 242,242,242 176,176,176 181,181,181 192,192,192 189,189,189 169,169,169 194,194,194 207,207,207 217,217,217 183,183,183 175,175,175 194,194,194 202,202,202 189,189,189 219,219,219 255,255,255 255,255,255 242,242,242 255,255,255 253,253,253 255,255,255 207,207,207 245,245,245 239,239,239 255,255,255 255,255,255 186,186,186 245,245,245 255,255,255 254,254,254 252,252,252 255,255,255 249,249,249 237,237,237 206,206,206 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 180,180,180 255,255,255 255,255,255 246,246,246 255,255,255 255,255,255 235,235,235 238,238,238 255,255,255 198,198,198 255,255,255 197,197,197 245,245,245 255,255,255 248,248,248 255,255,255 173,173,173 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 252,252,252 255,255,255 206,206,206 237,237,237 254,254,254 248,248,248 253,253,253 255,255,255 255,255,255 255,255,255 249,249,249 255,255,255 250,250,250 248,248,248 243,243,243 255,255,255 247,247,247 252,252,252 186,186,186 255,255,255 254,254,254 255,255,255 238,238,238 193,193,193 255,255,255 252,252,252 245,245,245 255,255,255 245,245,245 255,255,255 255,255,255 189,189,189 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.jpg
new file mode 100644
index 0000000..65b4339
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.txt
new file mode 100644
index 0000000..02f1195
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input10.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 255,255,255 253,253,253 253,253,253 189,189,189 192,192,192 252,252,252 255,255,255 252,252,252 255,255,255 250,250,250 255,255,255 246,246,246 250,250,250 255,255,255 246,246,246 255,255,255 255,255,255 238,238,238 255,255,255 243,243,243 255,255,255 187,187,187 247,247,247 199,199,199 252,252,252 187,187,187 249,249,249 241,241,241 255,255,255 246,246,246 246,246,246 255,255,255 250,250,250 255,255,255 247,247,247 255,255,255 237,237,237 198,198,198 244,244,244 252,252,252 191,191,191 255,255,255 252,252,252 255,255,255 255,255,255 245,245,245 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 247,247,247 249,249,249 248,248,248 201,201,201 187,187,187 255,255,255 255,255,255 232,232,232 255,255,255 234,234,234 255,255,255 255,255,255 238,238,238 255,255,255 253,253,253 244,244,244 252,252,252 255,255,255 249,249,249 253,253,253 245,245,245 188,188,188 216,216,216 189,189,189 252,252,252 175,175,175 255,255,255 255,255,255 247,247,247 246,246,246 255,255,255 255,255,255 255,255,255 250,250,250 249,249,249 255,255,255 255,255,255 183,183,183 255,255,255 251,251,251 174,174,174 254,254,254 255,255,255 251,251,251 255,255,255 247,247,247 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 197,197,197 184,184,184 207,207,207 184,184,184 193,193,193 239,239,239 233,233,233 255,255,255 255,255,255 239,239,239 255,255,255 236,236,236 250,250,250 255,255,255 241,241,241 255,255,255 253,253,253 236,236,236 255,255,255 255,255,255 246,246,246 176,176,176 248,248,248 246,246,246 250,250,250 203,203,203 249,249,249 237,237,237 245,245,245 255,255,255 249,249,249 250,250,250 249,249,249 247,247,247 240,240,240 249,249,249 255,255,255 189,189,189 255,255,255 241,241,241 200,200,200 254,254,254 255,255,255 233,233,233 255,255,255 255,255,255 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 0,0,0 2,2,2 9,9,9 0,0,0 200,200,200 255,255,255 0,0,0 0,0,0 0,0,0 19,19,19 0,0,0 15,15,15 0,0,0 254,254,254 247,247,247 0,0,0 8,8,8 244,244,244 255,255,255 241,241,241 251,251,251 13,13,13 3,3,3 251,251,251 0,0,0 3,3,3 9,9,9 19,19,19 5,5,5 0,0,0 182,182,182 192,192,192 187,187,187 200,200,200 198,198,198 195,195,195 0,0,0 8,8,8 227,227,227 255,255,255 195,195,195 242,242,242 255,255,255 251,251,251 251,251,251 239,239,239 189,189,189 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 246,246,246 249,249,249 239,239,239 6,6,6 0,0,0 253,253,253 255,255,255 254,254,254 254,254,254 242,242,242 224,224,224 0,0,0 9,9,9 255,255,255 255,255,255 1,1,1 1,1,1 2,2,2 249,249,249 243,243,243 5,5,5 3,3,3 0,0,0 255,255,255 4,4,4 0,0,0 245,245,245 238,238,238 240,240,240 0,0,0 13,13,13 255,255,255 250,250,250 249,249,249 251,251,251 0,0,0 8,8,8 0,0,0 24,24,24 234,234,234 207,207,207 227,227,227 251,251,251 255,255,255 254,254,254 253,253,253 202,202,202 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 255,255,255 247,247,247 255,255,255 250,250,250 197,197,197 252,252,252 238,238,238 254,254,254 251,251,251 255,255,255 255,255,255 8,8,8 0,0,0 235,235,235 255,255,255 0,0,0 0,0,0 0,0,0 7,7,7 8,8,8 0,0,0 0,0,0 12,12,12 246,246,246 2,2,2 22,22,22 235,235,235 255,255,255 232,232,232 212,212,212 0,0,0 0,0,0 254,254,254 254,254,254 0,0,0 17,17,17 254,254,254 232,232,232 1,1,1 0,0,0 177,177,177 212,212,212 182,182,182 177,177,177 178,178,178 214,214,214 198,198,198 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 246,246,246 241,241,241 254,254,254 255,255,255 199,199,199 241,241,241 255,255,255 254,254,254 249,249,249 247,247,247 8,8,8 0,0,0 255,255,255 187,187,187 197,197,197 7,7,7 6,6,6 177,177,177 11,11,11 0,0,0 194,194,194 11,11,11 0,0,0 204,204,204 4,4,4 0,0,0 214,214,214 207,207,207 187,187,187 0,0,0 0,0,0 198,198,198 183,183,183 10,10,10 0,0,0 243,243,243 246,246,246 255,255,255 209,209,209 5,5,5 17,17,17 230,230,230 255,255,255 255,255,255 253,253,253 237,237,237 180,180,180 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 255,255,255 251,251,251 251,251,251 237,237,237 199,199,199 255,255,255 245,245,245 254,254,254 255,255,255 7,7,7 2,2,2 249,249,249 255,255,255 196,196,196 249,249,249 1,1,1 0,0,0 255,255,255 0,0,0 6,6,6 255,255,255 0,0,0 0,0,0 247,247,247 0,0,0 16,16,16 0,0,0 0,0,0 9,9,9 1,1,1 251,251,251 248,248,248 255,255,255 3,3,3 0,0,0 252,252,252 255,255,255 255,255,255 167,167,167 6,6,6 0,0,0 255,255,255 239,239,239 242,242,242 253,253,253 255,255,255 189,189,189 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 181,181,181 201,201,201 0,0,0 0,0,0 1,1,1 241,241,241 253,253,253 248,248,248 5,5,5 0,0,0 255,255,255 244,244,244 247,247,247 204,204,204 247,247,247 11,11,11 0,0,0 255,255,255 0,0,0 2,2,2 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 4,4,4 253,253,253 255,255,255 255,255,255 0,0,0 11,11,11 247,247,247 252,252,252 0,0,0 7,7,7 245,245,245 255,255,255 242,242,242 190,190,190 8,8,8 0,0,0 251,251,251 255,255,255 255,255,255 248,248,248 255,255,255 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 186,186,186 255,255,255 250,250,250 0,0,0 9,9,9 255,255,255 255,255,255 3,3,3 12,12,12 252,252,252 233,233,233 255,255,255 255,255,255 181,181,181 240,240,240 0,0,0 0,0,0 255,255,255 255,255,255 238,238,238 253,253,253 0,0,0 0,0,0 251,251,251 6,6,6 0,0,0 248,248,248 237,237,237 234,234,234 255,255,255 0,0,0 11,11,11 255,255,255 0,0,0 0,0,0 23,23,23 0,0,0 4,4,4 11,11,11 0,0,0 11,11,11 250,250,250 241,241,241 251,251,251 255,255,255 255,255,255 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 185,185,185 251,251,251 246,246,246 14,14,14 0,0,0 255,255,255 0,0,0 0,0,0 239,239,239 255,255,255 255,255,255 232,232,232 255,255,255 187,187,187 255,255,255 5,5,5 9,9,9 240,240,240 255,255,255 249,249,249 255,255,255 13,13,13 0,0,0 255,255,255 2,2,2 0,0,0 255,255,255 255,255,255 254,254,254 240,240,240 8,8,8 0,0,0 250,250,250 0,0,0 22,22,22 235,235,235 255,255,255 246,246,246 193,193,193 1,1,1 0,0,0 255,255,255 255,255,255 255,255,255 250,250,250 244,244,244 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 209,209,209 169,169,169 190,190,190 6,6,6 0,0,0 243,243,243 0,0,0 20,20,20 255,255,255 245,245,245 249,249,249 255,255,255 243,243,243 207,207,207 240,240,240 3,3,3 2,2,2 243,243,243 243,243,243 252,252,252 254,254,254 0,0,0 0,0,0 244,244,244 0,0,0 1,1,1 249,249,249 255,255,255 255,255,255 0,0,0 15,15,15 244,244,244 255,255,255 0,0,0 0,0,0 250,250,250 252,252,252 255,255,255 172,172,172 19,19,19 11,11,11 255,255,255 255,255,255 248,248,248 254,254,254 255,255,255 204,204,204 238,238,238 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 0,0,0 15,15,15 0,0,0 0,0,0 215,215,215 188,188,188 0,0,0 0,0,0 0,0,0 21,21,21 0,0,0 5,5,5 2,2,2 172,172,172 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 243,243,243 243,243,243 0,0,0 7,7,7 255,255,255 10,10,10 0,0,0 1,1,1 0,0,0 4,4,4 0,0,0 255,255,255 255,255,255 248,248,248 3,3,3 0,0,0 255,255,255 255,255,255 255,255,255 200,200,200 0,0,0 6,6,6 217,217,217 252,252,252 255,255,255 255,255,255 246,246,246 197,197,197 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 241,241,241 186,186,186 255,255,255 188,188,188 247,247,247 255,255,255 255,255,255 253,253,253 213,213,213 250,250,250 248,248,248 255,255,255 216,216,216 255,255,255 250,250,250 249,249,249 254,254,254 244,244,244 255,255,255 255,255,255 244,244,244 247,247,247 245,245,245 224,224,224 220,220,220 255,255,255 244,244,244 255,255,255 255,255,255 247,247,247 254,254,254 255,255,255 160,160,160 205,205,205 189,189,189 171,171,171 198,198,198 170,170,170 255,255,255 255,255,255 255,255,255 247,247,247 246,246,246 255,255,255 253,253,253 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 255,255,255 255,255,255 184,184,184 252,252,252 189,189,189 255,255,255 235,235,235 251,251,251 252,252,252 189,189,189 237,237,237 255,255,255 224,224,224 184,184,184 207,207,207 179,179,179 203,203,203 168,168,168 196,196,196 199,199,199 181,181,181 202,202,202 203,203,203 194,194,194 197,197,197 192,192,192 234,234,234 232,232,232 255,255,255 255,255,255 246,246,246 249,249,249 248,248,248 197,197,197 255,255,255 251,251,251 255,255,255 255,255,255 197,197,197 243,243,243 243,243,243 242,242,242 253,253,253 255,255,255 255,255,255 255,255,255 185,185,185 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 249,249,249 251,251,251 192,192,192 255,255,255 198,198,198 227,227,227 255,255,255 249,249,249 248,248,248 201,201,201 253,253,253 249,249,249 255,255,255 255,255,255 228,228,228 255,255,255 244,244,244 211,211,211 234,234,234 255,255,255 249,249,249 243,243,243 250,250,250 255,255,255 255,255,255 243,243,243 255,255,255 254,254,254 253,253,253 250,250,250 255,255,255 255,255,255 247,247,247 209,209,209 244,244,244 250,250,250 255,255,255 255,255,255 185,185,185 255,255,255 255,255,255 246,246,246 255,255,255 249,249,249 239,239,239 255,255,255 198,198,198 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input100.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input100.jpg
new file mode 100644
index 0000000..5624587
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input100.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.jpg
new file mode 100644
index 0000000..d8204d9
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.txt
new file mode 100644
index 0000000..1ee03dd
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input11.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 255,255,255 250,250,250 255,255,255 250,250,250 255,255,255 198,198,198 255,255,255 255,255,255 255,255,255 249,249,249 192,192,192 182,182,182 254,254,254 255,255,255 250,250,250 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 243,243,243 251,251,251 253,253,253 249,249,249 247,247,247 255,255,255 255,255,255 234,234,234 213,213,213 236,236,236 193,193,193 255,255,255 186,186,186 255,255,255 254,254,254 243,243,243 253,253,253 255,255,255 240,240,240 255,255,255 244,244,244 251,251,251 255,255,255 237,237,237 192,192,192 248,248,248 255,255,255 197,197,197 255,255,255 255,255,255 253,253,253 255,255,255 250,250,250 186,186,186 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 254,254,254 251,251,251 255,255,255 255,255,255 255,255,255 182,182,182 234,234,234 245,245,245 233,233,233 255,255,255 198,198,198 203,203,203 246,246,246 251,251,251 240,240,240 255,255,255 248,248,248 255,255,255 249,249,249 237,237,237 250,250,250 255,255,255 252,252,252 255,255,255 255,255,255 227,227,227 230,230,230 255,255,255 160,160,160 227,227,227 201,201,201 235,235,235 192,192,192 229,229,229 255,255,255 248,248,248 251,251,251 243,243,243 255,255,255 249,249,249 243,243,243 255,255,255 240,240,240 255,255,255 196,196,196 255,255,255 241,241,241 195,195,195 251,251,251 244,244,244 247,247,247 255,255,255 248,248,248 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 255,255,255 255,255,255 254,254,254 175,175,175 222,222,222 199,199,199 197,197,197 201,201,201 188,188,188 180,180,180 255,255,255 248,248,248 255,255,255 234,234,234 255,255,255 253,253,253 249,249,249 253,253,253 255,255,255 246,246,246 255,255,255 255,255,255 243,243,243 255,255,255 255,255,255 255,255,255 193,193,193 254,254,254 233,233,233 255,255,255 205,205,205 255,255,255 246,246,246 255,255,255 255,255,255 222,222,222 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 255,255,255 213,213,213 244,244,244 255,255,255 174,174,174 255,255,255 255,255,255 255,255,255 254,254,254 251,251,251 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 249,249,249 255,255,255 252,252,252 255,255,255 186,186,186 240,240,240 0,0,0 14,14,14 0,0,0 5,5,5 191,191,191 251,251,251 254,254,254 249,249,249 248,248,248 0,0,0 0,0,0 255,255,255 243,243,243 238,238,238 255,255,255 232,232,232 246,246,246 237,237,237 253,253,253 235,235,235 0,0,0 0,0,0 250,250,250 255,255,255 0,0,0 6,6,6 6,6,6 1,1,1 3,3,3 0,0,0 210,210,210 176,176,176 178,178,178 0,0,0 0,0,0 209,209,209 200,200,200 161,161,161 248,248,248 0,0,0 9,9,9 219,219,219 255,255,255 254,254,254 250,250,250 255,255,255 198,198,198 237,237,237 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 255,255,255 252,252,252 255,255,255 250,250,250 255,255,255 194,194,194 255,255,255 246,246,246 255,255,255 0,0,0 2,2,2 204,204,204 255,255,255 228,228,228 255,255,255 8,8,8 11,11,11 5,5,5 244,244,244 241,241,241 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 2,2,2 6,6,6 0,0,0 254,254,254 255,255,255 8,8,8 0,0,0 230,230,230 255,255,255 255,255,255 4,4,4 0,0,0 255,255,255 255,255,255 5,5,5 14,14,14 0,0,0 254,254,254 247,247,247 7,7,7 15,15,15 8,8,8 250,250,250 255,255,255 250,250,250 240,240,240 254,254,254 206,206,206 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 254,254,254 255,255,255 255,255,255 252,252,252 254,254,254 192,192,192 255,255,255 255,255,255 238,238,238 14,14,14 0,0,0 177,177,177 255,255,255 254,254,254 0,0,0 0,0,0 0,0,0 0,0,0 255,255,255 255,255,255 244,244,244 236,236,236 240,240,240 247,247,247 244,244,244 8,8,8 5,5,5 0,0,0 6,6,6 243,243,243 255,255,255 2,2,2 0,0,0 255,255,255 245,245,245 238,238,238 196,196,196 6,6,6 0,0,0 249,249,249 0,0,0 11,11,11 1,1,1 0,0,0 17,17,17 1,1,1 0,0,0 0,0,0 209,209,209 183,183,183 185,185,185 195,195,195 213,213,213 187,187,187 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 254,254,254 254,254,254 255,255,255 252,252,252 255,255,255 191,191,191 252,252,252 241,241,241 255,255,255 0,0,0 6,6,6 200,200,200 240,240,240 255,255,255 255,255,255 248,248,248 11,11,11 2,2,2 255,255,255 243,243,243 181,181,181 208,208,208 200,200,200 199,199,199 0,0,0 0,0,0 201,201,201 0,0,0 0,0,0 204,204,204 180,180,180 6,6,6 0,0,0 185,185,185 215,215,215 198,198,198 179,179,179 1,1,1 0,0,0 200,200,200 0,0,0 4,4,4 255,255,255 0,0,0 0,0,0 216,216,216 2,2,2 14,14,14 255,255,255 234,234,234 255,255,255 255,255,255 246,246,246 188,188,188 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 248,248,248 253,253,253 250,250,250 255,255,255 195,195,195 255,255,255 255,255,255 250,250,250 0,0,0 0,0,0 206,206,206 246,246,246 255,255,255 239,239,239 255,255,255 0,0,0 13,13,13 237,237,237 253,253,253 206,206,206 249,249,249 252,252,252 0,0,0 6,6,6 251,251,251 255,255,255 2,2,2 0,0,0 255,255,255 252,252,252 0,0,0 4,4,4 252,252,252 250,250,250 246,246,246 255,255,255 8,8,8 0,0,0 250,250,250 7,7,7 0,0,0 247,247,247 13,13,13 0,0,0 176,176,176 0,0,0 0,0,0 255,255,255 242,242,242 252,252,252 252,252,252 248,248,248 198,198,198 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+191,191,191 197,197,197 184,184,184 199,199,199 186,186,186 188,188,188 205,205,205 248,248,248 193,193,193 178,178,178 3,3,3 3,3,3 201,201,201 246,246,246 253,253,253 254,254,254 255,255,255 0,0,0 0,0,0 253,253,253 247,247,247 200,200,200 234,234,234 15,15,15 0,0,0 255,255,255 255,255,255 250,250,250 2,2,2 0,0,0 255,255,255 241,241,241 2,2,2 0,0,0 255,255,255 250,250,250 255,255,255 254,254,254 0,0,0 2,2,2 255,255,255 0,0,0 11,11,11 254,254,254 2,2,2 0,0,0 194,194,194 0,0,0 0,0,0 251,251,251 255,255,255 255,255,255 248,248,248 255,255,255 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 247,247,247 253,253,253 240,240,240 255,255,255 242,242,242 247,247,247 255,255,255 193,193,193 255,255,255 0,0,0 9,9,9 187,187,187 254,254,254 255,255,255 244,244,244 244,244,244 0,0,0 19,19,19 247,247,247 255,255,255 210,210,210 235,235,235 0,0,0 5,5,5 0,0,0 0,0,0 0,0,0 11,11,11 12,12,12 0,0,0 255,255,255 6,6,6 3,3,3 224,224,224 253,253,253 255,255,255 243,243,243 10,10,10 0,0,0 251,251,251 6,6,6 0,0,0 253,253,253 245,245,245 253,253,253 204,204,204 0,0,0 11,11,11 250,250,250 241,241,241 251,251,251 255,255,255 255,255,255 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 245,245,245 252,252,252 249,249,249 248,248,248 255,255,255 0,0,0 255,255,255 193,193,193 255,255,255 0,0,0 3,3,3 178,178,178 252,252,252 251,251,251 233,233,233 253,253,253 6,6,6 2,2,2 246,246,246 255,255,255 169,169,169 255,255,255 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 0,0,0 0,0,0 249,249,249 255,255,255 0,0,0 6,6,6 255,255,255 241,241,241 255,255,255 242,242,242 8,8,8 1,1,1 250,250,250 5,5,5 7,7,7 255,255,255 255,255,255 255,255,255 182,182,182 2,2,2 0,0,0 255,255,255 255,255,255 255,255,255 250,250,250 244,244,244 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 249,249,249 255,255,255 250,250,250 236,236,236 244,244,244 10,10,10 13,13,13 173,173,173 14,14,14 0,0,0 218,218,218 198,198,198 237,237,237 245,245,245 255,255,255 247,247,247 4,4,4 0,0,0 255,255,255 244,244,244 209,209,209 253,253,253 241,241,241 247,247,247 251,251,251 245,245,245 243,243,243 7,7,7 0,0,0 249,249,249 255,255,255 10,10,10 3,3,3 232,232,232 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 250,250,250 7,7,7 0,0,0 255,255,255 255,255,255 241,241,241 188,188,188 6,6,6 11,11,11 255,255,255 255,255,255 248,248,248 254,254,254 255,255,255 204,204,204 238,238,238 255,255,255 255,255,255 255,255,255 255,255,255
+232,232,232 191,191,191 209,209,209 186,186,186 205,205,205 200,200,200 192,192,192 0,0,0 12,12,12 0,0,0 205,205,205 230,230,230 189,189,189 197,197,197 192,192,192 0,0,0 0,0,0 15,15,15 0,0,0 0,0,0 0,0,0 166,166,166 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 254,254,254 0,0,0 0,0,0 255,255,255 243,243,243 0,0,0 0,0,0 6,6,6 0,0,0 0,0,0 0,0,0 255,255,255 250,250,250 254,254,254 0,0,0 12,12,12 248,248,248 249,249,249 255,255,255 208,208,208 0,0,0 6,6,6 217,217,217 252,252,252 255,255,255 255,255,255 246,246,246 197,197,197 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 192,192,192 249,249,249 227,227,227 252,252,252 255,255,255 245,245,245 255,255,255 254,254,254 244,244,244 201,201,201 248,248,248 202,202,202 248,248,248 239,239,239 255,255,255 250,250,250 193,193,193 253,253,253 255,255,255 226,226,226 223,223,223 255,255,255 255,255,255 244,244,244 251,251,251 236,236,236 255,255,255 255,255,255 248,248,248 241,241,241 255,255,255 234,234,234 191,191,191 255,255,255 252,252,252 255,255,255 255,255,255 251,251,251 248,248,248 255,255,255 184,184,184 204,204,204 195,195,195 174,174,174 205,205,205 173,173,173 255,255,255 255,255,255 255,255,255 247,247,247 246,246,246 255,255,255 253,253,253 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 176,176,176 255,255,255 249,249,249 255,255,255 247,247,247 244,244,244 255,255,255 250,250,250 255,255,255 191,191,191 248,248,248 193,193,193 255,255,255 255,255,255 235,235,235 251,251,251 201,201,201 250,250,250 251,251,251 238,238,238 187,187,187 176,176,176 191,191,191 192,192,192 186,186,186 198,198,198 188,188,188 192,192,192 200,200,200 186,186,186 195,195,195 207,207,207 198,198,198 224,224,224 245,245,245 243,243,243 252,252,252 253,253,253 255,255,255 249,249,249 200,200,200 255,255,255 246,246,246 242,242,242 255,255,255 183,183,183 255,255,255 243,243,243 242,242,242 253,253,253 255,255,255 255,255,255 255,255,255 185,185,185 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 187,187,187 253,253,253 255,255,255 254,254,254 254,254,254 251,251,251 248,248,248 255,255,255 242,242,242 209,209,209 248,248,248 206,206,206 229,229,229 249,249,249 255,255,255 255,255,255 190,190,190 237,237,237 255,255,255 255,255,255 255,255,255 249,249,249 255,255,255 247,247,247 213,213,213 234,234,234 255,255,255 251,251,251 242,242,242 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 253,253,253 251,251,251 254,254,254 255,255,255 253,253,253 189,189,189 238,238,238 255,255,255 255,255,255 247,247,247 195,195,195 250,250,250 255,255,255 246,246,246 255,255,255 249,249,249 239,239,239 255,255,255 198,198,198 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.jpg
new file mode 100644
index 0000000..ac02691
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.txt
new file mode 100644
index 0000000..c62215d
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input12.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 255,255,255 253,253,253 244,244,244 246,246,246 255,255,255 197,197,197 253,253,253 255,255,255 248,248,248 255,255,255 193,193,193 174,174,174 255,255,255 244,244,244 253,253,253 246,246,246 255,255,255 248,248,248 247,247,247 255,255,255 241,241,241 255,255,255 255,255,255 251,251,251 255,255,255 255,255,255 247,247,247 255,255,255 202,202,202 235,235,235 192,192,192 255,255,255 185,185,185 253,253,253 254,254,254 253,253,253 245,245,245 255,255,255 255,255,255 250,250,250 253,253,253 255,255,255 250,250,250 245,245,245 172,172,172 255,255,255 246,246,246 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 248,248,248 185,185,185 241,241,241 236,236,236 255,255,255 226,226,226 207,207,207 202,202,202 255,255,255 255,255,255 248,248,248 255,255,255 243,243,243 255,255,255 236,236,236 245,245,245 255,255,255 234,234,234 249,249,249 251,251,251 243,243,243 236,236,236 255,255,255 245,245,245 154,154,154 218,218,218 214,214,214 227,227,227 190,190,190 252,252,252 246,246,246 254,254,254 255,255,255 255,255,255 238,238,238 255,255,255 240,240,240 232,232,232 255,255,255 255,255,255 199,199,199 255,255,255 253,253,253 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 251,251,251 255,255,255 255,255,255 238,238,238 255,255,255 171,171,171 219,219,219 187,187,187 192,192,192 211,211,211 187,187,187 175,175,175 229,229,229 255,255,255 237,237,237 248,248,248 250,250,250 255,255,255 255,255,255 246,246,246 247,247,247 255,255,255 255,255,255 252,252,252 255,255,255 255,255,255 229,229,229 255,255,255 202,202,202 255,255,255 223,223,223 255,255,255 204,204,204 251,251,251 251,251,251 255,255,255 244,244,244 241,241,241 255,255,255 255,255,255 254,254,254 245,245,245 255,255,255 242,242,242 192,192,192 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 241,241,241 240,240,240 255,255,255 0,0,0 0,0,0 18,18,18 0,0,0 2,2,2 0,0,0 0,0,0 204,204,204 255,255,255 244,244,244 255,255,255 0,0,0 2,2,2 0,0,0 1,1,1 245,245,245 251,251,251 255,255,255 234,234,234 249,249,249 0,0,0 4,4,4 3,3,3 0,0,0 190,190,190 240,240,240 255,255,255 221,221,221 181,181,181 222,222,222 0,0,0 0,0,0 202,202,202 175,175,175 192,192,192 178,178,178 0,0,0 15,15,15 5,5,5 0,0,0 3,3,3 0,0,0 0,0,0 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 241,241,241 255,255,255 255,255,255 243,243,243 0,0,0 0,0,0 250,250,250 248,248,248 255,255,255 248,248,248 20,20,20 0,0,0 251,251,251 246,246,246 0,0,0 0,0,0 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 248,248,248 255,255,255 0,0,0 6,6,6 255,255,255 243,243,243 7,7,7 0,0,0 255,255,255 254,254,254 255,255,255 253,253,253 0,0,0 0,0,0 5,5,5 0,0,0 250,250,250 255,255,255 250,250,250 4,4,4 5,5,5 227,227,227 255,255,255 255,255,255 255,255,255 253,253,253 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 248,248,248 255,255,255 239,239,239 255,255,255 2,2,2 15,15,15 250,250,250 255,255,255 253,253,253 239,239,239 1,1,1 5,5,5 244,244,244 11,11,11 4,4,4 249,249,249 255,255,255 253,253,253 255,255,255 13,13,13 0,0,0 255,255,255 0,0,0 5,5,5 241,241,241 255,255,255 255,255,255 241,241,241 2,2,2 2,2,2 248,248,248 244,244,244 0,0,0 5,5,5 251,251,251 255,255,255 6,6,6 0,0,0 250,250,250 255,255,255 0,0,0 0,0,0 255,255,255 252,252,252 244,244,244 178,178,178 195,195,195 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 246,246,246 255,255,255 255,255,255 234,234,234 0,0,0 0,0,0 249,249,249 244,244,244 249,249,249 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 10,10,10 255,255,255 240,240,240 255,255,255 255,255,255 0,0,0 6,6,6 214,214,214 8,8,8 2,2,2 182,182,182 185,185,185 185,185,185 196,196,196 0,0,0 1,1,1 195,195,195 1,1,1 0,0,0 191,191,191 202,202,202 194,194,194 188,188,188 5,5,5 0,0,0 187,187,187 0,0,0 4,4,4 237,237,237 255,255,255 255,255,255 211,211,211 250,250,250 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 239,239,239 240,240,240 255,255,255 0,0,0 0,0,0 2,2,2 8,8,8 0,0,0 0,0,0 0,0,0 197,197,197 255,255,255 0,0,0 0,0,0 255,255,255 254,254,254 249,249,249 255,255,255 0,0,0 10,10,10 231,231,231 255,255,255 0,0,0 11,11,11 245,245,245 255,255,255 0,0,0 0,0,0 0,0,0 243,243,243 6,6,6 0,0,0 255,255,255 255,255,255 247,247,247 253,253,253 1,1,1 0,0,0 255,255,255 0,0,0 7,7,7 1,1,1 0,0,0 0,0,0 8,8,8 252,252,252 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+199,199,199 186,186,186 181,181,181 198,198,198 194,194,194 0,0,0 7,7,7 251,251,251 190,190,190 189,189,189 195,195,195 182,182,182 193,193,193 241,241,241 13,13,13 0,0,0 247,247,247 255,255,255 236,236,236 255,255,255 0,0,0 0,0,0 243,243,243 255,255,255 255,255,255 0,0,0 0,0,0 12,12,12 250,250,250 0,0,0 12,12,12 250,250,250 4,4,4 0,0,0 255,255,255 254,254,254 249,249,249 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 245,245,245 193,193,193 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 254,254,254 253,253,253 255,255,255 251,251,251 0,0,0 0,0,0 255,255,255 191,191,191 255,255,255 255,255,255 234,234,234 196,196,196 255,255,255 0,0,0 12,12,12 252,252,252 0,0,0 6,6,6 253,253,253 0,0,0 20,20,20 248,248,248 255,255,255 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 4,4,4 0,0,0 255,255,255 0,0,0 1,1,1 0,0,0 5,5,5 0,0,0 0,0,0 8,8,8 0,0,0 247,247,247 2,2,2 21,21,21 237,237,237 255,255,255 247,247,247 209,209,209 239,239,239 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+239,239,239 255,255,255 254,254,254 224,224,224 255,255,255 20,20,20 0,0,0 241,241,241 191,191,191 255,255,255 252,252,252 243,243,243 193,193,193 248,248,248 2,2,2 0,0,0 254,254,254 255,255,255 0,0,0 0,0,0 6,6,6 0,0,0 245,245,245 246,246,246 0,0,0 255,255,255 238,238,238 249,249,249 252,252,252 13,13,13 0,0,0 250,250,250 0,0,0 0,0,0 251,251,251 255,255,255 255,255,255 253,253,253 8,8,8 0,0,0 254,254,254 0,0,0 0,0,0 255,255,255 252,252,252 255,255,255 194,194,194 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 239,239,239 255,255,255 244,244,244 252,252,252 0,0,0 0,0,0 255,255,255 184,184,184 207,207,207 165,165,165 223,223,223 200,200,200 237,237,237 255,255,255 0,0,0 0,0,0 252,252,252 248,248,248 22,22,22 0,0,0 218,218,218 255,255,255 249,249,249 0,0,0 2,2,2 247,247,247 252,252,252 26,26,26 0,0,0 255,255,255 243,243,243 12,12,12 2,2,2 254,254,254 251,251,251 244,244,244 250,250,250 5,5,5 4,4,4 255,255,255 6,6,6 7,7,7 255,255,255 255,255,255 255,255,255 184,184,184 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 178,178,178 213,213,213 189,189,189 183,183,183 0,0,0 7,7,7 173,173,173 209,209,209 189,189,189 198,198,198 226,226,226 207,207,207 173,173,173 178,178,178 194,194,194 10,10,10 0,0,0 4,4,4 0,0,0 183,183,183 0,0,0 255,255,255 255,255,255 255,255,255 6,6,6 15,15,15 0,0,0 0,0,0 255,255,255 253,253,253 255,255,255 0,0,0 0,0,0 244,244,244 255,255,255 249,249,249 241,241,241 1,1,1 0,0,0 239,239,239 14,14,14 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 18,18,18 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 186,186,186 248,248,248 230,230,230 255,255,255 248,248,248 255,255,255 255,255,255 242,242,242 249,249,249 180,180,180 255,255,255 196,196,196 253,253,253 255,255,255 248,248,248 238,238,238 210,210,210 249,249,249 255,255,255 247,247,247 223,223,223 254,254,254 251,251,251 253,253,253 249,249,249 242,242,242 255,255,255 255,255,255 244,244,244 255,255,255 238,238,238 232,232,232 215,215,215 251,251,251 245,245,245 246,246,246 255,255,255 252,252,252 255,255,255 255,255,255 162,162,162 201,201,201 185,185,185 191,191,191 209,209,209 200,200,200 233,233,233 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 179,179,179 255,255,255 255,255,255 255,255,255 237,237,237 253,253,253 254,254,254 255,255,255 255,255,255 185,185,185 255,255,255 193,193,193 248,248,248 241,241,241 246,246,246 255,255,255 186,186,186 251,251,251 237,237,237 248,248,248 209,209,209 165,165,165 197,197,197 204,204,204 166,166,166 191,191,191 210,210,210 188,188,188 199,199,199 197,197,197 196,196,196 196,196,196 205,205,205 233,233,233 255,255,255 255,255,255 255,255,255 251,251,251 238,238,238 253,253,253 201,201,201 241,241,241 255,255,255 234,234,234 246,246,246 186,186,186 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 177,177,177 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 240,240,240 255,255,255 241,241,241 206,206,206 241,241,241 211,211,211 228,228,228 255,255,255 248,248,248 250,250,250 188,188,188 253,253,253 255,255,255 255,255,255 241,241,241 255,255,255 255,255,255 234,234,234 227,227,227 234,234,234 255,255,255 253,253,253 243,243,243 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 249,249,249 244,244,244 255,255,255 249,249,249 255,255,255 246,246,246 197,197,197 252,252,252 250,250,250 255,255,255 253,253,253 188,188,188 252,252,252 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.jpg
new file mode 100644
index 0000000..dd4e33f
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.txt
new file mode 100644
index 0000000..6049f86
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input13.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+247,247,247 255,255,255 242,242,242 255,255,255 247,247,247 255,255,255 187,187,187 255,255,255 253,253,253 255,255,255 255,255,255 178,178,178 185,185,185 254,254,254 255,255,255 251,251,251 255,255,255 255,255,255 255,255,255 243,243,243 253,253,253 255,255,255 234,234,234 254,254,254 244,244,244 255,255,255 255,255,255 253,253,253 250,250,250 207,207,207 229,229,229 196,196,196 255,255,255 186,186,186 255,255,255 254,254,254 243,243,243 253,253,253 255,255,255 240,240,240 249,249,249 255,255,255 241,241,241 255,255,255 245,245,245 179,179,179 254,254,254 255,255,255 201,201,201 246,246,246 242,242,242 255,255,255 255,255,255 247,247,247 185,185,185 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 252,252,252 251,251,251 254,254,254 255,255,255 250,250,250 172,172,172 238,238,238 247,247,247 250,250,250 246,246,246 203,203,203 199,199,199 252,252,252 249,249,249 243,243,243 247,247,247 251,251,251 255,255,255 252,252,252 242,242,242 248,248,248 248,248,248 255,255,255 255,255,255 236,236,236 241,241,241 254,254,254 251,251,251 178,178,178 222,222,222 208,208,208 235,235,235 192,192,192 229,229,229 255,255,255 248,248,248 251,251,251 243,243,243 255,255,255 255,255,255 231,231,231 251,251,251 255,255,255 254,254,254 197,197,197 255,255,255 231,231,231 196,196,196 255,255,255 255,255,255 254,254,254 249,249,249 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+241,241,241 255,255,255 244,244,244 253,253,253 255,255,255 255,255,255 170,170,170 221,221,221 191,191,191 184,184,184 198,198,198 198,198,198 171,171,171 255,255,255 255,255,255 255,255,255 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 250,250,250 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 250,250,250 193,193,193 255,255,255 218,218,218 255,255,255 205,205,205 255,255,255 246,246,246 255,255,255 255,255,255 222,222,222 255,255,255 255,255,255 250,250,250 255,255,255 241,241,241 255,255,255 199,199,199 249,249,249 255,255,255 171,171,171 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255 194,194,194 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 250,250,250 255,255,255 253,253,253 236,236,236 0,0,0 12,12,12 239,239,239 243,243,243 244,244,244 255,255,255 0,0,0 0,0,0 255,255,255 5,5,5 0,0,0 255,255,255 244,244,244 242,242,242 255,255,255 0,0,0 0,0,0 247,247,247 6,6,6 0,0,0 0,0,0 0,0,0 9,9,9 0,0,0 10,10,10 250,250,250 255,255,255 0,0,0 6,6,6 6,6,6 1,1,1 3,3,3 0,0,0 210,210,210 176,176,176 178,178,178 189,189,189 190,190,190 11,11,11 0,0,0 0,0,0 0,0,0 241,241,241 227,227,227 255,255,255 248,248,248 245,245,245 236,236,236 250,250,250 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 255,255,255 225,225,225 255,255,255 255,255,255 9,9,9 0,0,0 255,255,255 255,255,255 245,245,245 255,255,255 3,3,3 0,0,0 250,250,250 0,0,0 0,0,0 250,250,250 255,255,255 252,252,252 244,244,244 6,6,6 7,7,7 255,255,255 246,246,246 251,251,251 245,245,245 255,255,255 234,234,234 11,11,11 6,6,6 254,254,254 247,247,247 8,8,8 0,0,0 230,230,230 255,255,255 255,255,255 4,4,4 0,0,0 255,255,255 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 12,12,12 10,10,10 155,155,155 250,250,250 245,245,245 255,255,255 253,253,253 255,255,255 187,187,187 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 242,242,242 242,242,242 0,0,0 0,0,0 247,247,247 255,255,255 252,252,252 233,233,233 11,11,11 20,20,20 255,255,255 0,0,0 5,5,5 245,245,245 250,250,250 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 245,245,245 255,255,255 254,254,254 249,249,249 255,255,255 4,4,4 0,0,0 255,255,255 246,246,246 2,2,2 0,0,0 255,255,255 245,245,245 238,238,238 196,196,196 6,6,6 0,0,0 250,250,250 0,0,0 10,10,10 255,255,255 247,247,247 241,241,241 178,178,178 6,6,6 19,19,19 203,203,203 195,195,195 196,196,196 192,192,192 220,220,220 185,185,185 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 255,255,255 239,239,239 244,244,244 255,255,255 255,255,255 13,13,13 1,1,1 240,240,240 255,255,255 15,15,15 0,0,0 192,192,192 252,252,252 0,0,0 13,13,13 250,250,250 255,255,255 255,255,255 255,255,255 0,0,0 27,27,27 181,181,181 201,201,201 185,185,185 192,192,192 189,189,189 12,12,12 0,0,0 180,180,180 203,203,203 185,185,185 6,6,6 0,0,0 185,185,185 215,215,215 198,198,198 179,179,179 1,1,1 0,0,0 195,195,195 2,2,2 0,0,0 255,255,255 251,251,251 252,252,252 232,232,232 0,0,0 0,0,0 250,250,250 243,243,243 255,255,255 246,246,246 244,244,244 197,197,197 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 255,255,255 235,235,235 255,255,255 0,0,0 1,1,1 255,255,255 246,246,246 0,0,0 4,4,4 201,201,201 251,251,251 20,20,20 0,0,0 252,252,252 6,6,6 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 251,251,251 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 244,244,244 255,255,255 0,0,0 4,4,4 252,252,252 250,250,250 246,246,246 255,255,255 8,8,8 0,0,0 255,255,255 0,0,0 8,8,8 245,245,245 255,255,255 248,248,248 176,176,176 7,7,7 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 195,195,195 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+185,185,185 186,186,186 194,194,194 204,204,204 203,203,203 185,185,185 3,3,3 3,3,3 183,183,183 190,190,190 4,4,4 0,0,0 199,199,199 237,237,237 14,14,14 0,0,0 244,244,244 12,12,12 0,0,0 253,253,253 11,11,11 0,0,0 236,236,236 255,255,255 244,244,244 8,8,8 0,0,0 255,255,255 255,255,255 248,248,248 255,255,255 248,248,248 2,2,2 0,0,0 255,255,255 250,250,250 255,255,255 254,254,254 0,0,0 2,2,2 245,245,245 0,0,0 4,4,4 243,243,243 255,255,255 246,246,246 197,197,197 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 255,255,255 239,239,239 230,230,230 255,255,255 229,229,229 1,1,1 4,4,4 14,14,14 1,1,1 247,247,247 195,195,195 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 254,254,254 0,0,0 14,14,14 255,255,255 255,255,255 16,16,16 0,0,0 255,255,255 255,255,255 237,237,237 255,255,255 239,239,239 255,255,255 6,6,6 3,3,3 224,224,224 253,253,253 255,255,255 243,243,243 10,10,10 0,0,0 255,255,255 8,8,8 5,5,5 255,255,255 255,255,255 237,237,237 197,197,197 3,3,3 13,13,13 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 201,201,201 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 247,247,247 252,252,252 246,246,246 255,255,255 255,255,255 248,248,248 0,0,0 0,0,0 1,1,1 0,0,0 249,249,249 181,181,181 244,244,244 16,16,16 5,5,5 5,5,5 3,3,3 14,14,14 8,8,8 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 250,250,250 253,253,253 255,255,255 244,244,244 252,252,252 0,0,0 6,6,6 255,255,255 241,241,241 255,255,255 242,242,242 8,8,8 1,1,1 228,228,228 6,6,6 3,3,3 237,237,237 249,249,249 255,255,255 172,172,172 11,11,11 0,0,0 217,217,217 255,255,255 255,255,255 248,248,248 255,255,255 190,190,190 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 253,253,253 241,241,241 242,242,242 242,242,242 252,252,252 255,255,255 4,4,4 11,11,11 167,167,167 214,214,214 207,207,207 235,235,235 0,0,0 8,8,8 0,0,0 253,253,253 248,248,248 10,10,10 3,3,3 4,4,4 245,245,245 0,0,0 9,9,9 218,218,218 249,249,249 255,255,255 251,251,251 248,248,248 255,255,255 244,244,244 10,10,10 3,3,3 232,232,232 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 194,194,194 0,0,0 8,8,8 255,255,255 241,241,241 14,14,14 0,0,0 250,250,250 255,255,255 253,253,253 250,250,250 247,247,247 255,255,255 189,189,189 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 185,185,185 194,194,194 199,199,199 186,186,186 216,216,216 185,185,185 176,176,176 0,0,0 0,0,0 193,193,193 249,249,249 187,187,187 199,199,199 0,0,0 0,0,0 211,211,211 199,199,199 194,194,194 185,185,185 2,2,2 0,0,0 255,255,255 0,0,0 7,7,7 13,13,13 10,10,10 0,0,0 0,0,0 17,17,17 247,247,247 255,255,255 0,0,0 0,0,0 6,6,6 0,0,0 0,0,0 0,0,0 255,255,255 250,250,250 245,245,245 183,183,183 255,255,255 0,0,0 0,0,0 15,15,15 0,0,0 247,247,247 244,244,244 249,249,249 247,247,247 255,255,255 249,249,249 250,250,250 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+248,248,248 200,200,200 249,249,249 247,247,247 238,238,238 246,246,246 255,255,255 255,255,255 255,255,255 240,240,240 191,191,191 255,255,255 193,193,193 255,255,255 255,255,255 250,250,250 244,244,244 191,191,191 255,255,255 238,238,238 255,255,255 207,207,207 234,234,234 255,255,255 239,239,239 255,255,255 243,243,243 255,255,255 252,252,252 245,245,245 243,243,243 250,250,250 234,234,234 191,191,191 255,255,255 252,252,252 255,255,255 255,255,255 251,251,251 248,248,248 248,248,248 179,179,179 223,223,223 174,174,174 183,183,183 189,189,189 182,182,182 253,253,253 255,255,255 251,251,251 239,239,239 250,250,250 253,253,253 255,255,255 192,192,192 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 191,191,191 244,244,244 247,247,247 255,255,255 240,240,240 255,255,255 242,242,242 249,249,249 249,249,249 208,208,208 241,241,241 189,189,189 249,249,249 253,253,253 249,249,249 255,255,255 202,202,202 255,255,255 255,255,255 225,225,225 200,200,200 197,197,197 188,188,188 192,192,192 178,178,178 190,190,190 192,192,192 199,199,199 186,186,186 208,208,208 199,199,199 207,207,207 198,198,198 224,224,224 245,245,245 243,243,243 252,252,252 253,253,253 255,255,255 253,253,253 214,214,214 215,215,215 255,255,255 253,253,253 252,252,252 195,195,195 251,251,251 244,244,244 255,255,255 255,255,255 255,255,255 243,243,243 249,249,249 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 165,165,165 255,255,255 255,255,255 247,247,247 249,249,249 255,255,255 255,255,255 255,255,255 249,249,249 179,179,179 255,255,255 197,197,197 227,227,227 255,255,255 244,244,244 252,252,252 190,190,190 236,236,236 251,251,251 255,255,255 245,245,245 237,237,237 255,255,255 250,250,250 208,208,208 241,241,241 255,255,255 255,255,255 232,232,232 255,255,255 252,252,252 255,255,255 238,238,238 255,255,255 255,255,255 253,253,253 251,251,251 254,254,254 255,255,255 255,255,255 180,180,180 255,255,255 255,255,255 255,255,255 242,242,242 200,200,200 248,248,248 255,255,255 255,255,255 246,246,246 254,254,254 255,255,255 255,255,255 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.jpg
new file mode 100644
index 0000000..f3f4775
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.txt
new file mode 100644
index 0000000..3e03418
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input14.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 254,254,254 246,246,246 255,255,255 241,241,241 255,255,255 209,209,209 250,250,250 255,255,255 253,253,253 241,241,241 194,194,194 199,199,199 246,246,246 255,255,255 249,249,249 255,255,255 253,253,253 252,252,252 255,255,255 252,252,252 251,251,251 255,255,255 247,247,247 237,237,237 255,255,255 255,255,255 240,240,240 255,255,255 202,202,202 224,224,224 199,199,199 255,255,255 192,192,192 234,234,234 255,255,255 250,250,250 248,248,248 255,255,255 250,250,250 251,251,251 254,254,254 255,255,255 255,255,255 241,241,241 197,197,197 255,255,255 250,250,250 193,193,193 252,252,252 249,249,249 253,253,253 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 251,251,251 252,252,252 255,255,255 255,255,255 232,232,232 175,175,175 247,247,247 237,237,237 255,255,255 255,255,255 179,179,179 190,190,190 255,255,255 253,253,253 252,252,252 243,243,243 255,255,255 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 248,248,248 255,255,255 233,233,233 160,160,160 237,237,237 203,203,203 234,234,234 180,180,180 255,255,255 253,253,253 239,239,239 255,255,255 241,241,241 251,251,251 255,255,255 242,242,242 244,244,244 255,255,255 247,247,247 203,203,203 241,241,241 255,255,255 187,187,187 255,255,255 252,252,252 255,255,255 252,252,252 246,246,246 191,191,191 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 255,255,255 249,249,249 224,224,224 255,255,255 255,255,255 187,187,187 218,218,218 186,186,186 194,194,194 185,185,185 182,182,182 184,184,184 255,255,255 253,253,253 247,247,247 252,252,252 255,255,255 234,234,234 255,255,255 242,242,242 250,250,250 253,253,253 251,251,251 253,253,253 242,242,242 252,252,252 246,246,246 255,255,255 198,198,198 234,234,234 235,235,235 255,255,255 199,199,199 234,234,234 255,255,255 255,255,255 240,240,240 242,242,242 255,255,255 255,255,255 242,242,242 255,255,255 248,248,248 255,255,255 193,193,193 255,255,255 250,250,250 186,186,186 255,255,255 227,227,227 255,255,255 255,255,255 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 241,241,241 254,254,254 255,255,255 239,239,239 3,3,3 0,0,0 244,244,244 249,249,249 255,255,255 249,249,249 13,13,13 10,10,10 255,255,255 240,240,240 255,255,255 1,1,1 9,9,9 6,6,6 0,0,0 0,0,0 255,255,255 255,255,255 246,246,246 0,0,0 6,6,6 5,5,5 0,0,0 0,0,0 3,3,3 255,255,255 255,255,255 2,2,2 0,0,0 12,12,12 0,0,0 3,3,3 8,8,8 10,10,10 0,0,0 167,167,167 10,10,10 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 250,250,250 255,255,255 255,255,255 225,225,225 254,254,254 204,204,204 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 251,251,251 255,255,255 248,248,248 2,2,2 0,0,0 255,255,255 255,255,255 240,240,240 255,255,255 0,0,0 0,0,0 255,255,255 231,231,231 8,8,8 0,0,0 235,235,235 242,242,242 255,255,255 5,5,5 0,0,0 237,237,237 1,1,1 6,6,6 236,236,236 255,255,255 238,238,238 254,254,254 3,3,3 0,0,0 253,253,253 239,239,239 255,255,255 253,253,253 4,4,4 0,0,0 202,202,202 242,242,242 247,247,247 255,255,255 249,249,249 255,255,255 241,241,241 255,255,255 255,255,255 238,238,238 8,8,8 5,5,5 242,242,242 238,238,238 255,255,255 255,255,255 255,255,255 183,183,183 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 255,255,255 253,253,253 250,250,250 4,4,4 0,0,0 250,250,250 255,255,255 244,244,244 255,255,255 0,0,0 5,5,5 255,255,255 14,14,14 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 247,247,247 234,234,234 255,255,255 0,0,0 3,3,3 255,255,255 237,237,237 255,255,255 255,255,255 211,211,211 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 1,1,1 0,0,0 214,214,214 248,248,248 252,252,252 238,238,238 255,255,255 242,242,242 242,242,242 255,255,255 237,237,237 202,202,202 1,1,1 5,5,5 211,211,211 192,192,192 172,172,172 186,186,186 218,218,218 178,178,178 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 255,255,255 254,254,254 254,254,254 251,251,251 9,9,9 5,5,5 248,248,248 249,249,249 246,246,246 253,253,253 6,6,6 0,0,0 255,255,255 0,0,0 0,0,0 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255 170,170,170 222,222,222 0,0,0 0,0,0 184,184,184 205,205,205 192,192,192 175,175,175 171,171,171 205,205,205 179,179,179 203,203,203 171,171,171 176,176,176 0,0,0 8,8,8 177,177,177 187,187,187 187,187,187 200,200,200 195,195,195 255,255,255 255,255,255 242,242,242 243,243,243 0,0,0 4,4,4 228,228,228 255,255,255 236,236,236 255,255,255 255,255,255 245,245,245 176,176,176 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 249,249,249 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 0,0,0 7,7,7 251,251,251 0,0,0 3,3,3 248,248,248 5,5,5 6,6,6 255,255,255 255,255,255 243,243,243 248,248,248 255,255,255 195,195,195 247,247,247 255,255,255 4,4,4 0,0,0 0,0,0 9,9,9 0,0,0 4,4,4 245,245,245 252,252,252 247,247,247 208,208,208 255,255,255 0,0,0 0,0,0 255,255,255 245,245,245 255,255,255 254,254,254 192,192,192 255,255,255 235,235,235 255,255,255 9,9,9 4,4,4 248,248,248 255,255,255 255,255,255 246,246,246 255,255,255 246,246,246 246,246,246 204,204,204 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+202,202,202 184,184,184 189,189,189 210,210,210 193,193,193 0,0,0 10,10,10 251,251,251 0,0,0 10,10,10 197,197,197 0,0,0 0,0,0 247,247,247 0,0,0 6,6,6 251,251,251 251,251,251 255,255,255 0,0,0 3,3,3 3,3,3 250,250,250 255,255,255 255,255,255 251,251,251 254,254,254 253,253,253 251,251,251 0,0,0 8,8,8 244,244,244 250,250,250 193,193,193 255,255,255 0,0,0 0,0,0 255,255,255 237,237,237 250,250,250 255,255,255 179,179,179 255,255,255 248,248,248 0,0,0 12,12,12 192,192,192 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+235,235,235 255,255,255 236,236,236 223,223,223 255,255,255 0,0,0 0,0,0 255,255,255 24,24,24 0,0,0 237,237,237 12,12,12 3,3,3 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 0,0,0 12,12,12 241,241,241 247,247,247 250,250,250 254,254,254 247,247,247 255,255,255 255,255,255 11,11,11 0,0,0 255,255,255 251,251,251 189,189,189 231,231,231 0,0,0 0,0,0 246,246,246 255,255,255 255,255,255 252,252,252 196,196,196 241,241,241 15,15,15 0,0,0 248,248,248 188,188,188 250,250,250 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 245,245,245 252,252,252 255,255,255 255,255,255 2,2,2 0,0,0 0,0,0 0,0,0 0,0,0 10,10,10 5,5,5 0,0,0 255,255,255 9,9,9 0,0,0 255,255,255 239,239,239 249,249,249 255,255,255 4,4,4 0,0,0 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 241,241,241 254,254,254 0,0,0 20,20,20 248,248,248 255,255,255 191,191,191 244,244,244 12,12,12 3,3,3 249,249,249 249,249,249 251,251,251 244,244,244 194,194,194 12,12,12 0,0,0 255,255,255 255,255,255 185,185,185 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 250,250,250 255,255,255 236,236,236 232,232,232 1,1,1 0,0,0 8,8,8 194,194,194 197,197,197 0,0,0 0,0,0 9,9,9 235,235,235 246,246,246 0,0,0 0,0,0 255,255,255 249,249,249 242,242,242 0,0,0 13,13,13 255,255,255 0,0,0 0,0,0 255,255,255 242,242,242 255,255,255 239,239,239 0,0,0 15,15,15 240,240,240 253,253,253 168,168,168 251,251,251 0,0,0 0,0,0 255,255,255 242,242,242 253,253,253 252,252,252 3,3,3 2,2,2 245,245,245 255,255,255 255,255,255 194,194,194 239,239,239 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 193,193,193 189,189,189 202,202,202 204,204,204 7,7,7 9,9,9 167,167,167 189,189,189 191,191,191 176,176,176 8,8,8 6,6,6 194,194,194 200,200,200 181,181,181 6,6,6 1,1,1 20,20,20 0,0,0 1,1,1 181,181,181 222,222,222 255,255,255 5,5,5 0,0,0 0,0,0 2,2,2 0,0,0 1,1,1 255,255,255 252,252,252 255,255,255 199,199,199 248,248,248 4,4,4 0,0,0 255,255,255 255,255,255 253,253,253 253,253,253 0,0,0 0,0,0 255,255,255 252,252,252 249,249,249 200,200,200 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 180,180,180 244,244,244 239,239,239 234,234,234 252,252,252 255,255,255 255,255,255 255,255,255 240,240,240 205,205,205 255,255,255 161,161,161 255,255,255 249,249,249 248,248,248 246,246,246 192,192,192 240,240,240 255,255,255 254,254,254 202,202,202 255,255,255 239,239,239 247,247,247 255,255,255 241,241,241 255,255,255 254,254,254 253,253,253 255,255,255 251,251,251 248,248,248 189,189,189 249,249,249 254,254,254 255,255,255 255,255,255 235,235,235 255,255,255 255,255,255 177,177,177 207,207,207 173,173,173 179,179,179 200,200,200 172,172,172 248,248,248 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 190,190,190 254,254,254 255,255,255 255,255,255 245,245,245 236,236,236 255,255,255 244,244,244 255,255,255 182,182,182 248,248,248 211,211,211 252,252,252 255,255,255 247,247,247 255,255,255 205,205,205 255,255,255 240,240,240 238,238,238 213,213,213 182,182,182 187,187,187 198,198,198 163,163,163 212,212,212 196,196,196 195,195,195 176,176,176 195,195,195 192,192,192 184,184,184 213,213,213 236,236,236 242,242,242 255,255,255 255,255,255 255,255,255 238,238,238 251,251,251 208,208,208 243,243,243 255,255,255 255,255,255 255,255,255 174,174,174 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+248,248,248 181,181,181 252,252,252 255,255,255 250,250,250 254,254,254 255,255,255 253,253,253 255,255,255 241,241,241 203,203,203 244,244,244 206,206,206 232,232,232 251,251,251 254,254,254 247,247,247 191,191,191 254,254,254 245,245,245 255,255,255 239,239,239 249,249,249 255,255,255 235,235,235 234,234,234 231,231,231 247,247,247 255,255,255 251,251,251 249,249,249 255,255,255 254,254,254 255,255,255 254,254,254 245,245,245 255,255,255 242,242,242 255,255,255 255,255,255 251,251,251 186,186,186 255,255,255 253,253,253 255,255,255 252,252,252 203,203,203 241,241,241 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.jpg
new file mode 100644
index 0000000..08effff
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.txt
new file mode 100644
index 0000000..d002080
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input15.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+247,247,247 255,255,255 247,247,247 255,255,255 244,244,244 250,250,250 215,215,215 246,246,246 248,248,248 255,255,255 255,255,255 171,171,171 190,190,190 255,255,255 247,247,247 255,255,255 255,255,255 231,231,231 255,255,255 247,247,247 255,255,255 255,255,255 254,254,254 247,247,247 255,255,255 238,238,238 255,255,255 243,243,243 255,255,255 187,187,187 247,247,247 199,199,199 251,251,251 204,204,204 239,239,239 255,255,255 251,251,251 251,251,251 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 254,254,254 250,250,250 189,189,189 250,250,250 255,255,255 191,191,191 249,249,249 254,254,254 249,249,249 255,255,255 252,252,252 177,177,177 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 254,254,254 241,241,241 255,255,255 250,250,250 163,163,163 241,241,241 255,255,255 242,242,242 231,231,231 208,208,208 178,178,178 247,247,247 255,255,255 246,246,246 241,241,241 255,255,255 242,242,242 255,255,255 241,241,241 238,238,238 252,252,252 255,255,255 252,252,252 255,255,255 249,249,249 253,253,253 245,245,245 188,188,188 216,216,216 189,189,189 254,254,254 169,169,169 250,250,250 255,255,255 253,253,253 240,240,240 248,248,248 255,255,255 255,255,255 246,246,246 246,246,246 255,255,255 240,240,240 210,210,210 255,255,255 223,223,223 204,204,204 252,252,252 248,248,248 255,255,255 253,253,253 246,246,246 204,204,204 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 255,255,255 234,234,234 255,255,255 243,243,243 255,255,255 179,179,179 229,229,229 174,174,174 207,207,207 209,209,209 179,179,179 190,190,190 255,255,255 255,255,255 247,247,247 255,255,255 253,253,253 255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 253,253,253 236,236,236 255,255,255 255,255,255 246,246,246 176,176,176 248,248,248 246,246,246 250,250,250 207,207,207 255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 255,255,255 245,245,245 255,255,255 184,184,184 251,251,251 255,255,255 174,174,174 251,251,251 255,255,255 253,253,253 254,254,254 255,255,255 189,189,189 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 255,255,255 253,253,253 250,250,250 11,11,11 0,0,0 251,251,251 255,255,255 237,237,237 240,240,240 3,3,3 1,1,1 255,255,255 0,0,0 9,9,9 241,241,241 245,245,245 255,255,255 255,255,255 0,0,0 16,16,16 237,237,237 4,4,4 8,8,8 244,244,244 255,255,255 241,241,241 251,251,251 13,13,13 3,3,3 251,251,251 232,232,232 16,16,16 0,0,0 3,3,3 11,11,11 0,0,0 0,0,0 198,198,198 173,173,173 175,175,175 190,190,190 10,10,10 0,0,0 9,9,9 5,5,5 239,239,239 216,216,216 249,249,249 255,255,255 247,247,247 244,244,244 255,255,255 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 252,252,252 244,244,244 254,254,254 247,247,247 6,6,6 0,0,0 252,252,252 250,250,250 255,255,255 255,255,255 0,0,0 0,0,0 246,246,246 0,0,0 8,8,8 255,255,255 246,246,246 253,253,253 0,0,0 7,7,7 246,246,246 255,255,255 0,0,0 1,1,1 2,2,2 249,249,249 243,243,243 5,5,5 3,3,3 0,0,0 255,255,255 6,6,6 1,1,1 255,255,255 251,251,251 230,230,230 200,200,200 7,7,7 0,0,0 255,255,255 255,255,255 0,0,0 2,2,2 245,245,245 255,255,255 0,0,0 8,8,8 182,182,182 236,236,236 249,249,249 255,255,255 250,250,250 252,252,252 203,203,203 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+236,236,236 252,252,252 255,255,255 254,254,254 255,255,255 255,255,255 2,2,2 0,0,0 249,249,249 250,250,250 0,0,0 12,12,12 185,185,185 255,255,255 11,11,11 0,0,0 254,254,254 245,245,245 5,5,5 0,0,0 242,242,242 250,250,250 252,252,252 7,7,7 0,0,0 0,0,0 7,7,7 8,8,8 0,0,0 0,0,0 12,12,12 246,246,246 3,3,3 0,0,0 252,252,252 255,255,255 247,247,247 214,214,214 240,240,240 247,247,247 235,235,235 1,1,1 3,3,3 235,235,235 255,255,255 242,242,242 196,196,196 1,1,1 0,0,0 227,227,227 191,191,191 166,166,166 198,198,198 200,200,200 194,194,194 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 227,227,227 255,255,255 249,249,249 231,231,231 200,200,200 10,10,10 5,5,5 0,0,0 17,17,17 254,254,254 180,180,180 255,255,255 0,0,0 0,0,0 252,252,252 3,3,3 0,0,0 255,255,255 255,255,255 187,187,187 199,199,199 0,0,0 6,6,6 177,177,177 11,11,11 0,0,0 194,194,194 11,11,11 0,0,0 204,204,204 4,4,4 8,8,8 196,196,196 198,198,198 195,195,195 163,163,163 210,210,210 189,189,189 185,185,185 199,199,199 241,241,241 255,255,255 251,251,251 249,249,249 206,206,206 0,0,0 0,0,0 253,253,253 252,252,252 236,236,236 255,255,255 255,255,255 194,194,194 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 241,241,241 255,255,255 251,251,251 249,249,249 255,255,255 186,186,186 252,252,252 0,0,0 9,9,9 242,242,242 246,246,246 204,204,204 249,249,249 10,10,10 0,0,0 0,0,0 10,10,10 245,245,245 245,245,245 255,255,255 186,186,186 250,250,250 3,3,3 0,0,0 255,255,255 0,0,0 6,6,6 255,255,255 0,0,0 0,0,0 247,247,247 244,244,244 0,0,0 3,3,3 0,0,0 13,13,13 4,4,4 0,0,0 254,254,254 255,255,255 185,185,185 247,247,247 255,255,255 234,234,234 255,255,255 0,0,0 4,4,4 255,255,255 247,247,247 247,247,247 255,255,255 245,245,245 247,247,247 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+193,193,193 178,178,178 199,199,199 209,209,209 190,190,190 185,185,185 215,215,215 249,249,249 0,0,0 7,7,7 185,185,185 183,183,183 208,208,208 249,249,249 6,6,6 0,0,0 4,4,4 0,0,0 255,255,255 255,255,255 251,251,251 197,197,197 250,250,250 0,0,0 0,0,0 255,255,255 0,0,0 2,2,2 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 187,187,187 255,255,255 251,251,251 233,233,233 255,255,255 0,0,0 3,3,3 247,247,247 203,203,203 253,253,253 254,254,254 255,255,255 0,0,0 3,3,3 249,249,249 255,255,255 248,248,248 255,255,255 255,255,255 234,234,234 253,253,253 198,198,198 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 235,235,235 251,251,251 245,245,245 255,255,255 223,223,223 1,1,1 0,0,0 0,0,0 0,0,0 249,249,249 180,180,180 255,255,255 0,0,0 3,3,3 253,253,253 0,0,0 0,0,0 243,243,243 255,255,255 190,190,190 244,244,244 0,0,0 0,0,0 255,255,255 255,255,255 238,238,238 253,253,253 0,0,0 0,0,0 251,251,251 253,253,253 178,178,178 239,239,239 255,255,255 255,255,255 252,252,252 0,0,0 0,0,0 255,255,255 178,178,178 255,255,255 240,240,240 9,9,9 0,0,0 197,197,197 255,255,255 245,245,245 250,250,250 239,239,239 255,255,255 255,255,255 255,255,255 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 247,247,247 255,255,255 250,250,250 255,255,255 255,255,255 0,0,0 1,1,1 190,190,190 255,255,255 3,3,3 0,0,0 209,209,209 244,244,244 15,15,15 0,0,0 252,252,252 255,255,255 18,18,18 0,0,0 251,251,251 191,191,191 255,255,255 0,0,0 9,9,9 240,240,240 255,255,255 249,249,249 255,255,255 13,13,13 0,0,0 255,255,255 255,255,255 183,183,183 255,255,255 255,255,255 241,241,241 242,242,242 1,1,1 2,2,2 242,242,242 183,183,183 243,243,243 13,13,13 0,0,0 255,255,255 196,196,196 248,248,248 247,247,247 255,255,255 255,255,255 247,247,247 254,254,254 246,246,246 189,189,189 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 255,255,255 247,247,247 235,235,235 231,231,231 0,0,0 16,16,16 248,248,248 202,202,202 179,179,179 162,162,162 9,9,9 1,1,1 236,236,236 0,0,0 7,7,7 240,240,240 247,247,247 255,255,255 8,8,8 16,16,16 185,185,185 255,255,255 3,3,3 2,2,2 243,243,243 243,243,243 252,252,252 254,254,254 0,0,0 0,0,0 244,244,244 0,0,0 7,7,7 240,240,240 252,252,252 251,251,251 255,255,255 6,6,6 0,0,0 255,255,255 201,201,201 0,0,0 10,10,10 255,255,255 239,239,239 195,195,195 255,255,255 252,252,252 244,244,244 235,235,235 255,255,255 248,248,248 238,238,238 212,212,212 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+235,235,235 181,181,181 220,220,220 184,184,184 211,211,211 0,0,0 0,0,0 187,187,187 189,189,189 206,206,206 206,206,206 0,0,0 0,0,0 200,200,200 0,0,0 11,11,11 207,207,207 187,187,187 196,196,196 193,193,193 0,0,0 20,20,20 248,248,248 0,0,0 0,0,0 255,255,255 255,255,255 243,243,243 243,243,243 0,0,0 7,7,7 255,255,255 255,255,255 0,0,0 2,2,2 7,7,7 0,0,0 0,0,0 0,0,0 255,255,255 243,243,243 4,4,4 5,5,5 0,0,0 1,1,1 2,2,2 0,0,0 5,5,5 13,13,13 239,239,239 255,255,255 237,237,237 255,255,255 255,255,255 191,191,191 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 188,188,188 221,221,221 255,255,255 253,253,253 252,252,252 255,255,255 247,247,247 246,246,246 242,242,242 192,192,192 255,255,255 201,201,201 249,249,249 255,255,255 249,249,249 243,243,243 203,203,203 255,255,255 233,233,233 255,255,255 221,221,221 240,240,240 255,255,255 249,249,249 254,254,254 244,244,244 255,255,255 255,255,255 244,244,244 247,247,247 245,245,245 235,235,235 213,213,213 255,255,255 250,250,250 250,250,250 255,255,255 241,241,241 254,254,254 255,255,255 179,179,179 194,194,194 188,188,188 194,194,194 194,194,194 184,184,184 255,255,255 243,243,243 255,255,255 253,253,253 255,255,255 247,247,247 244,244,244 203,203,203 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+234,234,234 206,206,206 255,255,255 236,236,236 254,254,254 233,233,233 255,255,255 255,255,255 255,255,255 255,255,255 199,199,199 247,247,247 182,182,182 230,230,230 255,255,255 237,237,237 255,255,255 198,198,198 224,224,224 245,245,245 253,253,253 191,191,191 183,183,183 198,198,198 203,203,203 168,168,168 196,196,196 199,199,199 181,181,181 202,202,202 203,203,203 194,194,194 202,202,202 189,189,189 219,219,219 255,255,255 255,255,255 242,242,242 255,255,255 253,253,253 255,255,255 187,187,187 255,255,255 248,248,248 232,232,232 255,255,255 187,187,187 240,240,240 255,255,255 250,250,250 251,251,251 255,255,255 250,250,250 252,252,252 196,196,196 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 172,172,172 255,255,255 255,255,255 248,248,248 255,255,255 240,240,240 250,250,250 255,255,255 243,243,243 199,199,199 253,253,253 202,202,202 253,253,253 242,242,242 255,255,255 255,255,255 186,186,186 255,255,255 255,255,255 249,249,249 255,255,255 245,245,245 255,255,255 244,244,244 211,211,211 234,234,234 255,255,255 249,249,249 243,243,243 250,250,250 255,255,255 255,255,255 249,249,249 255,255,255 250,250,250 248,248,248 243,243,243 255,255,255 247,247,247 250,250,250 188,188,188 255,255,255 255,255,255 254,254,254 251,251,251 188,188,188 255,255,255 253,253,253 255,255,255 255,255,255 251,251,251 249,249,249 255,255,255 191,191,191 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.jpg
new file mode 100644
index 0000000..215128d
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.txt
new file mode 100644
index 0000000..67e056f
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input16.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+243,243,243 255,255,255 254,254,254 255,255,255 252,252,252 243,243,243 213,213,213 254,254,254 255,255,255 255,255,255 252,252,252 177,177,177 186,186,186 254,254,254 255,255,255 252,252,252 255,255,255 249,249,249 255,255,255 255,255,255 255,255,255 246,246,246 255,255,255 254,254,254 251,251,251 255,255,255 246,246,246 252,252,252 255,255,255 193,193,193 224,224,224 204,204,204 255,255,255 176,176,176 251,251,251 255,255,255 238,238,238 252,252,252 255,255,255 254,254,254 252,252,252 248,248,248 255,255,255 246,246,246 255,255,255 189,189,189 253,253,253 255,255,255 184,184,184 255,255,255 252,252,252 247,247,247 255,255,255 247,247,247 185,185,185 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 238,238,238 243,243,243 248,248,248 248,248,248 255,255,255 162,162,162 243,243,243 242,242,242 253,253,253 255,255,255 210,210,210 205,205,205 255,255,255 255,255,255 244,244,244 255,255,255 242,242,242 255,255,255 245,245,245 246,246,246 255,255,255 249,249,249 241,241,241 249,249,249 255,255,255 255,255,255 235,235,235 227,227,227 190,190,190 222,222,222 193,193,193 241,241,241 203,203,203 250,250,250 236,236,236 247,247,247 255,255,255 243,243,243 254,254,254 255,255,255 245,245,245 247,247,247 255,255,255 255,255,255 196,196,196 242,242,242 248,248,248 195,195,195 248,248,248 244,244,244 255,255,255 255,255,255 240,240,240 186,186,186 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 255,255,255 251,251,251 252,252,252 242,242,242 194,194,194 223,223,223 182,182,182 195,195,195 192,192,192 180,180,180 168,168,168 247,247,247 255,255,255 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 244,244,244 255,255,255 245,245,245 255,255,255 249,249,249 228,228,228 255,255,255 255,255,255 255,255,255 190,190,190 255,255,255 237,237,237 249,249,249 194,194,194 255,255,255 255,255,255 255,255,255 243,243,243 239,239,239 255,255,255 255,255,255 249,249,249 245,245,245 255,255,255 252,252,252 194,194,194 255,255,255 255,255,255 186,186,186 255,255,255 255,255,255 254,254,254 241,241,241 255,255,255 218,218,218 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 251,251,251 231,231,231 255,255,255 245,245,245 255,255,255 172,172,172 245,245,245 3,3,3 13,13,13 255,255,255 254,254,254 204,204,204 255,255,255 0,0,0 0,0,0 0,0,0 5,5,5 0,0,0 6,6,6 233,233,233 238,238,238 255,255,255 236,236,236 246,246,246 23,23,23 0,0,0 5,5,5 0,0,0 190,190,190 242,242,242 255,255,255 14,14,14 3,3,3 176,176,176 186,186,186 191,191,191 191,191,191 0,0,0 0,0,0 174,174,174 9,9,9 22,22,22 0,0,0 7,7,7 0,0,0 0,0,0 249,249,249 200,200,200 247,247,247 248,248,248 255,255,255 254,254,254 236,236,236 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 255,255,255 255,255,255 243,243,243 255,255,255 200,200,200 0,0,0 0,0,0 0,0,0 244,244,244 250,250,250 191,191,191 255,255,255 0,0,0 11,11,11 245,245,245 255,255,255 255,255,255 0,0,0 17,17,17 255,255,255 237,237,237 255,255,255 13,13,13 0,0,0 253,253,253 255,255,255 0,0,0 5,5,5 255,255,255 253,253,253 0,0,0 0,0,0 255,255,255 255,255,255 247,247,247 0,0,0 36,36,36 247,247,247 255,255,255 0,0,0 8,8,8 247,247,247 246,246,246 255,255,255 9,9,9 1,1,1 186,186,186 252,252,252 233,233,233 242,242,242 255,255,255 255,255,255 187,187,187 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 240,240,240 243,243,243 251,251,251 255,255,255 249,249,249 6,6,6 13,13,13 8,8,8 0,0,0 255,255,255 250,250,250 186,186,186 255,255,255 0,0,0 6,6,6 255,255,255 238,238,238 244,244,244 254,254,254 0,0,0 0,0,0 255,255,255 10,10,10 0,0,0 246,246,246 255,255,255 254,254,254 242,242,242 0,0,0 0,0,0 250,250,250 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 7,7,7 233,233,233 252,252,252 240,240,240 0,0,0 13,13,13 249,249,249 247,247,247 226,226,226 192,192,192 0,0,0 7,7,7 180,180,180 211,211,211 178,178,178 180,180,180 206,206,206 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 255,255,255 255,255,255 241,241,241 255,255,255 254,254,254 173,173,173 249,249,249 0,0,0 10,10,10 239,239,239 255,255,255 197,197,197 241,241,241 15,15,15 0,0,0 255,255,255 249,249,249 241,241,241 255,255,255 0,0,0 16,16,16 208,208,208 174,174,174 190,190,190 178,178,178 197,197,197 189,189,189 193,193,193 14,14,14 8,8,8 193,193,193 0,0,0 8,8,8 180,180,180 11,11,11 0,0,0 170,170,170 212,212,212 184,184,184 201,201,201 9,9,9 0,0,0 253,253,253 255,255,255 255,255,255 5,5,5 0,0,0 225,225,225 255,255,255 241,241,241 251,251,251 255,255,255 252,252,252 184,184,184 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 248,248,248 255,255,255 237,237,237 255,255,255 215,215,215 243,243,243 3,3,3 0,0,0 255,255,255 253,253,253 198,198,198 255,255,255 4,4,4 0,0,0 243,243,243 255,255,255 255,255,255 246,246,246 10,10,10 0,0,0 255,255,255 255,255,255 254,254,254 255,255,255 237,237,237 255,255,255 0,0,0 0,0,0 255,255,255 244,244,244 0,0,0 0,0,0 10,10,10 0,0,0 255,255,255 248,248,248 255,255,255 252,252,252 255,255,255 0,0,0 0,0,0 8,8,8 0,0,0 1,1,1 4,4,4 254,254,254 255,255,255 255,255,255 239,239,239 252,252,252 249,249,249 244,244,244 199,199,199 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+196,196,196 192,192,192 180,180,180 193,193,193 194,194,194 181,181,181 210,210,210 255,255,255 3,3,3 0,0,0 192,192,192 192,192,192 188,188,188 253,253,253 2,2,2 2,2,2 252,252,252 248,248,248 255,255,255 248,248,248 0,0,0 2,2,2 252,252,252 252,252,252 246,246,246 255,255,255 247,247,247 22,22,22 1,1,1 252,252,252 251,251,251 254,254,254 3,3,3 3,3,3 0,0,0 0,0,0 255,255,255 250,250,250 252,252,252 255,255,255 255,255,255 2,2,2 0,0,0 249,249,249 255,255,255 244,244,244 13,13,13 0,0,0 255,255,255 253,253,253 250,250,250 255,255,255 244,244,244 255,255,255 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 252,252,252 254,254,254 255,255,255 255,255,255 254,254,254 231,231,231 253,253,253 4,4,4 0,0,0 248,248,248 252,252,252 194,194,194 254,254,254 0,0,0 0,0,0 248,248,248 255,255,255 237,237,237 255,255,255 0,0,0 8,8,8 242,242,242 255,255,255 255,255,255 246,246,246 11,11,11 0,0,0 251,251,251 254,254,254 243,243,243 255,255,255 0,0,0 0,0,0 255,255,255 12,12,12 0,0,0 254,254,254 253,253,253 246,246,246 248,248,248 0,0,0 0,0,0 255,255,255 255,255,255 240,240,240 177,177,177 5,5,5 0,0,0 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 185,185,185 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+248,248,248 255,255,255 245,245,245 241,241,241 247,247,247 255,255,255 243,243,243 255,255,255 0,0,0 0,0,0 255,255,255 243,243,243 199,199,199 244,244,244 5,5,5 25,25,25 255,255,255 247,247,247 245,245,245 252,252,252 30,30,30 0,0,0 255,255,255 251,251,251 253,253,253 2,2,2 0,0,0 255,255,255 255,255,255 252,252,252 255,255,255 252,252,252 14,14,14 0,0,0 255,255,255 241,241,241 2,2,2 21,21,21 255,255,255 249,249,249 246,246,246 1,1,1 15,15,15 230,230,230 249,249,249 255,255,255 218,218,218 0,0,0 14,14,14 255,255,255 253,253,253 246,246,246 255,255,255 243,243,243 198,198,198 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 255,255,255 239,239,239 255,255,255 243,243,243 236,236,236 251,251,251 252,252,252 7,7,7 5,5,5 172,172,172 219,219,219 182,182,182 244,244,244 0,0,0 0,0,0 248,248,248 255,255,255 255,255,255 0,0,0 0,0,0 202,202,202 250,250,250 253,253,253 0,0,0 0,0,0 255,255,255 248,248,248 218,218,218 255,255,255 255,255,255 244,244,244 0,0,0 0,0,0 255,255,255 255,255,255 249,249,249 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 5,5,5 255,255,255 246,246,246 255,255,255 0,0,0 0,0,0 242,242,242 251,251,251 248,248,248 255,255,255 248,248,248 252,252,252 194,194,194 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 158,158,158 213,213,213 181,181,181 190,190,190 213,213,213 10,10,10 0,0,0 0,0,0 0,0,0 11,11,11 0,0,0 210,210,210 191,191,191 11,11,11 0,0,0 2,2,2 0,0,0 0,0,0 23,23,23 207,207,207 169,169,169 248,248,248 4,4,4 0,0,0 4,4,4 6,6,6 0,0,0 20,20,20 1,1,1 0,0,0 255,255,255 6,6,6 0,0,0 248,248,248 255,255,255 248,248,248 255,255,255 0,0,0 5,5,5 253,253,253 0,0,0 8,8,8 0,0,0 8,8,8 9,9,9 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 249,249,249 255,255,255 255,255,255 179,179,179 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 196,196,196 242,242,242 247,247,247 247,247,247 255,255,255 242,242,242 255,255,255 244,244,244 255,255,255 196,196,196 252,252,252 190,190,190 255,255,255 234,234,234 255,255,255 251,251,251 204,204,204 232,232,232 241,241,241 250,250,250 230,230,230 250,250,250 252,252,252 255,255,255 242,242,242 245,245,245 255,255,255 250,250,250 236,236,236 248,248,248 254,254,254 242,242,242 179,179,179 252,252,252 255,255,255 255,255,255 236,236,236 255,255,255 235,235,235 252,252,252 186,186,186 206,206,206 188,188,188 175,175,175 197,197,197 164,164,164 255,255,255 237,237,237 253,253,253 255,255,255 250,250,250 255,255,255 253,253,253 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+245,245,245 196,196,196 255,255,255 255,255,255 251,251,251 235,235,235 255,255,255 249,249,249 255,255,255 255,255,255 180,180,180 255,255,255 184,184,184 255,255,255 255,255,255 249,249,249 255,255,255 195,195,195 251,251,251 255,255,255 227,227,227 172,172,172 215,215,215 177,177,177 200,200,200 174,174,174 183,183,183 196,196,196 202,202,202 195,195,195 213,213,213 189,189,189 197,197,197 197,197,197 255,255,255 246,246,246 255,255,255 253,253,253 255,255,255 255,255,255 248,248,248 197,197,197 249,249,249 255,255,255 255,255,255 239,239,239 213,213,213 245,245,245 255,255,255 254,254,254 252,252,252 255,255,255 249,249,249 237,237,237 206,206,206 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 186,186,186 245,245,245 255,255,255 255,255,255 250,250,250 255,255,255 236,236,236 246,246,246 255,255,255 190,190,190 251,251,251 207,207,207 231,231,231 255,255,255 246,246,246 246,246,246 183,183,183 255,255,255 253,253,253 255,255,255 255,255,255 224,224,224 255,255,255 243,243,243 224,224,224 229,229,229 255,255,255 249,249,249 239,239,239 255,255,255 255,255,255 250,250,250 255,255,255 245,245,245 245,245,245 255,255,255 252,252,252 238,238,238 255,255,255 255,255,255 176,176,176 255,255,255 251,251,251 245,245,245 255,255,255 187,187,187 252,252,252 252,252,252 245,245,245 255,255,255 245,245,245 255,255,255 255,255,255 189,189,189 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.jpg
new file mode 100644
index 0000000..e3bcd41
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.txt
new file mode 100644
index 0000000..b3d6f4c
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input17.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+254,254,254 255,255,255 245,245,245 255,255,255 249,249,249 255,255,255 204,204,204 248,248,248 243,243,243 255,255,255 246,246,246 189,189,189 207,207,207 255,255,255 251,251,251 252,252,252 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 243,243,243 255,255,255 255,255,255 253,253,253 250,250,250 255,255,255 255,255,255 255,255,255 196,196,196 247,247,247 196,196,196 255,255,255 200,200,200 246,246,246 250,250,250 248,248,248 255,255,255 255,255,255 255,255,255 249,249,249 255,255,255 241,241,241 255,255,255 245,245,245 179,179,179 254,254,254 255,255,255 201,201,201 246,246,246 242,242,242 255,255,255 255,255,255 247,247,247 185,185,185 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 241,241,241 255,255,255 228,228,228 255,255,255 237,237,237 183,183,183 245,245,245 255,255,255 242,242,242 255,255,255 187,187,187 172,172,172 255,255,255 242,242,242 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 248,248,248 255,255,255 242,242,242 244,244,244 255,255,255 238,238,238 255,255,255 223,223,223 188,188,188 231,231,231 188,188,188 243,243,243 177,177,177 255,255,255 250,250,250 250,250,250 255,255,255 237,237,237 250,250,250 255,255,255 231,231,231 251,251,251 255,255,255 254,254,254 197,197,197 255,255,255 231,231,231 196,196,196 255,255,255 255,255,255 254,254,254 249,249,249 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 255,255,255 255,255,255 245,245,245 255,255,255 255,255,255 161,161,161 221,221,221 193,193,193 198,198,198 181,181,181 190,190,190 197,197,197 255,255,255 255,255,255 235,235,235 241,241,241 228,228,228 255,255,255 254,254,254 230,230,230 255,255,255 255,255,255 253,253,253 255,255,255 255,255,255 243,243,243 255,255,255 255,255,255 192,192,192 244,244,244 231,231,231 251,251,251 214,214,214 247,247,247 255,255,255 253,253,253 247,247,247 255,255,255 254,254,254 255,255,255 250,250,250 255,255,255 241,241,241 255,255,255 199,199,199 249,249,249 255,255,255 171,171,171 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255 194,194,194 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 238,238,238 245,245,245 249,249,249 255,255,255 190,190,190 11,11,11 0,0,0 9,9,9 8,8,8 230,230,230 204,204,204 243,243,243 221,221,221 255,255,255 255,255,255 14,14,14 0,0,0 249,249,249 253,253,253 255,255,255 254,254,254 0,0,0 0,0,0 0,0,0 5,5,5 4,4,4 0,0,0 189,189,189 251,251,251 255,255,255 5,5,5 0,0,0 197,197,197 203,203,203 193,193,193 171,171,171 4,4,4 0,0,0 178,178,178 189,189,189 190,190,190 11,11,11 0,0,0 0,0,0 0,0,0 241,241,241 227,227,227 255,255,255 248,248,248 245,245,245 236,236,236 250,250,250 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 255,255,255 255,255,255 255,255,255 244,244,244 255,255,255 0,0,0 0,0,0 239,239,239 253,253,253 16,16,16 0,0,0 196,196,196 255,255,255 246,246,246 255,255,255 0,0,0 0,0,0 0,0,0 0,0,0 255,255,255 242,242,242 245,245,245 20,20,20 3,3,3 243,243,243 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 233,233,233 14,14,14 0,0,0 255,255,255 245,245,245 231,231,231 223,223,223 0,0,0 9,9,9 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 12,12,12 10,10,10 155,155,155 250,250,250 245,245,245 255,255,255 253,253,253 255,255,255 187,187,187 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 246,246,246 240,240,240 254,254,254 255,255,255 10,10,10 0,0,0 255,255,255 255,255,255 239,239,239 255,255,255 0,0,0 1,1,1 233,233,233 248,248,248 0,0,0 3,3,3 253,253,253 255,255,255 0,0,0 0,0,0 250,250,250 247,247,247 9,9,9 0,0,0 248,248,248 255,255,255 234,234,234 255,255,255 2,2,2 0,0,0 255,255,255 0,0,0 3,3,3 246,246,246 255,255,255 251,251,251 207,207,207 2,2,2 0,0,0 250,250,250 0,0,0 10,10,10 255,255,255 247,247,247 241,241,241 178,178,178 6,6,6 19,19,19 203,203,203 195,195,195 196,196,196 192,192,192 220,220,220 185,185,185 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 255,255,255 254,254,254 247,247,247 242,242,242 208,208,208 244,244,244 245,245,245 255,255,255 238,238,238 3,3,3 2,2,2 255,255,255 0,0,0 11,11,11 255,255,255 254,254,254 254,254,254 254,254,254 0,0,0 9,9,9 196,196,196 0,0,0 0,0,0 207,207,207 173,173,173 193,193,193 5,5,5 0,0,0 197,197,197 178,178,178 1,1,1 2,2,2 196,196,196 197,197,197 200,200,200 176,176,176 8,8,8 6,6,6 195,195,195 2,2,2 0,0,0 255,255,255 251,251,251 252,252,252 232,232,232 0,0,0 0,0,0 250,250,250 243,243,243 255,255,255 246,246,246 244,244,244 197,197,197 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 255,255,255 255,255,255 249,249,249 254,254,254 255,255,255 184,184,184 254,254,254 253,253,253 252,252,252 6,6,6 3,3,3 189,189,189 251,251,251 7,7,7 0,0,0 255,255,255 249,249,249 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 7,7,7 5,5,5 0,0,0 10,10,10 8,8,8 0,0,0 249,249,249 255,255,255 254,254,254 1,1,1 1,1,1 0,0,0 0,0,0 11,11,11 0,0,0 8,8,8 0,0,0 255,255,255 0,0,0 8,8,8 245,245,245 255,255,255 248,248,248 176,176,176 7,7,7 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 195,195,195 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+195,195,195 177,177,177 200,200,200 190,190,190 193,193,193 198,198,198 200,200,200 255,255,255 188,188,188 0,0,0 7,7,7 178,178,178 204,204,204 254,254,254 1,1,1 0,0,0 252,252,252 255,255,255 232,232,232 255,255,255 8,8,8 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 253,253,253 255,255,255 0,0,0 0,0,0 253,253,253 250,250,250 6,6,6 0,0,0 255,255,255 248,248,248 242,242,242 255,255,255 0,0,0 2,2,2 254,254,254 0,0,0 0,0,0 255,255,255 246,246,246 249,249,249 203,203,203 0,0,0 0,0,0 255,255,255 248,248,248 255,255,255 253,253,253 250,250,250 201,201,201 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 238,238,238 255,255,255 255,255,255 228,228,228 252,252,252 233,233,233 0,0,0 0,0,0 247,247,247 253,253,253 176,176,176 255,255,255 0,0,0 21,21,21 238,238,238 255,255,255 255,255,255 248,248,248 0,0,0 10,10,10 245,245,245 0,0,0 4,4,4 255,255,255 240,240,240 245,245,245 255,255,255 0,0,0 11,11,11 255,255,255 0,0,0 9,9,9 240,240,240 255,255,255 252,252,252 239,239,239 17,17,17 0,0,0 255,255,255 11,11,11 0,0,0 252,252,252 10,10,10 0,0,0 195,195,195 0,0,0 2,2,2 255,255,255 255,255,255 243,243,243 252,252,252 255,255,255 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 238,238,238 244,244,244 255,255,255 233,233,233 255,255,255 255,255,255 7,7,7 6,6,6 255,255,255 255,255,255 245,245,245 201,201,201 255,255,255 255,255,255 0,0,0 9,9,9 236,236,236 250,250,250 15,15,15 0,0,0 185,185,185 248,248,248 0,0,0 0,0,0 255,255,255 255,255,255 247,247,247 255,255,255 6,6,6 0,0,0 250,250,250 1,1,1 0,0,0 255,255,255 255,255,255 250,250,250 255,255,255 2,2,2 2,2,2 248,248,248 0,0,0 6,6,6 255,255,255 255,255,255 10,10,10 6,6,6 0,0,0 0,0,0 255,255,255 250,250,250 255,255,255 255,255,255 245,245,245 201,201,201 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 246,246,246 255,255,255 249,249,249 238,238,238 240,240,240 0,0,0 0,0,0 187,187,187 182,182,182 183,183,183 222,222,222 195,195,195 235,235,235 255,255,255 255,255,255 3,3,3 2,2,2 0,0,0 0,0,0 249,249,249 193,193,193 255,255,255 6,6,6 5,5,5 251,251,251 250,250,250 246,246,246 0,0,0 0,0,0 243,243,243 255,255,255 6,6,6 2,2,2 250,250,250 251,251,251 244,244,244 246,246,246 5,5,5 0,0,0 255,255,255 186,186,186 5,5,5 0,0,0 254,254,254 252,252,252 3,3,3 12,12,12 255,255,255 255,255,255 241,241,241 255,255,255 244,244,244 255,255,255 201,201,201 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255
+245,245,245 186,186,186 203,203,203 188,188,188 213,213,213 5,5,5 0,0,0 4,4,4 0,0,0 5,5,5 0,0,0 0,0,0 3,3,3 175,175,175 191,191,191 179,179,179 194,194,194 0,0,0 0,0,0 194,194,194 191,191,191 181,181,181 250,250,250 0,0,0 0,0,0 17,17,17 4,4,4 0,0,0 8,8,8 255,255,255 255,255,255 250,250,250 5,5,5 0,0,0 255,255,255 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 248,248,248 190,190,190 255,255,255 0,0,0 5,5,5 15,15,15 0,0,0 246,246,246 0,0,0 248,248,248 255,255,255 255,255,255 255,255,255 239,239,239 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 198,198,198 235,235,235 238,238,238 248,248,248 241,241,241 252,252,252 250,250,250 255,255,255 247,247,247 196,196,196 255,255,255 195,195,195 255,255,255 255,255,255 255,255,255 255,255,255 206,206,206 247,247,247 243,243,243 254,254,254 230,230,230 230,230,230 252,252,252 255,255,255 226,226,226 255,255,255 247,247,247 233,233,233 255,255,255 252,252,252 235,235,235 227,227,227 209,209,209 243,243,243 242,242,242 243,243,243 255,255,255 246,246,246 255,255,255 255,255,255 164,164,164 192,192,192 213,213,213 183,183,183 183,183,183 188,188,188 253,253,253 255,255,255 252,252,252 255,255,255 255,255,255 245,245,245 255,255,255 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 200,200,200 251,251,251 255,255,255 250,250,250 245,245,245 255,255,255 255,255,255 255,255,255 237,237,237 206,206,206 243,243,243 188,188,188 255,255,255 234,234,234 243,243,243 231,231,231 217,217,217 244,244,244 255,255,255 234,234,234 188,188,188 183,183,183 203,203,203 210,210,210 153,153,153 203,203,203 197,197,197 213,213,213 179,179,179 199,199,199 207,207,207 205,205,205 202,202,202 239,239,239 255,255,255 255,255,255 255,255,255 247,247,247 246,246,246 251,251,251 197,197,197 255,255,255 244,244,244 255,255,255 250,250,250 208,208,208 250,250,250 252,252,252 255,255,255 250,250,250 255,255,255 250,250,250 243,243,243 203,203,203 245,245,245 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 173,173,173 251,251,251 255,255,255 255,255,255 252,252,252 255,255,255 243,243,243 255,255,255 251,251,251 190,190,190 255,255,255 201,201,201 234,234,234 255,255,255 254,254,254 255,255,255 190,190,190 255,255,255 253,253,253 255,255,255 255,255,255 248,248,248 248,248,248 236,236,236 230,230,230 230,230,230 255,255,255 253,253,253 236,236,236 255,255,255 248,248,248 255,255,255 247,247,247 250,250,250 255,255,255 251,251,251 251,251,251 255,255,255 255,255,255 249,249,249 196,196,196 252,252,252 249,249,249 250,250,250 255,255,255 170,170,170 255,255,255 254,254,254 253,253,253 255,255,255 252,252,252 250,250,250 255,255,255 191,191,191 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.jpg
new file mode 100644
index 0000000..5cb6a60
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.txt
new file mode 100644
index 0000000..ed494f7
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input18.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 252,252,252 255,255,255 255,255,255 179,179,179 195,195,195 248,248,248 255,255,255 254,254,254 255,255,255 244,244,244 255,255,255 249,249,249 255,255,255 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 255,255,255 249,249,249 200,200,200 228,228,228 203,203,203 255,255,255 185,185,185 253,253,253 254,254,254 253,253,253 245,245,245 255,255,255 255,255,255 255,255,255 244,244,244 255,255,255 255,255,255 247,247,247 190,190,190 255,255,255 250,250,250 193,193,193 252,252,252 249,249,249 253,253,253 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 247,247,247 255,255,255 246,246,246 201,201,201 206,206,206 247,247,247 255,255,255 241,241,241 255,255,255 255,255,255 238,238,238 255,255,255 255,255,255 248,248,248 255,255,255 242,242,242 236,236,236 255,255,255 237,237,237 246,246,246 254,254,254 180,180,180 219,219,219 192,192,192 227,227,227 190,190,190 252,252,252 246,246,246 254,254,254 255,255,255 255,255,255 238,238,238 250,250,250 255,255,255 243,243,243 250,250,250 251,251,251 198,198,198 255,255,255 242,242,242 187,187,187 255,255,255 252,252,252 255,255,255 252,252,252 246,246,246 191,191,191 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 183,183,183 187,187,187 196,196,196 174,174,174 166,166,166 255,255,255 255,255,255 242,242,242 241,241,241 228,228,228 255,255,255 254,254,254 230,230,230 255,255,255 255,255,255 253,253,253 255,255,255 245,245,245 246,246,246 255,255,255 248,248,248 180,180,180 255,255,255 234,234,234 255,255,255 204,204,204 251,251,251 251,251,251 255,255,255 244,244,244 241,241,241 255,255,255 255,255,255 255,255,255 226,226,226 255,255,255 255,255,255 172,172,172 253,253,253 255,255,255 186,186,186 255,255,255 227,227,227 255,255,255 255,255,255 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 15,15,15 0,0,0 5,5,5 255,255,255 203,203,203 250,250,250 226,226,226 255,255,255 255,255,255 14,14,14 0,0,0 249,249,249 253,253,253 255,255,255 254,254,254 0,0,0 5,5,5 233,233,233 255,255,255 231,231,231 250,250,250 12,12,12 0,0,0 255,255,255 221,221,221 181,181,181 222,222,222 0,0,0 0,0,0 202,202,202 175,175,175 192,192,192 172,172,172 7,7,7 8,8,8 193,193,193 197,197,197 208,208,208 255,255,255 0,0,0 0,0,0 250,250,250 255,255,255 255,255,255 225,225,225 254,254,254 204,204,204 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 232,232,232 252,252,252 0,0,0 6,6,6 187,187,187 255,255,255 247,247,247 245,245,245 0,0,0 0,0,0 0,0,0 0,0,0 255,255,255 242,242,242 245,245,245 20,20,20 0,0,0 245,245,245 255,255,255 242,242,242 255,255,255 1,1,1 0,0,0 255,255,255 255,255,255 253,253,253 0,0,0 0,0,0 5,5,5 0,0,0 250,250,250 255,255,255 249,249,249 13,13,13 0,0,0 240,240,240 255,255,255 237,237,237 240,240,240 9,9,9 5,5,5 242,242,242 238,238,238 255,255,255 255,255,255 255,255,255 183,183,183 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 255,255,255 255,255,255 255,255,255 0,0,0 3,3,3 251,251,251 253,253,253 8,8,8 3,3,3 253,253,253 255,255,255 0,0,0 0,0,0 250,250,250 247,247,247 9,9,9 5,5,5 255,255,255 245,245,245 243,243,243 243,243,243 0,0,0 14,14,14 251,251,251 244,244,244 0,0,0 5,5,5 251,251,251 255,255,255 6,6,6 0,0,0 250,250,250 254,254,254 0,0,0 3,3,3 255,255,255 255,255,255 250,250,250 209,209,209 0,0,0 5,5,5 211,211,211 192,192,192 172,172,172 186,186,186 218,218,218 178,178,178 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 244,244,244 250,250,250 255,255,255 5,5,5 0,0,0 255,255,255 0,0,0 4,4,4 255,255,255 254,254,254 254,254,254 254,254,254 0,0,0 9,9,9 196,196,196 0,0,0 0,0,0 184,184,184 188,188,188 205,205,205 186,186,186 9,9,9 0,0,0 192,192,192 1,1,1 0,0,0 191,191,191 202,202,202 194,194,194 188,188,188 5,5,5 0,0,0 189,189,189 189,189,189 0,0,0 6,6,6 247,247,247 250,250,250 1,1,1 0,0,0 228,228,228 255,255,255 236,236,236 255,255,255 255,255,255 245,245,245 176,176,176 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 251,251,251 255,255,255 254,254,254 0,0,0 10,10,10 255,255,255 0,0,0 4,4,4 255,255,255 249,249,249 252,252,252 255,255,255 0,0,0 0,0,0 255,255,255 7,7,7 0,0,0 1,1,1 4,4,4 4,4,4 4,4,4 0,0,0 6,6,6 249,249,249 6,6,6 0,0,0 255,255,255 255,255,255 247,247,247 253,253,253 1,1,1 0,0,0 255,255,255 197,197,197 0,0,0 9,9,9 248,248,248 255,255,255 0,0,0 7,7,7 255,255,255 255,255,255 246,246,246 255,255,255 246,246,246 246,246,246 204,204,204 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 181,181,181 201,201,201 190,190,190 0,0,0 1,1,1 246,246,246 0,0,0 0,0,0 239,239,239 255,255,255 246,246,246 255,255,255 0,0,0 6,6,6 244,244,244 0,0,0 2,2,2 250,250,250 251,251,251 249,249,249 255,255,255 5,5,5 0,0,0 255,255,255 5,5,5 0,0,0 252,252,252 255,255,255 254,254,254 249,249,249 0,0,0 2,2,2 247,247,247 190,190,190 0,0,0 2,2,2 255,255,255 244,244,244 11,11,11 0,0,0 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 188,188,188 233,233,233 255,255,255 0,0,0 12,12,12 248,248,248 6,6,6 0,0,0 16,16,16 0,0,0 0,0,0 0,0,0 5,5,5 0,0,0 244,244,244 12,12,12 3,3,3 244,244,244 255,255,255 255,255,255 242,242,242 1,1,1 14,14,14 252,252,252 0,0,0 0,0,0 255,255,255 242,242,242 243,243,243 255,255,255 14,14,14 0,0,0 255,255,255 207,207,207 249,249,249 0,0,0 2,2,2 17,17,17 0,0,0 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 207,207,207 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 6,6,6 255,255,255 253,253,253 255,255,255 251,251,251 4,4,4 1,1,1 234,234,234 7,7,7 0,0,0 255,255,255 250,250,250 241,241,241 255,255,255 3,3,3 0,0,0 255,255,255 255,255,255 0,0,0 8,8,8 253,253,253 254,254,254 0,0,0 9,9,9 239,239,239 250,250,250 182,182,182 241,241,241 19,19,19 0,0,0 0,0,0 14,14,14 238,238,238 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 176,176,176 171,171,171 8,8,8 10,10,10 192,192,192 232,232,232 1,1,1 1,1,1 234,234,234 255,255,255 249,249,249 249,249,249 0,0,0 7,7,7 255,255,255 0,0,0 4,4,4 252,252,252 251,251,251 254,254,254 252,252,252 0,0,0 0,0,0 255,255,255 255,255,255 181,181,181 4,4,4 0,0,0 10,10,10 2,2,2 247,247,247 255,255,255 250,250,250 178,178,178 255,255,255 238,238,238 6,6,6 0,0,0 209,209,209 248,248,248 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 11,11,11 1,1,1 10,10,10 236,236,236 185,185,185 197,197,197 3,3,3 0,0,0 208,208,208 175,175,175 212,212,212 200,200,200 7,7,7 0,0,0 250,250,250 6,6,6 0,0,0 239,239,239 255,255,255 249,249,249 238,238,238 17,17,17 18,18,18 239,239,239 255,255,255 177,177,177 255,255,255 0,0,0 4,4,4 255,255,255 243,243,243 255,255,255 255,255,255 187,187,187 255,255,255 248,248,248 0,0,0 5,5,5 185,185,185 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 242,242,242 255,255,255 181,181,181 247,247,247 211,211,211 251,251,251 251,251,251 255,255,255 236,236,236 225,225,225 230,230,230 246,246,246 255,255,255 215,215,215 251,251,251 249,249,249 255,255,255 255,255,255 249,249,249 255,255,255 250,250,250 223,223,223 255,255,255 255,255,255 246,246,246 208,208,208 242,242,242 251,251,251 255,255,255 244,244,244 255,255,255 253,253,253 240,240,240 173,173,173 199,199,199 168,168,168 196,196,196 216,216,216 163,163,163 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 255,255,255 238,238,238 186,186,186 255,255,255 193,193,193 255,255,255 232,232,232 254,254,254 255,255,255 193,193,193 255,255,255 243,243,243 255,255,255 190,190,190 171,171,171 205,205,205 186,186,186 164,164,164 199,199,199 207,207,207 203,203,203 197,197,197 205,205,205 179,179,179 201,201,201 187,187,187 252,252,252 247,247,247 255,255,255 255,255,255 245,245,245 248,248,248 255,255,255 201,201,201 255,255,255 248,248,248 255,255,255 246,246,246 187,187,187 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 247,247,247 199,199,199 250,250,250 198,198,198 220,220,220 255,255,255 244,244,244 255,255,255 186,186,186 246,246,246 255,255,255 242,242,242 252,252,252 255,255,255 242,242,242 255,255,255 205,205,205 244,244,244 253,253,253 249,249,249 242,242,242 250,250,250 255,255,255 251,251,251 255,255,255 253,253,253 248,248,248 244,244,244 251,251,251 255,255,255 253,253,253 255,255,255 191,191,191 244,244,244 254,254,254 252,252,252 252,252,252 192,192,192 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.jpg
new file mode 100644
index 0000000..382821e
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.txt
new file mode 100644
index 0000000..2c88491
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input19.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 255,255,255 253,253,253 244,244,244 246,246,246 255,255,255 197,197,197 253,253,253 255,255,255 253,253,253 255,255,255 168,168,168 199,199,199 255,255,255 255,255,255 255,255,255 246,246,246 255,255,255 237,237,237 255,255,255 247,247,247 255,255,255 255,255,255 248,248,248 255,255,255 246,246,246 254,254,254 255,255,255 253,253,253 191,191,191 242,242,242 195,195,195 255,255,255 184,184,184 241,241,241 252,252,252 254,254,254 255,255,255 243,243,243 255,255,255 250,250,250 253,253,253 255,255,255 250,250,250 245,245,245 172,172,172 255,255,255 246,246,246 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 248,248,248 185,185,185 241,241,241 237,237,237 244,244,244 255,255,255 211,211,211 183,183,183 239,239,239 255,255,255 245,245,245 255,255,255 233,233,233 244,244,244 254,254,254 241,241,241 246,246,246 247,247,247 255,255,255 236,236,236 255,255,255 245,245,245 252,252,252 255,255,255 183,183,183 216,216,216 202,202,202 231,231,231 193,193,193 253,253,253 248,248,248 240,240,240 250,250,250 250,250,250 252,252,252 255,255,255 240,240,240 232,232,232 255,255,255 255,255,255 199,199,199 255,255,255 253,253,253 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 251,251,251 255,255,255 255,255,255 238,238,238 255,255,255 171,171,171 219,219,219 194,194,194 218,218,218 177,177,177 195,195,195 200,200,200 250,250,250 255,255,255 255,255,255 232,232,232 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 251,251,251 244,244,244 255,255,255 180,180,180 248,248,248 228,228,228 247,247,247 207,207,207 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255 251,251,251 255,255,255 254,254,254 245,245,245 255,255,255 242,242,242 192,192,192 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 241,241,241 240,240,240 255,255,255 0,0,0 0,0,0 18,18,18 5,5,5 0,0,0 12,12,12 0,0,0 182,182,182 255,255,255 251,251,251 0,0,0 0,0,0 0,0,0 2,2,2 0,0,0 18,18,18 248,248,248 236,236,236 241,241,241 241,241,241 0,0,0 3,3,3 22,22,22 0,0,0 195,195,195 255,255,255 255,255,255 13,13,13 0,0,0 209,209,209 188,188,188 185,185,185 197,197,197 0,0,0 0,0,0 178,178,178 0,0,0 15,15,15 5,5,5 0,0,0 3,3,3 0,0,0 0,0,0 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 241,241,241 255,255,255 255,255,255 243,243,243 0,0,0 0,0,0 250,250,250 242,242,242 255,255,255 255,255,255 241,241,241 214,214,214 242,242,242 254,254,254 240,240,240 255,255,255 0,0,0 15,15,15 255,255,255 217,217,217 255,255,255 255,255,255 255,255,255 2,2,2 7,7,7 255,255,255 250,250,250 0,0,0 5,5,5 255,255,255 234,234,234 2,2,2 5,5,5 250,250,250 255,255,255 239,239,239 191,191,191 0,0,0 2,2,2 250,250,250 4,4,4 5,5,5 227,227,227 255,255,255 255,255,255 255,255,255 253,253,253 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 248,248,248 255,255,255 239,239,239 255,255,255 2,2,2 15,15,15 250,250,250 250,250,250 255,255,255 233,233,233 255,255,255 194,194,194 241,241,241 246,246,246 255,255,255 242,242,242 19,19,19 0,0,0 255,255,255 255,255,255 246,246,246 251,251,251 0,0,0 1,1,1 250,250,250 249,249,249 237,237,237 251,251,251 2,2,2 0,0,0 255,255,255 0,0,0 13,13,13 245,245,245 255,255,255 247,247,247 199,199,199 6,6,6 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 252,252,252 244,244,244 178,178,178 195,195,195 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 246,246,246 255,255,255 255,255,255 234,234,234 0,0,0 0,0,0 249,249,249 0,0,0 4,4,4 17,17,17 245,245,245 186,186,186 255,255,255 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 250,250,250 255,255,255 180,180,180 215,215,215 203,203,203 0,0,0 12,12,12 189,189,189 199,199,199 4,4,4 0,0,0 222,222,222 178,178,178 204,204,204 0,0,0 5,5,5 197,197,197 207,207,207 0,0,0 0,0,0 191,191,191 187,187,187 0,0,0 4,4,4 237,237,237 255,255,255 255,255,255 211,211,211 250,250,250 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 239,239,239 240,240,240 255,255,255 0,0,0 0,0,0 2,2,2 255,255,255 249,249,249 0,0,0 0,0,0 200,200,200 255,255,255 249,249,249 240,240,240 255,255,255 2,2,2 0,0,0 253,253,253 249,249,249 205,205,205 240,240,240 255,255,255 255,255,255 0,0,0 0,0,0 0,0,0 1,1,1 255,255,255 249,249,249 254,254,254 251,251,251 0,0,0 13,13,13 245,245,245 252,252,252 0,0,0 0,0,0 255,255,255 255,255,255 0,0,0 7,7,7 1,1,1 0,0,0 0,0,0 8,8,8 252,252,252 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+196,196,196 191,191,191 172,172,172 208,208,208 181,181,181 194,194,194 202,202,202 246,246,246 185,185,185 191,191,191 189,189,189 0,0,0 0,0,0 254,254,254 255,255,255 243,243,243 244,244,244 9,9,9 0,0,0 241,241,241 246,246,246 207,207,207 255,255,255 241,241,241 0,0,0 0,0,0 255,255,255 251,251,251 11,11,11 0,0,0 255,255,255 255,255,255 255,255,255 1,1,1 10,10,10 253,253,253 246,246,246 10,10,10 5,5,5 253,253,253 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 245,245,245 193,193,193 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 254,254,254 255,255,255 246,246,246 255,255,255 230,230,230 252,252,252 255,255,255 196,196,196 255,255,255 247,247,247 7,7,7 21,21,21 230,230,230 251,251,251 255,255,255 255,255,255 1,1,1 0,0,0 255,255,255 254,254,254 181,181,181 240,240,240 8,8,8 8,8,8 255,255,255 237,237,237 253,253,253 255,255,255 0,0,0 7,7,7 242,242,242 240,240,240 190,190,190 0,0,0 3,3,3 5,5,5 0,0,0 238,238,238 255,255,255 247,247,247 2,2,2 21,21,21 237,237,237 255,255,255 247,247,247 209,209,209 239,239,239 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 247,247,247 243,243,243 237,237,237 255,255,255 8,8,8 0,0,0 255,255,255 184,184,184 248,248,248 255,255,255 0,0,0 2,2,2 255,255,255 255,255,255 231,231,231 255,255,255 3,3,3 0,0,0 255,255,255 237,237,237 197,197,197 255,255,255 1,1,1 5,5,5 239,239,239 255,255,255 255,255,255 234,234,234 21,21,21 6,6,6 255,255,255 255,255,255 196,196,196 0,0,0 4,4,4 7,7,7 2,2,2 253,253,253 254,254,254 254,254,254 0,0,0 0,0,0 255,255,255 252,252,252 255,255,255 194,194,194 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 255,255,255 254,254,254 230,230,230 255,255,255 8,8,8 0,0,0 202,202,202 187,187,187 0,0,0 10,10,10 183,183,183 236,236,236 234,234,234 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 249,249,249 210,210,210 243,243,243 250,250,250 2,2,2 5,5,5 255,255,255 242,242,242 6,6,6 0,0,0 255,255,255 243,243,243 247,247,247 183,183,183 244,244,244 0,0,0 1,1,1 246,246,246 255,255,255 251,251,251 255,255,255 6,6,6 7,7,7 255,255,255 255,255,255 255,255,255 184,184,184 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 183,183,183 190,190,190 186,186,186 208,208,208 188,188,188 214,214,214 0,0,0 15,15,15 0,0,0 0,0,0 236,236,236 204,204,204 197,197,197 196,196,196 0,0,0 0,0,0 5,5,5 5,5,5 0,0,0 0,0,0 179,179,179 245,245,245 246,246,246 237,237,237 21,21,21 0,0,0 0,0,0 4,4,4 255,255,255 255,255,255 255,255,255 255,255,255 181,181,181 252,252,252 3,3,3 6,6,6 245,245,245 249,249,249 255,255,255 239,239,239 14,14,14 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 18,18,18 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 196,196,196 238,238,238 247,247,247 255,255,255 249,249,249 244,244,244 253,253,253 250,250,250 248,248,248 209,209,209 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 247,247,247 204,204,204 246,246,246 255,255,255 255,255,255 225,225,225 252,252,252 255,255,255 255,255,255 243,243,243 255,255,255 254,254,254 255,255,255 240,240,240 252,252,252 251,251,251 223,223,223 213,213,213 255,255,255 246,246,246 247,247,247 255,255,255 255,255,255 231,231,231 255,255,255 162,162,162 201,201,201 185,185,185 191,191,191 209,209,209 200,200,200 233,233,233 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 177,177,177 255,255,255 247,247,247 254,254,254 247,247,247 250,250,250 255,255,255 254,254,254 255,255,255 186,186,186 253,253,253 181,181,181 239,239,239 255,255,255 234,234,234 255,255,255 192,192,192 246,246,246 255,255,255 246,246,246 175,175,175 189,189,189 171,171,171 192,192,192 167,167,167 201,201,201 190,190,190 204,204,204 201,201,201 192,192,192 193,193,193 206,206,206 179,179,179 247,247,247 251,251,251 253,253,253 255,255,255 248,248,248 255,255,255 253,253,253 201,201,201 241,241,241 255,255,255 234,234,234 246,246,246 186,186,186 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 177,177,177 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 242,242,242 255,255,255 248,248,248 202,202,202 243,243,243 209,209,209 242,242,242 239,239,239 255,255,255 252,252,252 194,194,194 254,254,254 255,255,255 250,250,250 254,254,254 254,254,254 255,255,255 249,249,249 214,214,214 245,245,245 255,255,255 242,242,242 244,244,244 255,255,255 255,255,255 252,252,252 254,254,254 255,255,255 255,255,255 242,242,242 250,250,250 255,255,255 253,253,253 246,246,246 197,197,197 252,252,252 250,250,250 255,255,255 253,253,253 188,188,188 252,252,252 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.jpg
new file mode 100644
index 0000000..a9f696d
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.txt
new file mode 100644
index 0000000..da0a134
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input20.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+248,248,248 254,254,254 255,255,255 255,255,255 255,255,255 246,246,246 197,197,197 255,255,255 245,245,245 255,255,255 242,242,242 187,187,187 195,195,195 247,247,247 255,255,255 246,246,246 255,255,255 255,255,255 246,246,246 255,255,255 255,255,255 233,233,233 255,255,255 251,251,251 255,255,255 252,252,252 247,247,247 254,254,254 255,255,255 194,194,194 233,233,233 201,201,201 255,255,255 181,181,181 255,255,255 247,247,247 244,244,244 247,247,247 255,255,255 253,253,253 250,250,250 253,253,253 255,255,255 250,250,250 245,245,245 172,172,172 255,255,255 246,246,246 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 250,250,250 251,251,251 252,252,252 245,245,245 255,255,255 168,168,168 225,225,225 254,254,254 255,255,255 248,248,248 193,193,193 200,200,200 241,241,241 242,242,242 255,255,255 251,251,251 255,255,255 252,252,252 224,224,224 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 238,238,238 255,255,255 241,241,241 242,242,242 177,177,177 226,226,226 192,192,192 239,239,239 172,172,172 255,255,255 253,253,253 255,255,255 255,255,255 249,249,249 252,252,252 255,255,255 240,240,240 232,232,232 255,255,255 255,255,255 199,199,199 255,255,255 253,253,253 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 247,247,247 250,250,250 255,255,255 255,255,255 253,253,253 180,180,180 231,231,231 172,172,172 200,200,200 187,187,187 201,201,201 176,176,176 255,255,255 255,255,255 255,255,255 245,245,245 253,253,253 254,254,254 254,254,254 255,255,255 255,255,255 230,230,230 255,255,255 243,243,243 255,255,255 226,226,226 255,255,255 255,255,255 194,194,194 255,255,255 237,237,237 255,255,255 206,206,206 255,255,255 249,249,249 255,255,255 249,249,249 248,248,248 255,255,255 255,255,255 254,254,254 245,245,245 255,255,255 242,242,242 192,192,192 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 232,232,232 255,255,255 255,255,255 0,0,0 9,9,9 3,3,3 10,10,10 0,0,0 11,11,11 0,0,0 208,208,208 238,238,238 243,243,243 255,255,255 4,4,4 0,0,0 0,0,0 10,10,10 236,236,236 250,250,250 255,255,255 0,0,0 6,6,6 0,0,0 2,2,2 0,0,0 2,2,2 0,0,0 10,10,10 255,255,255 9,9,9 0,0,0 194,194,194 189,189,189 199,199,199 180,180,180 0,0,0 0,0,0 178,178,178 0,0,0 15,15,15 5,5,5 0,0,0 3,3,3 0,0,0 0,0,0 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 253,253,253 255,255,255 253,253,253 230,230,230 255,255,255 182,182,182 253,253,253 244,244,244 245,245,245 0,0,0 0,0,0 175,175,175 255,255,255 255,255,255 0,0,0 10,10,10 247,247,247 248,248,248 0,0,0 18,18,18 237,237,237 255,255,255 249,249,249 255,255,255 227,227,227 255,255,255 251,251,251 240,240,240 7,7,7 0,0,0 249,249,249 0,0,0 0,0,0 16,16,16 241,241,241 251,251,251 10,10,10 1,1,1 0,0,0 250,250,250 4,4,4 5,5,5 227,227,227 255,255,255 255,255,255 255,255,255 253,253,253 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 245,245,245 254,254,254 255,255,255 255,255,255 255,255,255 190,190,190 253,253,253 252,252,252 255,255,255 7,7,7 3,3,3 197,197,197 255,255,255 0,0,0 5,5,5 248,248,248 251,251,251 255,255,255 247,247,247 0,0,0 5,5,5 236,236,236 253,253,253 250,250,250 255,255,255 249,249,249 255,255,255 245,245,245 3,3,3 12,12,12 253,253,253 0,0,0 0,0,0 0,0,0 1,1,1 3,3,3 0,0,0 1,1,1 3,3,3 255,255,255 0,0,0 0,0,0 255,255,255 252,252,252 244,244,244 178,178,178 195,195,195 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 255,255,255 249,249,249 234,234,234 255,255,255 193,193,193 255,255,255 251,251,251 0,0,0 0,0,0 252,252,252 196,196,196 234,234,234 1,1,1 0,0,0 250,250,250 255,255,255 247,247,247 255,255,255 5,5,5 7,7,7 210,210,210 178,178,178 187,187,187 195,195,195 177,177,177 185,185,185 0,0,0 1,1,1 191,191,191 196,196,196 9,9,9 0,0,0 205,205,205 0,0,0 0,0,0 195,195,195 0,0,0 0,0,0 187,187,187 0,0,0 4,4,4 237,237,237 255,255,255 255,255,255 211,211,211 250,250,250 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 255,255,255 253,253,253 254,254,254 255,255,255 239,239,239 204,204,204 248,248,248 3,3,3 2,2,2 255,255,255 231,231,231 196,196,196 255,255,255 255,255,255 1,1,1 0,0,0 255,255,255 247,247,247 0,0,0 0,0,0 3,3,3 240,240,240 255,255,255 253,253,253 249,249,249 255,255,255 4,4,4 0,0,0 255,255,255 255,255,255 247,247,247 0,0,0 11,11,11 241,241,241 15,15,15 0,0,0 236,236,236 20,20,20 0,0,0 255,255,255 0,0,0 7,7,7 1,1,1 0,0,0 0,0,0 8,8,8 252,252,252 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+182,182,182 214,214,214 177,177,177 189,189,189 211,211,211 180,180,180 210,210,210 0,0,0 1,1,1 193,193,193 194,194,194 187,187,187 192,192,192 252,252,252 255,255,255 249,249,249 0,0,0 10,10,10 0,0,0 255,255,255 0,0,0 0,0,0 238,238,238 255,255,255 255,255,255 247,247,247 6,6,6 1,1,1 255,255,255 232,232,232 255,255,255 252,252,252 4,4,4 0,0,0 255,255,255 1,1,1 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 245,245,245 193,193,193 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 242,242,242 255,255,255 250,250,250 252,252,252 252,252,252 0,0,0 10,10,10 199,199,199 247,247,247 254,254,254 244,244,244 181,181,181 247,247,247 255,255,255 247,247,247 250,250,250 254,254,254 255,255,255 234,234,234 33,33,33 0,0,0 239,239,239 255,255,255 250,250,250 15,15,15 0,0,0 255,255,255 255,255,255 255,255,255 235,235,235 255,255,255 3,3,3 0,0,0 255,255,255 251,251,251 246,246,246 255,255,255 0,0,0 0,0,0 247,247,247 2,2,2 21,21,21 237,237,237 255,255,255 247,247,247 209,209,209 239,239,239 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 240,240,240 236,236,236 255,255,255 12,12,12 12,12,12 250,250,250 189,189,189 255,255,255 255,255,255 247,247,247 205,205,205 249,249,249 248,248,248 0,0,0 255,255,255 248,248,248 247,247,247 252,252,252 0,0,0 2,2,2 255,255,255 242,242,242 12,12,12 0,0,0 255,255,255 255,255,255 240,240,240 255,255,255 255,255,255 255,255,255 5,5,5 0,0,0 253,253,253 252,252,252 248,248,248 255,255,255 3,3,3 6,6,6 254,254,254 0,0,0 0,0,0 255,255,255 252,252,252 255,255,255 194,194,194 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 223,223,223 255,255,255 255,255,255 235,235,235 0,0,0 0,0,0 246,246,246 192,192,192 198,198,198 148,148,148 215,215,215 191,191,191 255,255,255 255,255,255 11,11,11 0,0,0 255,255,255 255,255,255 0,0,0 12,12,12 207,207,207 244,244,244 0,0,0 0,0,0 248,248,248 252,252,252 245,245,245 250,250,250 255,255,255 245,245,245 255,255,255 0,0,0 15,15,15 243,243,243 255,255,255 255,255,255 239,239,239 18,18,18 0,0,0 255,255,255 6,6,6 7,7,7 255,255,255 255,255,255 255,255,255 184,184,184 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 178,178,178 202,202,202 188,188,188 197,197,197 17,17,17 4,4,4 4,4,4 0,0,0 0,0,0 19,19,19 4,4,4 201,201,201 186,186,186 176,176,176 176,176,176 0,0,0 0,0,0 0,0,0 0,0,0 184,184,184 186,186,186 250,250,250 9,9,9 0,0,0 255,255,255 246,246,246 243,243,243 255,255,255 248,248,248 255,255,255 244,244,244 8,8,8 0,0,0 250,250,250 254,254,254 248,248,248 246,246,246 1,1,1 1,1,1 239,239,239 14,14,14 0,0,0 0,0,0 0,0,0 0,0,0 0,0,0 18,18,18 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 209,209,209 228,228,228 247,247,247 239,239,239 250,250,250 245,245,245 255,255,255 255,255,255 255,255,255 201,201,201 235,235,235 192,192,192 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 245,245,245 255,255,255 255,255,255 205,205,205 254,254,254 237,237,237 252,252,252 231,231,231 255,255,255 255,255,255 235,235,235 255,255,255 244,244,244 255,255,255 221,221,221 219,219,219 255,255,255 243,243,243 244,244,244 255,255,255 255,255,255 253,253,253 255,255,255 162,162,162 201,201,201 185,185,185 191,191,191 209,209,209 200,200,200 233,233,233 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+250,250,250 182,182,182 255,255,255 242,242,242 255,255,255 233,233,233 255,255,255 255,255,255 253,253,253 255,255,255 166,166,166 255,255,255 193,193,193 233,233,233 255,255,255 243,243,243 239,239,239 203,203,203 252,252,252 254,254,254 237,237,237 174,174,174 211,211,211 193,193,193 210,210,210 159,159,159 197,197,197 204,204,204 198,198,198 183,183,183 208,208,208 185,185,185 211,211,211 193,193,193 228,228,228 254,254,254 255,255,255 253,253,253 239,239,239 253,253,253 253,253,253 201,201,201 241,241,241 255,255,255 234,234,234 246,246,246 186,186,186 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 180,180,180 255,255,255 255,255,255 246,246,246 255,255,255 255,255,255 235,235,235 244,244,244 255,255,255 196,196,196 246,246,246 204,204,204 237,237,237 254,254,254 252,252,252 255,255,255 187,187,187 255,255,255 248,248,248 255,255,255 255,255,255 240,240,240 255,255,255 241,241,241 212,212,212 243,243,243 254,254,254 252,252,252 250,250,250 249,249,249 255,255,255 251,251,251 252,252,252 251,251,251 255,255,255 250,250,250 252,252,252 255,255,255 251,251,251 246,246,246 197,197,197 252,252,252 250,250,250 255,255,255 253,253,253 188,188,188 252,252,252 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.jpg
new file mode 100644
index 0000000..13393c7
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.txt
new file mode 100644
index 0000000..43af950
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input21.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 252,252,252 247,247,247 255,255,255 254,254,254 255,255,255 198,198,198 249,249,249 255,255,255 253,253,253 251,251,251 192,192,192 199,199,199 248,248,248 255,255,255 252,252,252 253,253,253 249,249,249 249,249,249 255,255,255 255,255,255 255,255,255 252,252,252 255,255,255 255,255,255 249,249,249 251,251,251 255,255,255 248,248,248 196,196,196 238,238,238 195,195,195 255,255,255 196,196,196 245,245,245 249,249,249 255,255,255 241,241,241 248,248,248 255,255,255 255,255,255 244,244,244 255,255,255 255,255,255 247,247,247 190,190,190 255,255,255 250,250,250 193,193,193 252,252,252 249,249,249 253,253,253 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+246,246,246 255,255,255 255,255,255 238,238,238 251,251,251 250,250,250 167,167,167 255,255,255 244,244,244 239,239,239 255,255,255 191,191,191 195,195,195 245,245,245 249,249,249 252,252,252 255,255,255 255,255,255 251,251,251 249,249,249 239,239,239 248,248,248 245,245,245 255,255,255 240,240,240 255,255,255 244,244,244 231,231,231 255,255,255 177,177,177 234,234,234 186,186,186 245,245,245 183,183,183 255,255,255 242,242,242 244,244,244 255,255,255 251,251,251 248,248,248 250,250,250 255,255,255 243,243,243 250,250,250 251,251,251 198,198,198 255,255,255 242,242,242 187,187,187 255,255,255 252,252,252 255,255,255 252,252,252 246,246,246 191,191,191 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 240,240,240 246,246,246 255,255,255 255,255,255 255,255,255 172,172,172 219,219,219 188,188,188 200,200,200 200,200,200 172,172,172 199,199,199 255,255,255 253,253,253 255,255,255 242,242,242 255,255,255 255,255,255 254,254,254 245,245,245 255,255,255 255,255,255 255,255,255 249,249,249 255,255,255 255,255,255 255,255,255 250,250,250 186,186,186 238,238,238 243,243,243 255,255,255 191,191,191 246,246,246 255,255,255 254,254,254 248,248,248 252,252,252 255,255,255 255,255,255 255,255,255 226,226,226 255,255,255 255,255,255 172,172,172 253,253,253 255,255,255 186,186,186 255,255,255 227,227,227 255,255,255 255,255,255 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 255,255,255 255,255,255 237,237,237 236,236,236 206,206,206 0,0,0 4,4,4 10,10,10 0,0,0 3,3,3 187,187,187 255,255,255 0,0,0 0,0,0 247,247,247 255,255,255 251,251,251 254,254,254 242,242,242 254,254,254 244,244,244 222,222,222 255,255,255 0,0,0 3,3,3 0,0,0 0,0,0 203,203,203 251,251,251 255,255,255 228,228,228 207,207,207 1,1,1 10,10,10 0,0,0 0,0,0 203,203,203 181,181,181 172,172,172 7,7,7 8,8,8 193,193,193 197,197,197 208,208,208 255,255,255 0,0,0 0,0,0 250,250,250 255,255,255 255,255,255 225,225,225 254,254,254 204,204,204 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+237,237,237 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 238,238,238 242,242,242 255,255,255 1,1,1 0,0,0 253,253,253 12,12,12 1,1,1 255,255,255 241,241,241 235,235,235 255,255,255 252,252,252 231,231,231 255,255,255 255,255,255 0,0,0 18,18,18 255,255,255 255,255,255 13,13,13 3,3,3 252,252,252 244,244,244 255,255,255 0,0,0 0,0,0 241,241,241 249,249,249 3,3,3 0,0,0 255,255,255 249,249,249 13,13,13 0,0,0 240,240,240 255,255,255 237,237,237 240,240,240 9,9,9 5,5,5 242,242,242 238,238,238 255,255,255 255,255,255 255,255,255 183,183,183 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 255,255,255 255,255,255 253,253,253 0,0,0 10,10,10 255,255,255 255,255,255 255,255,255 246,246,246 244,244,244 6,6,6 255,255,255 0,0,0 0,0,0 244,244,244 255,255,255 249,249,249 239,239,239 255,255,255 255,255,255 237,237,237 0,0,0 0,0,0 245,245,245 246,246,246 242,242,242 229,229,229 12,12,12 246,246,246 255,255,255 0,0,0 15,15,15 255,255,255 255,255,255 250,250,250 202,202,202 0,0,0 1,1,1 254,254,254 0,0,0 3,3,3 255,255,255 255,255,255 250,250,250 209,209,209 0,0,0 5,5,5 211,211,211 192,192,192 172,172,172 186,186,186 218,218,218 178,178,178 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 253,253,253 249,249,249 242,242,242 255,255,255 0,0,0 0,0,0 255,255,255 241,241,241 255,255,255 242,242,242 252,252,252 208,208,208 238,238,238 8,8,8 3,3,3 255,255,255 253,253,253 250,250,250 255,255,255 249,249,249 167,167,167 218,218,218 9,9,9 0,0,0 203,203,203 189,189,189 204,204,204 194,194,194 166,166,166 205,205,205 195,195,195 16,16,16 0,0,0 205,205,205 198,198,198 192,192,192 181,181,181 5,5,5 11,11,11 189,189,189 189,189,189 0,0,0 6,6,6 247,247,247 250,250,250 1,1,1 0,0,0 228,228,228 255,255,255 236,236,236 255,255,255 255,255,255 245,245,245 176,176,176 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 251,251,251 255,255,255 255,255,255 236,236,236 14,14,14 0,0,0 250,250,250 255,255,255 229,229,229 255,255,255 249,249,249 183,183,183 253,253,253 3,3,3 0,0,0 250,250,250 254,254,254 249,249,249 255,255,255 254,254,254 193,193,193 255,255,255 0,0,0 2,2,2 255,255,255 0,0,0 0,0,0 0,0,0 255,255,255 238,238,238 254,254,254 236,236,236 16,16,16 0,0,0 248,248,248 255,255,255 0,0,0 0,0,0 0,0,0 255,255,255 197,197,197 0,0,0 9,9,9 248,248,248 255,255,255 0,0,0 7,7,7 255,255,255 255,255,255 246,246,246 255,255,255 246,246,246 246,246,246 204,204,204 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 202,202,202 183,183,183 192,192,192 180,180,180 197,197,197 255,255,255 0,0,0 0,0,0 250,250,250 255,255,255 255,255,255 255,255,255 229,229,229 210,210,210 251,251,251 0,0,0 0,0,0 0,0,0 255,255,255 251,251,251 11,11,11 0,0,0 255,255,255 255,255,255 251,251,251 199,199,199 0,0,0 0,0,0 0,0,0 255,255,255 0,0,0 8,8,8 247,247,247 190,190,190 0,0,0 2,2,2 255,255,255 244,244,244 11,11,11 0,0,0 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 165,165,165 255,255,255 245,245,245 239,239,239 197,197,197 243,243,243 7,7,7 0,0,0 255,255,255 255,255,255 234,234,234 241,241,241 255,255,255 179,179,179 251,251,251 1,1,1 8,8,8 255,255,255 237,237,237 253,253,253 255,255,255 0,0,0 7,7,7 242,242,242 249,249,249 175,175,175 249,249,249 255,255,255 254,254,254 244,244,244 13,13,13 0,0,0 255,255,255 207,207,207 249,249,249 0,0,0 2,2,2 17,17,17 0,0,0 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 197,197,197 255,255,255 249,249,249 255,255,255 1,1,1 243,243,243 0,0,0 0,0,0 250,250,250 248,248,248 252,252,252 255,255,255 255,255,255 191,191,191 250,250,250 0,0,0 5,5,5 239,239,239 255,255,255 255,255,255 234,234,234 21,21,21 6,6,6 255,255,255 252,252,252 16,16,16 243,243,243 245,245,245 243,243,243 249,249,249 17,17,17 0,0,0 250,250,250 182,182,182 241,241,241 19,19,19 0,0,0 0,0,0 14,14,14 238,238,238 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 193,193,193 188,188,188 163,163,163 4,4,4 0,0,0 255,255,255 7,7,7 0,0,0 254,254,254 255,255,255 254,254,254 251,251,251 227,227,227 204,204,204 251,251,251 250,250,250 2,2,2 5,5,5 255,255,255 242,242,242 6,6,6 0,0,0 255,255,255 243,243,243 255,255,255 0,0,0 10,10,10 255,255,255 255,255,255 2,2,2 0,0,0 255,255,255 250,250,250 178,178,178 255,255,255 238,238,238 6,6,6 0,0,0 209,209,209 248,248,248 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 0,0,0 3,3,3 16,16,16 4,4,4 190,190,190 183,183,183 6,6,6 2,2,2 1,1,1 0,0,0 0,0,0 2,2,2 11,11,11 173,173,173 255,255,255 237,237,237 237,237,237 21,21,21 0,0,0 0,0,0 4,4,4 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 13,13,13 0,0,0 0,0,0 2,2,2 255,255,255 255,255,255 255,255,255 187,187,187 255,255,255 248,248,248 0,0,0 5,5,5 185,185,185 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 245,245,245 255,255,255 198,198,198 242,242,242 194,194,194 255,255,255 255,255,255 247,247,247 240,240,240 224,224,224 226,226,226 255,255,255 254,254,254 207,207,207 238,238,238 255,255,255 255,255,255 243,243,243 255,255,255 254,254,254 255,255,255 240,240,240 252,252,252 251,251,251 227,227,227 205,205,205 241,241,241 250,250,250 255,255,255 246,246,246 250,250,250 255,255,255 240,240,240 173,173,173 199,199,199 168,168,168 196,196,196 216,216,216 163,163,163 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 253,253,253 248,248,248 193,193,193 255,255,255 193,193,193 254,254,254 247,247,247 255,255,255 255,255,255 192,192,192 244,244,244 255,255,255 250,250,250 185,185,185 196,196,196 176,176,176 192,192,192 167,167,167 201,201,201 190,190,190 204,204,204 201,201,201 192,192,192 193,193,193 220,220,220 183,183,183 243,243,243 255,255,255 240,240,240 255,255,255 255,255,255 239,239,239 255,255,255 201,201,201 255,255,255 248,248,248 255,255,255 246,246,246 187,187,187 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 255,255,255 190,190,190 251,251,251 200,200,200 240,240,240 252,252,252 249,249,249 255,255,255 185,185,185 255,255,255 247,247,247 255,255,255 255,255,255 241,241,241 255,255,255 249,249,249 214,214,214 245,245,245 255,255,255 242,242,242 244,244,244 255,255,255 255,255,255 247,247,247 250,250,250 255,255,255 240,240,240 255,255,255 244,244,244 249,249,249 255,255,255 255,255,255 191,191,191 244,244,244 254,254,254 252,252,252 252,252,252 192,192,192 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.jpg
new file mode 100644
index 0000000..abcd6da
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.txt
new file mode 100644
index 0000000..9d8b91d
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input22.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+248,248,248 255,255,255 248,248,248 255,255,255 253,253,253 246,246,246 204,204,204 248,248,248 255,255,255 253,253,253 249,249,249 190,190,190 177,177,177 255,255,255 255,255,255 239,239,239 255,255,255 250,250,250 254,254,254 254,254,254 255,255,255 253,253,253 255,255,255 238,238,238 255,255,255 246,246,246 255,255,255 239,239,239 255,255,255 183,183,183 249,249,249 198,198,198 255,255,255 196,196,196 245,245,245 249,249,249 255,255,255 241,241,241 248,248,248 255,255,255 246,246,246 255,255,255 241,241,241 255,255,255 242,242,242 184,184,184 255,255,255 244,244,244 192,192,192 255,255,255 251,251,251 249,249,249 255,255,255 250,250,250 181,181,181 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 252,252,252 255,255,255 237,237,237 255,255,255 181,181,181 239,239,239 246,246,246 240,240,240 255,255,255 190,190,190 204,204,204 236,236,236 255,255,255 254,254,254 249,249,249 253,253,253 252,252,252 240,240,240 242,242,242 255,255,255 234,234,234 255,255,255 253,253,253 251,251,251 255,255,255 255,255,255 241,241,241 184,184,184 231,231,231 188,188,188 245,245,245 183,183,183 255,255,255 242,242,242 244,244,244 255,255,255 251,251,251 248,248,248 255,255,255 255,255,255 245,245,245 255,255,255 249,249,249 203,203,203 239,239,239 254,254,254 192,192,192 255,255,255 255,255,255 253,253,253 255,255,255 253,253,253 184,184,184 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 248,248,248 250,250,250 255,255,255 255,255,255 252,252,252 156,156,156 224,224,224 194,194,194 188,188,188 194,194,194 199,199,199 181,181,181 255,255,255 246,246,246 255,255,255 247,247,247 255,255,255 251,251,251 255,255,255 243,243,243 255,255,255 250,250,250 242,242,242 255,255,255 247,247,247 245,245,245 242,242,242 255,255,255 177,177,177 253,253,253 234,234,234 255,255,255 191,191,191 246,246,246 255,255,255 254,254,254 248,248,248 252,252,252 255,255,255 241,241,241 255,255,255 240,240,240 243,243,243 245,245,245 198,198,198 255,255,255 254,254,254 179,179,179 247,247,247 252,252,252 251,251,251 255,255,255 255,255,255 194,194,194 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 238,238,238 255,255,255 239,239,239 12,12,12 17,17,17 232,232,232 247,247,247 255,255,255 255,255,255 0,0,0 11,11,11 243,243,243 251,251,251 249,249,249 1,1,1 0,0,0 0,0,0 0,0,0 9,9,9 239,239,239 255,255,255 6,6,6 0,0,0 6,6,6 25,25,25 5,5,5 0,0,0 0,0,0 253,253,253 255,255,255 228,228,228 207,207,207 1,1,1 10,10,10 0,0,0 0,0,0 203,203,203 181,181,181 194,194,194 195,195,195 190,190,190 187,187,187 13,13,13 0,0,0 238,238,238 255,255,255 203,203,203 255,255,255 255,255,255 249,249,249 246,246,246 250,250,250 191,191,191 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 255,255,255 241,241,241 255,255,255 255,255,255 0,0,0 1,1,1 255,255,255 255,255,255 255,255,255 239,239,239 0,0,0 0,0,0 255,255,255 255,255,255 2,2,2 9,9,9 235,235,235 255,255,255 255,255,255 2,2,2 6,6,6 243,243,243 0,0,0 0,0,0 250,250,250 245,245,245 241,241,241 235,235,235 198,198,198 255,255,255 253,253,253 255,255,255 0,0,0 0,0,0 241,241,241 249,249,249 3,3,3 0,0,0 255,255,255 231,231,231 253,253,253 255,255,255 14,14,14 0,0,0 0,0,0 255,255,255 244,244,244 182,182,182 237,237,237 248,248,248 255,255,255 255,255,255 255,255,255 192,192,192 243,243,243 255,255,255 255,255,255 255,255,255 255,255,255
+241,241,241 255,255,255 251,251,251 245,245,245 247,247,247 23,23,23 0,0,0 245,245,245 243,243,243 249,249,249 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 246,246,246 255,255,255 234,234,234 249,249,249 251,251,251 0,0,0 255,255,255 0,0,0 0,0,0 250,250,250 251,251,251 254,254,254 255,255,255 215,215,215 239,239,239 245,245,245 0,0,0 15,15,15 255,255,255 255,255,255 250,250,250 202,202,202 0,0,0 1,1,1 255,255,255 249,249,249 0,0,0 0,0,0 2,2,2 4,4,4 203,203,203 182,182,182 196,196,196 209,209,209 185,185,185 180,180,180 184,184,184 210,210,210 184,184,184 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 249,249,249 252,252,252 255,255,255 250,250,250 1,1,1 13,13,13 247,247,247 255,255,255 244,244,244 247,247,247 0,0,0 17,17,17 255,255,255 0,0,0 10,10,10 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 183,183,183 202,202,202 9,9,9 0,0,0 178,178,178 202,202,202 178,178,178 192,192,192 182,182,182 176,176,176 222,222,222 16,16,16 0,0,0 205,205,205 198,198,198 192,192,192 181,181,181 5,5,5 11,11,11 199,199,199 172,172,172 255,255,255 255,255,255 0,0,0 17,17,17 187,187,187 255,255,255 243,243,243 255,255,255 247,247,247 255,255,255 255,255,255 247,247,247 186,186,186 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 255,255,255 255,255,255 245,245,245 255,255,255 0,0,0 0,0,0 7,7,7 0,0,0 6,6,6 0,0,0 4,4,4 0,0,0 252,252,252 4,4,4 0,0,0 255,255,255 255,255,255 255,255,255 239,239,239 254,254,254 206,206,206 241,241,241 2,2,2 0,0,0 9,9,9 0,0,0 3,3,3 2,2,2 251,251,251 255,255,255 233,233,233 236,236,236 16,16,16 0,0,0 248,248,248 255,255,255 0,0,0 0,0,0 0,0,0 252,252,252 212,212,212 248,248,248 253,253,253 4,4,4 0,0,0 187,187,187 251,251,251 255,255,255 255,255,255 239,239,239 255,255,255 251,251,251 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+199,199,199 186,186,186 181,181,181 198,198,198 194,194,194 0,0,0 7,7,7 251,251,251 197,197,197 184,184,184 193,193,193 0,0,0 9,9,9 250,250,250 5,5,5 4,4,4 255,255,255 253,253,253 255,255,255 249,249,249 247,247,247 197,197,197 243,243,243 2,2,2 0,0,0 255,255,255 255,255,255 252,252,252 254,254,254 255,255,255 246,246,246 255,255,255 251,251,251 199,199,199 0,0,0 0,0,0 0,0,0 255,255,255 0,0,0 8,8,8 255,255,255 204,204,204 236,236,236 255,255,255 0,0,0 0,0,0 207,207,207 250,250,250 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 254,254,254 253,253,253 255,255,255 251,251,251 0,0,0 0,0,0 255,255,255 181,181,181 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 250,250,250 254,254,254 253,253,253 250,250,250 255,255,255 192,192,192 249,249,249 0,0,0 21,21,21 253,253,253 251,251,251 254,254,254 253,253,253 245,245,245 247,247,247 255,255,255 249,249,249 175,175,175 249,249,249 255,255,255 254,254,254 244,244,244 13,13,13 0,0,0 251,251,251 179,179,179 255,255,255 251,251,251 0,0,0 10,10,10 182,182,182 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+239,239,239 255,255,255 254,254,254 224,224,224 255,255,255 20,20,20 0,0,0 241,241,241 199,199,199 253,253,253 255,255,255 5,5,5 5,5,5 238,238,238 18,18,18 0,0,0 255,255,255 247,247,247 244,244,244 246,246,246 253,253,253 10,10,10 255,255,255 0,0,0 0,0,0 240,240,240 255,255,255 255,255,255 253,253,253 250,250,250 255,255,255 246,246,246 252,252,252 16,16,16 243,243,243 245,245,245 243,243,243 249,249,249 17,17,17 0,0,0 248,248,248 204,204,204 244,244,244 249,249,249 11,11,11 0,0,0 187,187,187 236,236,236 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 239,239,239 255,255,255 244,244,244 252,252,252 0,0,0 0,0,0 255,255,255 197,197,197 180,180,180 172,172,172 0,0,0 1,1,1 248,248,248 247,247,247 8,8,8 4,4,4 255,255,255 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 16,16,16 0,0,0 255,255,255 242,242,242 255,255,255 239,239,239 255,255,255 242,242,242 255,255,255 255,255,255 0,0,0 10,10,10 255,255,255 255,255,255 2,2,2 0,0,0 255,255,255 253,253,253 191,191,191 255,255,255 253,253,253 0,0,0 3,3,3 208,208,208 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 178,178,178 213,213,213 189,189,189 183,183,183 0,0,0 7,7,7 173,173,173 204,204,204 188,188,188 208,208,208 0,0,0 0,0,0 190,190,190 176,176,176 184,184,184 0,0,0 6,6,6 0,0,0 0,0,0 4,4,4 180,180,180 249,249,249 0,0,0 4,4,4 0,0,0 16,16,16 0,0,0 0,0,0 21,21,21 252,252,252 245,245,245 255,255,255 195,195,195 13,13,13 0,0,0 0,0,0 2,2,2 255,255,255 255,255,255 255,255,255 175,175,175 5,5,5 0,0,0 5,5,5 0,0,0 2,2,2 0,0,0 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+252,252,252 186,186,186 248,248,248 230,230,230 255,255,255 248,248,248 255,255,255 255,255,255 255,255,255 234,234,234 197,197,197 249,249,249 211,211,211 255,255,255 255,255,255 255,255,255 255,255,255 199,199,199 242,242,242 253,253,253 255,255,255 212,212,212 245,245,245 255,255,255 253,253,253 246,246,246 247,247,247 255,255,255 245,245,245 234,234,234 255,255,255 250,250,250 227,227,227 205,205,205 241,241,241 250,250,250 255,255,255 246,246,246 250,250,250 255,255,255 255,255,255 162,162,162 205,205,205 180,180,180 171,171,171 213,213,213 178,178,178 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 179,179,179 255,255,255 255,255,255 255,255,255 237,237,237 253,253,253 254,254,254 254,254,254 255,255,255 182,182,182 249,249,249 192,192,192 239,239,239 248,248,248 238,238,238 229,229,229 206,206,206 255,255,255 246,246,246 251,251,251 193,193,193 191,191,191 177,177,177 192,192,192 181,181,181 185,185,185 201,201,201 188,188,188 208,208,208 199,199,199 186,186,186 220,220,220 183,183,183 243,243,243 255,255,255 240,240,240 255,255,255 255,255,255 239,239,239 251,251,251 192,192,192 255,255,255 255,255,255 254,254,254 250,250,250 190,190,190 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+251,251,251 177,177,177 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 240,240,240 252,252,252 252,252,252 191,191,191 255,255,255 201,201,201 235,235,235 255,255,255 255,255,255 255,255,255 170,170,170 255,255,255 255,255,255 238,238,238 255,255,255 249,249,249 255,255,255 248,248,248 214,214,214 235,235,235 255,255,255 243,243,243 253,253,253 237,237,237 255,255,255 247,247,247 250,250,250 255,255,255 240,240,240 255,255,255 244,244,244 249,249,249 255,255,255 255,255,255 195,195,195 248,248,248 249,249,249 255,255,255 253,253,253 182,182,182 254,254,254 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.jpg
new file mode 100644
index 0000000..ab8bbd5
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.txt
new file mode 100644
index 0000000..aaefdd5
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input23.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 254,254,254 246,246,246 255,255,255 241,241,241 255,255,255 209,209,209 250,250,250 255,255,255 255,255,255 246,246,246 184,184,184 196,196,196 247,247,247 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 252,252,252 243,243,243 255,255,255 254,254,254 247,247,247 244,244,244 255,255,255 255,255,255 245,245,245 255,255,255 206,206,206 229,229,229 201,201,201 255,255,255 184,184,184 246,246,246 255,255,255 242,242,242 248,248,248 255,255,255 249,249,249 255,255,255 244,244,244 255,255,255 255,255,255 247,247,247 190,190,190 255,255,255 250,250,250 193,193,193 252,252,252 249,249,249 253,253,253 255,255,255 247,247,247 182,182,182 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 251,251,251 252,252,252 255,255,255 255,255,255 232,232,232 175,175,175 247,247,247 238,238,238 253,253,253 255,255,255 182,182,182 192,192,192 255,255,255 255,255,255 236,236,236 255,255,255 242,242,242 255,255,255 239,239,239 255,255,255 232,232,232 242,242,242 255,255,255 255,255,255 243,243,243 249,249,249 255,255,255 237,237,237 177,177,177 227,227,227 195,195,195 249,249,249 184,184,184 255,255,255 247,247,247 233,233,233 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 243,243,243 250,250,250 251,251,251 198,198,198 255,255,255 242,242,242 187,187,187 255,255,255 252,252,252 255,255,255 252,252,252 246,246,246 191,191,191 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 255,255,255 249,249,249 224,224,224 255,255,255 255,255,255 187,187,187 218,218,218 195,195,195 191,191,191 202,202,202 187,187,187 200,200,200 253,253,253 235,235,235 255,255,255 244,244,244 255,255,255 255,255,255 255,255,255 242,242,242 255,255,255 255,255,255 249,249,249 253,253,253 255,255,255 247,247,247 255,255,255 252,252,252 197,197,197 255,255,255 235,235,235 245,245,245 215,215,215 217,217,217 255,255,255 255,255,255 232,232,232 255,255,255 240,240,240 255,255,255 255,255,255 226,226,226 255,255,255 255,255,255 172,172,172 253,253,253 255,255,255 186,186,186 255,255,255 227,227,227 255,255,255 255,255,255 248,248,248 197,197,197 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 241,241,241 254,254,254 255,255,255 239,239,239 3,3,3 0,0,0 244,244,244 249,249,249 248,248,248 255,255,255 0,0,0 0,0,0 249,249,249 20,20,20 0,0,0 6,6,6 1,1,1 0,0,0 4,4,4 0,0,0 232,232,232 255,255,255 0,0,0 0,0,0 225,225,225 255,255,255 255,255,255 254,254,254 184,184,184 240,240,240 255,255,255 2,2,2 0,0,0 199,199,199 194,194,194 193,193,193 182,182,182 11,11,11 0,0,0 172,172,172 7,7,7 8,8,8 193,193,193 197,197,197 208,208,208 255,255,255 0,0,0 0,0,0 250,250,250 255,255,255 255,255,255 225,225,225 254,254,254 204,204,204 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 251,251,251 255,255,255 248,248,248 2,2,2 0,0,0 255,255,255 244,244,244 255,255,255 237,237,237 0,0,0 4,4,4 255,255,255 0,0,0 0,0,0 241,241,241 254,254,254 251,251,251 242,242,242 255,255,255 255,255,255 245,245,245 13,13,13 4,4,4 255,255,255 255,255,255 240,240,240 247,247,247 207,207,207 245,245,245 253,253,253 0,0,0 3,3,3 255,255,255 255,255,255 242,242,242 200,200,200 0,0,0 8,8,8 249,249,249 13,13,13 0,0,0 240,240,240 255,255,255 237,237,237 240,240,240 9,9,9 5,5,5 242,242,242 238,238,238 255,255,255 255,255,255 255,255,255 183,183,183 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 255,255,255 253,253,253 250,250,250 4,4,4 0,0,0 250,250,250 245,245,245 246,246,246 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 22,22,22 255,255,255 242,242,242 255,255,255 254,254,254 236,236,236 227,227,227 255,255,255 0,0,0 0,0,0 237,237,237 255,255,255 255,255,255 238,238,238 213,213,213 255,255,255 246,246,246 255,255,255 0,0,0 10,10,10 245,245,245 242,242,242 0,0,0 3,3,3 253,253,253 254,254,254 0,0,0 3,3,3 255,255,255 255,255,255 250,250,250 209,209,209 0,0,0 5,5,5 211,211,211 192,192,192 172,172,172 186,186,186 218,218,218 178,178,178 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 255,255,255 254,254,254 254,254,254 251,251,251 9,9,9 5,5,5 248,248,248 255,255,255 237,237,237 255,255,255 4,4,4 9,9,9 243,243,243 7,7,7 0,0,0 250,250,250 255,255,255 249,249,249 253,253,253 255,255,255 190,190,190 211,211,211 0,0,0 8,8,8 202,202,202 182,182,182 192,192,192 184,184,184 187,187,187 202,202,202 184,184,184 192,192,192 175,175,175 0,0,0 0,0,0 4,4,4 14,14,14 208,208,208 173,173,173 189,189,189 189,189,189 0,0,0 6,6,6 247,247,247 250,250,250 1,1,1 0,0,0 228,228,228 255,255,255 236,236,236 255,255,255 255,255,255 245,245,245 176,176,176 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 249,249,249 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 1,1,1 2,2,2 254,254,254 8,8,8 0,0,0 0,0,0 12,12,12 0,0,0 1,1,1 255,255,255 200,200,200 236,236,236 8,8,8 0,0,0 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 243,243,243 255,255,255 252,252,252 198,198,198 255,255,255 8,8,8 1,1,1 247,247,247 238,238,238 255,255,255 255,255,255 197,197,197 0,0,0 9,9,9 248,248,248 255,255,255 0,0,0 7,7,7 255,255,255 255,255,255 246,246,246 255,255,255 246,246,246 246,246,246 204,204,204 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+202,202,202 184,184,184 189,189,189 210,210,210 193,193,193 0,0,0 10,10,10 251,251,251 0,0,0 2,2,2 192,192,192 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 255,255,255 247,247,247 246,246,246 255,255,255 236,236,236 198,198,198 255,255,255 0,0,0 0,0,0 255,255,255 255,255,255 252,252,252 254,254,254 255,255,255 246,246,246 255,255,255 255,255,255 189,189,189 255,255,255 0,0,0 1,1,1 255,255,255 249,249,249 255,255,255 247,247,247 190,190,190 0,0,0 2,2,2 255,255,255 244,244,244 11,11,11 0,0,0 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+235,235,235 255,255,255 236,236,236 223,223,223 255,255,255 0,0,0 0,0,0 255,255,255 10,10,10 0,0,0 245,245,245 22,22,22 11,11,11 253,253,253 2,2,2 0,0,0 240,240,240 255,255,255 255,255,255 236,236,236 250,250,250 190,190,190 247,247,247 14,14,14 21,21,21 253,253,253 251,251,251 254,254,254 253,253,253 245,245,245 247,247,247 255,255,255 245,245,245 180,180,180 0,0,0 3,3,3 6,6,6 3,3,3 244,244,244 255,255,255 255,255,255 207,207,207 249,249,249 0,0,0 2,2,2 17,17,17 0,0,0 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 245,245,245 252,252,252 255,255,255 255,255,255 2,2,2 0,0,0 0,0,0 0,0,0 0,0,0 5,5,5 0,0,0 0,0,0 246,246,246 18,18,18 1,1,1 255,255,255 241,241,241 251,251,251 255,255,255 255,255,255 196,196,196 255,255,255 0,0,0 0,0,0 240,240,240 255,255,255 255,255,255 253,253,253 250,250,250 255,255,255 246,246,246 255,255,255 0,0,0 5,5,5 248,248,248 236,236,236 0,0,0 20,20,20 246,246,246 250,250,250 182,182,182 241,241,241 19,19,19 0,0,0 0,0,0 14,14,14 238,238,238 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 250,250,250 255,255,255 236,236,236 232,232,232 1,1,1 0,0,0 8,8,8 191,191,191 194,194,194 0,0,0 19,19,19 11,11,11 233,233,233 6,6,6 0,0,0 255,255,255 255,255,255 255,255,255 244,244,244 234,234,234 198,198,198 254,254,254 9,9,9 0,0,0 255,255,255 242,242,242 255,255,255 239,239,239 255,255,255 242,242,242 255,255,255 7,7,7 0,0,0 250,250,250 255,255,255 255,255,255 250,250,250 5,5,5 0,0,0 250,250,250 178,178,178 255,255,255 238,238,238 6,6,6 0,0,0 209,209,209 248,248,248 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 193,193,193 189,189,189 202,202,202 204,204,204 7,7,7 9,9,9 167,167,167 196,196,196 202,202,202 182,182,182 0,0,0 3,3,3 193,193,193 12,12,12 0,0,0 4,4,4 0,0,0 3,3,3 0,0,0 17,17,17 167,167,167 255,255,255 0,0,0 4,4,4 0,0,0 16,16,16 0,0,0 0,0,0 21,21,21 252,252,252 245,245,245 0,0,0 0,0,0 251,251,251 248,248,248 237,237,237 250,250,250 10,10,10 0,0,0 255,255,255 187,187,187 255,255,255 248,248,248 0,0,0 5,5,5 185,185,185 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+238,238,238 180,180,180 244,244,244 239,239,239 234,234,234 252,252,252 255,255,255 255,255,255 252,252,252 252,252,252 213,213,213 245,245,245 213,213,213 238,238,238 255,255,255 255,255,255 249,249,249 216,216,216 225,225,225 255,255,255 252,252,252 212,212,212 243,243,243 255,255,255 253,253,253 246,246,246 247,247,247 255,255,255 245,245,245 234,234,234 255,255,255 250,250,250 229,229,229 220,220,220 250,250,250 255,255,255 255,255,255 255,255,255 247,247,247 250,250,250 240,240,240 173,173,173 199,199,199 168,168,168 196,196,196 216,216,216 163,163,163 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 190,190,190 254,254,254 255,255,255 255,255,255 245,245,245 236,236,236 255,255,255 252,252,252 246,246,246 198,198,198 255,255,255 160,160,160 255,255,255 242,242,242 242,242,242 242,242,242 200,200,200 255,255,255 255,255,255 235,235,235 197,197,197 192,192,192 189,189,189 192,192,192 181,181,181 185,185,185 201,201,201 188,188,188 208,208,208 199,199,199 186,186,186 210,210,210 165,165,165 252,252,252 239,239,239 255,255,255 255,255,255 226,226,226 255,255,255 255,255,255 201,201,201 255,255,255 248,248,248 255,255,255 246,246,246 187,187,187 255,255,255 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+248,248,248 181,181,181 252,252,252 255,255,255 250,250,250 254,254,254 255,255,255 253,253,253 253,253,253 253,253,253 192,192,192 250,250,250 215,215,215 226,226,226 255,255,255 255,255,255 255,255,255 176,176,176 255,255,255 248,248,248 255,255,255 251,251,251 251,251,251 249,249,249 248,248,248 214,214,214 235,235,235 255,255,255 243,243,243 253,253,253 237,237,237 255,255,255 253,253,253 255,255,255 255,255,255 237,237,237 255,255,255 244,244,244 255,255,255 248,248,248 255,255,255 191,191,191 244,244,244 254,254,254 252,252,252 252,252,252 192,192,192 251,251,251 254,254,254 255,255,255 251,251,251 255,255,255 250,250,250 255,255,255 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.jpg b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.jpg
new file mode 100644
index 0000000..2bf5c14
Binary files /dev/null and b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.jpg differ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.txt
new file mode 100644
index 0000000..67eae0c
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/input/input24.txt
@@ -0,0 +1,31 @@
+30 60
+255,255,255 250,250,250 254,254,254 250,250,250 254,254,254 255,255,255 253,253,253 254,254,254 255,255,255 255,255,255 255,255,255 250,250,250 255,255,255 249,249,249 255,255,255 253,253,253 254,254,254 233,233,233 255,255,255 249,249,249 255,255,255 239,239,239 195,195,195 247,247,247 245,245,245 249,249,249 252,252,252 247,247,247 254,254,254 255,255,255 246,246,246 254,254,254 255,255,255 178,178,178 203,203,203 192,192,192 187,187,187 195,195,195 190,190,190 189,189,189 193,193,193 196,196,196 188,188,188 186,186,186 201,201,201 180,180,180 255,255,255 255,255,255 240,240,240 255,255,255 250,250,250 255,255,255 255,255,255 247,247,247 252,252,252 248,248,248 245,245,245 255,255,255 242,242,242 251,251,251
+255,255,255 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 255,255,255 248,248,248 255,255,255 250,250,250 253,253,253 250,250,250 251,251,251 250,250,250 250,250,250 255,255,255 255,255,255 242,242,242 249,249,249 255,255,255 255,255,255 187,187,187 252,252,252 255,255,255 255,255,255 255,255,255 245,245,245 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255 196,196,196 245,245,245 249,249,249 247,247,247 255,255,255 250,250,250 250,250,250 249,249,249 254,254,254 252,252,252 252,252,252 252,252,252 203,203,203 255,255,255 247,247,247 255,255,255 248,248,248 247,247,247 245,245,245 251,251,251 250,250,250 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 243,243,243
+251,251,251 247,247,247 251,251,251 250,250,250 252,252,252 255,255,255 240,240,240 255,255,255 248,248,248 255,255,255 253,253,253 255,255,255 251,251,251 255,255,255 253,253,253 255,255,255 237,237,237 255,255,255 249,249,249 251,251,251 251,251,251 251,251,251 179,179,179 255,255,255 254,254,254 253,253,253 251,251,251 253,253,253 253,253,253 250,250,250 251,251,251 253,253,253 243,243,243 192,192,192 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 254,254,254 195,195,195 251,251,251 249,249,249 240,240,240 185,185,185 207,207,207 191,191,191 195,195,195 192,192,192 195,195,195 190,190,190 184,184,184 195,195,195 255,255,255 252,252,252
+195,195,195 191,191,191 195,195,195 195,195,195 194,194,194 198,198,198 170,170,170 198,198,198 188,188,188 195,195,195 188,188,188 172,172,172 184,184,184 196,196,196 183,183,183 188,188,188 184,184,184 191,191,191 204,204,204 182,182,182 196,196,196 198,198,198 192,192,192 255,255,255 255,255,255 247,247,247 243,243,243 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 250,250,250 196,196,196 253,253,253 255,255,255 248,248,248 250,250,250 248,248,248 253,253,253 253,253,253 247,247,247 244,244,244 251,251,251 248,248,248 189,189,189 253,253,253 255,255,255 255,255,255 189,189,189 253,253,253 244,244,244 253,253,253 252,252,252 253,253,253 246,246,246 242,242,242 191,191,191 255,255,255 236,236,236
+253,253,253 249,249,249 251,251,251 252,252,252 247,247,247 251,251,251 209,209,209 250,250,250 255,255,255 255,255,255 255,255,255 210,210,210 255,255,255 255,255,255 252,252,252 251,251,251 255,255,255 238,238,238 255,255,255 250,250,250 241,241,241 249,249,249 248,248,248 255,255,255 186,186,186 189,189,189 187,187,187 198,198,198 190,190,190 185,185,185 199,199,199 180,180,180 255,255,255 199,199,199 251,251,251 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 255,255,255 191,191,191 248,248,248 255,255,255 249,249,249 176,176,176 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 180,180,180 252,252,252 247,247,247
+255,255,255 253,253,253 254,254,254 255,255,255 248,248,248 253,253,253 197,197,197 251,251,251 249,249,249 240,240,240 251,251,251 188,188,188 253,253,253 255,255,255 255,255,255 255,255,255 252,252,252 237,237,237 247,247,247 255,255,255 188,188,188 210,210,210 193,193,193 183,183,183 198,198,198 244,244,244 255,255,255 255,255,255 244,244,244 253,253,253 255,255,255 186,186,186 250,250,250 191,191,191 245,245,245 252,252,252 251,251,251 255,255,255 251,251,251 252,252,252 255,255,255 251,251,251 247,247,247 255,255,255 252,252,252 192,192,192 251,251,251 255,255,255 255,255,255 191,191,191 255,255,255 255,255,255 244,244,244 247,247,247 244,244,244 245,245,245 251,251,251 188,188,188 255,255,255 255,255,255
+255,255,255 253,253,253 253,253,253 255,255,255 248,248,248 254,254,254 189,189,189 253,253,253 254,254,254 254,254,254 255,255,255 193,193,193 245,245,245 254,254,254 244,244,244 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 195,195,195 235,235,235 249,249,249 255,255,255 191,191,191 240,240,240 254,254,254 255,255,255 243,243,243 254,254,254 255,255,255 187,187,187 253,253,253 196,196,196 253,253,253 255,255,255 255,255,255 255,255,255 250,250,250 251,251,251 255,255,255 253,253,253 249,249,249 253,253,253 252,252,252 194,194,194 249,249,249 247,247,247 250,250,250 203,203,203 249,249,249 253,253,253 242,242,242 255,255,255 255,255,255 255,255,255 255,255,255 192,192,192 201,201,201 186,186,186
+255,255,255 252,252,252 253,253,253 255,255,255 249,249,249 255,255,255 187,187,187 255,255,255 250,250,250 255,255,255 252,252,252 179,179,179 200,200,200 209,209,209 179,179,179 197,197,197 179,179,179 185,185,185 199,199,199 191,191,191 192,192,192 199,199,199 197,197,197 187,187,187 186,186,186 197,197,197 185,185,185 195,195,195 182,182,182 195,195,195 238,238,238 198,198,198 248,248,248 194,194,194 251,251,251 255,255,255 251,251,251 255,255,255 252,252,252 255,255,255 249,249,249 254,254,254 255,255,255 255,255,255 252,252,252 178,178,178 208,208,208 186,186,186 206,206,206 169,169,169 194,194,194 200,200,200 183,183,183 195,195,195 186,186,186 183,183,183 187,187,187 193,193,193 247,247,247 255,255,255
+255,255,255 254,254,254 246,246,246 255,255,255 241,241,241 255,255,255 209,209,209 250,250,250 255,255,255 250,250,250 251,251,251 188,188,188 193,193,193 249,249,249 255,255,255 250,250,250 245,245,245 255,255,255 255,255,255 241,241,241 255,255,255 252,252,252 255,255,255 255,255,255 251,251,251 249,249,249 255,255,255 255,255,255 250,250,250 200,200,200 239,239,239 194,194,194 254,254,254 186,186,186 245,245,245 251,251,251 244,244,244 255,255,255 249,249,249 252,252,252 249,249,249 255,255,255 241,241,241 255,255,255 245,245,245 179,179,179 254,254,254 255,255,255 201,201,201 246,246,246 242,242,242 255,255,255 255,255,255 247,247,247 185,185,185 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 251,251,251 252,252,252 255,255,255 255,255,255 232,232,232 175,175,175 247,247,247 232,232,232 255,255,255 255,255,255 194,194,194 193,193,193 255,255,255 255,255,255 245,245,245 255,255,255 248,248,248 248,248,248 254,254,254 238,238,238 255,255,255 255,255,255 244,244,244 255,255,255 251,251,251 236,236,236 246,246,246 250,250,250 187,187,187 224,224,224 185,185,185 244,244,244 182,182,182 255,255,255 255,255,255 243,243,243 230,230,230 255,255,255 249,249,249 255,255,255 231,231,231 251,251,251 255,255,255 254,254,254 197,197,197 255,255,255 231,231,231 196,196,196 255,255,255 255,255,255 254,254,254 249,249,249 250,250,250 193,193,193 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+244,244,244 255,255,255 249,249,249 224,224,224 255,255,255 255,255,255 187,187,187 218,218,218 193,193,193 205,205,205 175,175,175 175,175,175 196,196,196 254,254,254 230,230,230 255,255,255 238,238,238 252,252,252 248,248,248 255,255,255 255,255,255 252,252,252 239,239,239 255,255,255 239,239,239 255,255,255 255,255,255 255,255,255 255,255,255 188,188,188 252,252,252 241,241,241 249,249,249 205,205,205 239,239,239 244,244,244 252,252,252 255,255,255 238,238,238 255,255,255 255,255,255 250,250,250 255,255,255 241,241,241 255,255,255 199,199,199 249,249,249 255,255,255 171,171,171 240,240,240 255,255,255 255,255,255 255,255,255 255,255,255 194,194,194 249,249,249 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 241,241,241 254,254,254 255,255,255 239,239,239 3,3,3 0,0,0 244,244,244 243,243,243 255,255,255 255,255,255 8,8,8 0,0,0 247,247,247 14,14,14 0,0,0 244,244,244 255,255,255 252,252,252 250,250,250 0,0,0 0,0,0 255,255,255 0,0,0 6,6,6 238,238,238 242,242,242 249,249,249 255,255,255 0,0,0 0,0,0 255,255,255 2,2,2 8,8,8 0,0,0 17,17,17 12,12,12 0,0,0 12,12,12 0,0,0 178,178,178 189,189,189 190,190,190 11,11,11 0,0,0 0,0,0 0,0,0 241,241,241 227,227,227 255,255,255 248,248,248 245,245,245 236,236,236 250,250,250 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 245,245,245 251,251,251 255,255,255 248,248,248 2,2,2 0,0,0 255,255,255 249,249,249 251,251,251 241,241,241 0,0,0 0,0,0 255,255,255 1,1,1 0,0,0 255,255,255 243,243,243 232,232,232 255,255,255 0,0,0 3,3,3 255,255,255 0,0,0 0,0,0 252,252,252 255,255,255 236,236,236 250,250,250 0,0,0 4,4,4 255,255,255 12,12,12 0,0,0 255,255,255 248,248,248 228,228,228 201,201,201 254,254,254 249,249,249 255,255,255 255,255,255 5,5,5 0,0,0 255,255,255 255,255,255 12,12,12 10,10,10 155,155,155 250,250,250 245,245,245 255,255,255 253,253,253 255,255,255 187,187,187 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 255,255,255 253,253,253 250,250,250 4,4,4 0,0,0 250,250,250 255,255,255 242,242,242 255,255,255 3,3,3 0,0,0 255,255,255 0,0,0 6,6,6 237,237,237 255,255,255 233,233,233 255,255,255 0,0,0 12,12,12 241,241,241 0,0,0 9,9,9 248,248,248 255,255,255 234,234,234 253,253,253 4,4,4 0,0,0 251,251,251 0,0,0 0,0,0 255,255,255 255,255,255 246,246,246 205,205,205 255,255,255 243,243,243 250,250,250 0,0,0 10,10,10 255,255,255 247,247,247 241,241,241 178,178,178 6,6,6 19,19,19 203,203,203 195,195,195 196,196,196 192,192,192 220,220,220 185,185,185 251,251,251 255,255,255 255,255,255 255,255,255 255,255,255
+247,247,247 255,255,255 254,254,254 254,254,254 251,251,251 9,9,9 5,5,5 248,248,248 243,243,243 255,255,255 240,240,240 15,15,15 8,8,8 242,242,242 8,8,8 7,7,7 255,255,255 241,241,241 255,255,255 249,249,249 8,8,8 0,0,0 213,213,213 194,194,194 1,1,1 0,0,0 191,191,191 209,209,209 3,3,3 3,3,3 213,213,213 182,182,182 1,1,1 7,7,7 182,182,182 190,190,190 199,199,199 181,181,181 188,188,188 188,188,188 195,195,195 2,2,2 0,0,0 255,255,255 251,251,251 252,252,252 232,232,232 0,0,0 0,0,0 250,250,250 243,243,243 255,255,255 246,246,246 244,244,244 197,197,197 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 255,255,255 249,249,249 255,255,255 245,245,245 0,0,0 0,0,0 255,255,255 255,255,255 253,253,253 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 0,0,0 4,4,4 0,0,0 4,4,4 11,11,11 0,0,0 0,0,0 254,254,254 255,255,255 1,1,1 10,10,10 253,253,253 250,250,250 0,0,0 0,0,0 239,239,239 255,255,255 4,4,4 0,0,0 5,5,5 0,0,0 14,14,14 0,0,0 254,254,254 251,251,251 255,255,255 0,0,0 8,8,8 245,245,245 255,255,255 248,248,248 176,176,176 7,7,7 0,0,0 255,255,255 234,234,234 255,255,255 255,255,255 239,239,239 195,195,195 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+190,190,190 196,196,196 179,179,179 201,201,201 195,195,195 0,0,0 7,7,7 255,255,255 181,181,181 201,201,201 190,190,190 0,0,0 1,1,1 246,246,246 0,0,0 0,0,0 252,252,252 255,255,255 254,254,254 248,248,248 0,0,0 0,0,0 255,255,255 249,249,249 0,0,0 7,7,7 240,240,240 252,252,252 6,6,6 10,10,10 239,239,239 255,255,255 0,0,0 6,6,6 246,246,246 255,255,255 248,248,248 253,253,253 255,255,255 251,251,251 245,245,245 0,0,0 4,4,4 243,243,243 255,255,255 246,246,246 197,197,197 0,0,0 0,0,0 255,255,255 244,244,244 255,255,255 255,255,255 244,244,244 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 255,255,255 249,249,249 238,238,238 255,255,255 0,0,0 0,0,0 255,255,255 188,188,188 233,233,233 255,255,255 0,0,0 12,12,12 248,248,248 6,6,6 0,0,0 245,245,245 255,255,255 237,237,237 255,255,255 17,17,17 0,0,0 241,241,241 253,253,253 255,255,255 0,0,0 13,13,13 0,0,0 0,0,0 250,250,250 248,248,248 249,249,249 2,2,2 0,0,0 240,240,240 252,252,252 245,245,245 254,254,254 255,255,255 250,250,250 255,255,255 8,8,8 5,5,5 255,255,255 255,255,255 237,237,237 197,197,197 3,3,3 13,13,13 255,255,255 252,252,252 244,244,244 241,241,241 255,255,255 201,201,201 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 236,236,236 255,255,255 251,251,251 252,252,252 0,0,0 0,0,0 252,252,252 207,207,207 255,255,255 255,255,255 0,0,0 0,0,0 255,255,255 0,0,0 6,6,6 255,255,255 255,255,255 233,233,233 250,250,250 0,0,0 0,0,0 248,248,248 255,255,255 250,250,250 13,13,13 0,0,0 12,12,12 3,3,3 243,243,243 255,255,255 251,251,251 10,10,10 0,0,0 255,255,255 255,255,255 249,249,249 251,251,251 255,255,255 248,248,248 228,228,228 6,6,6 3,3,3 237,237,237 249,249,249 255,255,255 172,172,172 11,11,11 0,0,0 217,217,217 255,255,255 255,255,255 248,248,248 255,255,255 190,190,190 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255
+249,249,249 253,253,253 251,251,251 244,244,244 251,251,251 255,255,255 0,0,0 8,8,8 176,176,176 171,171,171 8,8,8 10,10,10 192,192,192 232,232,232 1,1,1 1,1,1 251,251,251 250,250,250 255,255,255 255,255,255 2,2,2 8,8,8 255,255,255 238,238,238 247,247,247 255,255,255 0,0,0 2,2,2 242,242,242 255,255,255 242,242,242 245,245,245 0,0,0 0,0,0 253,253,253 252,252,252 245,245,245 246,246,246 255,255,255 255,255,255 255,255,255 194,194,194 0,0,0 8,8,8 255,255,255 241,241,241 14,14,14 0,0,0 250,250,250 255,255,255 253,253,253 250,250,250 247,247,247 255,255,255 189,189,189 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+242,242,242 194,194,194 209,209,209 195,195,195 188,188,188 179,179,179 213,213,213 0,0,0 11,11,11 1,1,1 10,10,10 236,236,236 185,185,185 197,197,197 3,3,3 0,0,0 185,185,185 183,183,183 215,215,215 170,170,170 2,2,2 0,0,0 234,234,234 255,255,255 255,255,255 239,239,239 13,13,13 0,0,0 244,244,244 255,255,255 255,255,255 255,255,255 4,4,4 8,8,8 240,240,240 252,252,252 255,255,255 255,255,255 255,255,255 247,247,247 245,245,245 183,183,183 255,255,255 0,0,0 0,0,0 15,15,15 0,0,0 247,247,247 244,244,244 249,249,249 247,247,247 255,255,255 249,249,249 250,250,250 181,181,181 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 194,194,194 232,232,232 246,246,246 255,255,255 255,255,255 255,255,255 255,255,255 242,242,242 255,255,255 181,181,181 247,247,247 211,211,211 251,251,251 251,251,251 255,255,255 255,255,255 218,218,218 237,237,237 244,244,244 255,255,255 216,216,216 255,255,255 249,249,249 237,237,237 249,249,249 255,255,255 249,249,249 255,255,255 240,240,240 240,240,240 255,255,255 233,233,233 188,188,188 255,255,255 244,244,244 244,244,244 248,248,248 255,255,255 253,253,253 248,248,248 179,179,179 223,223,223 174,174,174 183,183,183 189,189,189 182,182,182 253,253,253 255,255,255 251,251,251 239,239,239 250,250,250 253,253,253 255,255,255 192,192,192 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255
+253,253,253 191,191,191 255,255,255 237,237,237 251,251,251 239,239,239 241,241,241 255,255,255 255,255,255 238,238,238 186,186,186 255,255,255 193,193,193 255,255,255 232,232,232 254,254,254 245,245,245 199,199,199 253,253,253 247,247,247 247,247,247 186,186,186 178,178,178 205,205,205 212,212,212 177,177,177 188,188,188 200,200,200 184,184,184 188,188,188 205,205,205 200,200,200 200,200,200 187,187,187 240,240,240 241,241,241 255,255,255 255,255,255 255,255,255 241,241,241 253,253,253 214,214,214 215,215,215 255,255,255 253,253,253 252,252,252 195,195,195 251,251,251 244,244,244 255,255,255 255,255,255 255,255,255 243,243,243 249,249,249 193,193,193 254,254,254 255,255,255 255,255,255 255,255,255 255,255,255
+255,255,255 162,162,162 255,255,255 255,255,255 252,252,252 252,252,252 255,255,255 242,242,242 255,255,255 247,247,247 199,199,199 250,250,250 198,198,198 220,220,220 255,255,255 244,244,244 255,255,255 176,176,176 255,255,255 255,255,255 249,249,249 255,255,255 255,255,255 245,245,245 239,239,239 210,210,210 243,243,243 253,253,253 255,255,255 248,248,248 252,252,252 251,251,251 254,254,254 253,253,253 255,255,255 249,249,249 251,251,251 246,246,246 255,255,255 255,255,255 255,255,255 180,180,180 255,255,255 255,255,255 255,255,255 242,242,242 200,200,200 248,248,248 255,255,255 255,255,255 246,246,246 254,254,254 255,255,255 255,255,255 197,197,197 247,247,247 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 248,248,248 255,255,255 179,179,179 250,250,250 183,183,183 255,255,255 250,250,250 255,255,255 255,255,255 192,192,192 250,250,250 255,255,255 246,246,246 253,253,253 255,255,255 255,255,255 255,255,255 206,206,206 180,180,180 191,191,191 194,194,194 193,193,193 186,186,186 190,190,190 195,195,195 185,185,185 190,190,190 201,201,201 189,189,189 190,190,190 179,179,179 204,204,204 187,187,187 200,200,200 245,245,245 255,255,255 255,255,255 245,245,245 200,200,200 187,187,187 187,187,187 193,193,193 197,197,197 195,195,195 192,192,192 200,200,200 188,188,188 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 253,253,253 255,255,255 191,191,191 255,255,255 195,195,195 255,255,255 249,249,249 252,252,252 249,249,249 189,189,189 250,250,250 255,255,255 252,252,252 255,255,255 253,253,253 252,252,252 243,243,243 235,235,235 253,253,253 255,255,255 246,246,246 246,246,246 249,249,249 255,255,255 255,255,255 250,250,250 255,255,255 255,255,255 251,251,251 255,255,255 242,242,242 255,255,255 253,253,253 246,246,246 255,255,255 253,253,253 253,253,253 255,255,255 246,246,246 253,253,253 254,254,254 252,252,252 249,249,249 248,248,248 247,247,247 243,243,243 205,205,205 252,252,252 252,252,252 252,252,252 252,252,252 252,252,252
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 253,253,253 184,184,184 253,253,253 189,189,189 251,251,251 241,241,241 245,245,245 250,250,250 194,194,194 252,252,252 255,255,255 254,254,254 255,255,255 251,251,251 249,249,249 255,255,255 246,246,246 255,255,255 250,250,250 244,244,244 255,255,255 255,255,255 248,248,248 252,252,252 249,249,249 250,250,250 254,254,254 237,237,237 255,255,255 252,252,252 255,255,255 255,255,255 250,250,250 254,254,254 246,246,246 246,246,246 254,254,254 250,250,250 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 250,250,250 203,203,203 240,240,240 254,254,254 254,254,254 254,254,254 254,254,254
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 190,190,190 255,255,255 196,196,196 255,255,255 254,254,254 255,255,255 255,255,255 202,202,202 252,252,252 252,252,252 251,251,251 255,255,255 250,250,250 254,254,254 237,237,237 189,189,189 197,197,197 181,181,181 187,187,187 205,205,205 201,201,201 180,180,180 186,186,186 192,192,192 196,196,196 203,203,203 186,186,186 246,246,246 253,253,253 255,255,255 246,246,246 248,248,248 255,255,255 255,255,255 255,255,255 255,255,255 248,248,248 246,246,246 243,243,243 250,250,250 255,255,255 253,253,253 249,249,249 246,246,246 208,208,208 253,253,253 255,255,255 255,255,255 255,255,255 255,255,255
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 255,255,255 255,255,255 195,195,195 254,254,254 196,196,196 243,243,243 242,242,242 247,247,247 241,241,241 198,198,198 249,249,249 249,249,249 252,252,252 255,255,255 248,248,248 255,255,255 251,251,251 206,206,206 255,255,255 255,255,255 254,254,254 252,252,252 255,255,255 255,255,255 255,255,255 255,255,255 255,255,255 246,246,246 195,195,195 249,249,249 251,251,251 252,252,252 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 254,254,254 255,255,255 255,255,255 255,255,255 252,252,252 248,248,248 203,203,203 241,241,241 253,253,253 253,253,253 253,253,253 253,253,253
+254,254,254 193,193,193 255,255,255 250,250,250 255,255,255 251,251,251 255,255,255 254,254,254 244,244,244 246,246,246 189,189,189 243,243,243 182,182,182 211,211,211 201,201,201 199,199,199 212,212,212 185,185,185 247,247,247 250,250,250 255,255,255 255,255,255 245,245,245 254,254,254 233,233,233 178,178,178 252,252,252 255,255,255 254,254,254 238,238,238 245,245,245 255,255,255 233,233,233 248,248,248 252,252,252 251,251,251 191,191,191 252,252,252 254,254,254 253,253,253 253,253,253 255,255,255 244,244,244 247,247,247 247,247,247 244,244,244 255,255,255 253,253,253 255,255,255 254,254,254 247,247,247 248,248,248 255,255,255 250,250,250 185,185,185 200,200,200 196,196,196 196,196,196 196,196,196 196,196,196
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output00.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output00.txt
new file mode 100644
index 0000000..a1d68a8
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output00.txt
@@ -0,0 +1 @@
+EGYK4
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output01.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output01.txt
new file mode 100644
index 0000000..716a65f
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output01.txt
@@ -0,0 +1 @@
+GRC35
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output02.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output02.txt
new file mode 100644
index 0000000..97755f5
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output02.txt
@@ -0,0 +1 @@
+6O5W1
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output03.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output03.txt
new file mode 100644
index 0000000..67b38cc
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output03.txt
@@ -0,0 +1 @@
+J627C
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output04.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output04.txt
new file mode 100644
index 0000000..9455128
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output04.txt
@@ -0,0 +1 @@
+VLI2C
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output05.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output05.txt
new file mode 100644
index 0000000..6ad9a00
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output05.txt
@@ -0,0 +1 @@
+O1R7Q
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output06.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output06.txt
new file mode 100644
index 0000000..023fa0c
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output06.txt
@@ -0,0 +1 @@
+OYTAD
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output07.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output07.txt
new file mode 100644
index 0000000..6942a52
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output07.txt
@@ -0,0 +1 @@
+ZRMQU
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output08.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output08.txt
new file mode 100644
index 0000000..2c6f27b
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output08.txt
@@ -0,0 +1 @@
+N9DQS
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output09.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output09.txt
new file mode 100644
index 0000000..09b84a0
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output09.txt
@@ -0,0 +1 @@
+ZGJS3
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output10.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output10.txt
new file mode 100644
index 0000000..482e781
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output10.txt
@@ -0,0 +1 @@
+GZMBA
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output11.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output11.txt
new file mode 100644
index 0000000..cb3e85b
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output11.txt
@@ -0,0 +1 @@
+J14DM
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output12.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output12.txt
new file mode 100644
index 0000000..abee004
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output12.txt
@@ -0,0 +1 @@
+PQ9AE
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output13.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output13.txt
new file mode 100644
index 0000000..1424d32
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output13.txt
@@ -0,0 +1 @@
+VWZDO
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output14.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output14.txt
new file mode 100644
index 0000000..7f68ee5
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output14.txt
@@ -0,0 +1 @@
+WGST7
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output15.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output15.txt
new file mode 100644
index 0000000..eddebd6
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output15.txt
@@ -0,0 +1 @@
+XKMS2
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output16.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output16.txt
new file mode 100644
index 0000000..8b51c0c
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output16.txt
@@ -0,0 +1 @@
+1D2KB
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output17.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output17.txt
new file mode 100644
index 0000000..5378e0c
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output17.txt
@@ -0,0 +1 @@
+20BHQ
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output18.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output18.txt
new file mode 100644
index 0000000..40856c6
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output18.txt
@@ -0,0 +1 @@
+OAH0V
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output19.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output19.txt
new file mode 100644
index 0000000..c420d70
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output19.txt
@@ -0,0 +1 @@
+5I8VE
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output20.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output20.txt
new file mode 100644
index 0000000..d53f349
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output20.txt
@@ -0,0 +1 @@
+Z97ME
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output21.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output21.txt
new file mode 100644
index 0000000..16dfd0b
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output21.txt
@@ -0,0 +1 @@
+CL69V
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output22.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output22.txt
new file mode 100644
index 0000000..b17bf04
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output22.txt
@@ -0,0 +1 @@
+HCE91
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output23.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output23.txt
new file mode 100644
index 0000000..0eb579b
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output23.txt
@@ -0,0 +1 @@
+WELXV
diff --git a/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output24.txt b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output24.txt
new file mode 100644
index 0000000..1880e6e
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/sampleCaptchas/output/output24.txt
@@ -0,0 +1 @@
+UHVFO
diff --git a/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/input.txt b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/input.txt
new file mode 100644
index 0000000..f708d80
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/input.txt
@@ -0,0 +1 @@
+[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 255.0, 253.0, 244.0, 246.0, 255.0, 197.0, 253.0, 254.0, 255.0, 255.0, 181.0, 194.0, 253.0, 255.0, 249.0, 239.0, 255.0, 255.0, 245.0, 255.0, 247.0, 255.0, 255.0, 255.0, 255.0, 254.0, 241.0, 255.0, 193.0, 232.0, 199.0, 255.0, 176.0, 251.0, 255.0, 238.0, 252.0, 255.0, 254.0, 255.0, 249.0, 255.0, 245.0, 253.0, 188.0, 251.0, 255.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 248.0, 185.0, 241.0, 235.0, 255.0, 246.0, 200.0, 193.0, 245.0, 246.0, 255.0, 255.0, 232.0, 255.0, 253.0, 242.0, 255.0, 246.0, 255.0, 255.0, 223.0, 255.0, 255.0, 241.0, 183.0, 236.0, 191.0, 241.0, 203.0, 250.0, 236.0, 247.0, 255.0, 243.0, 254.0, 248.0, 255.0, 249.0, 255.0, 253.0, 192.0, 250.0, 245.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 244.0, 251.0, 255.0, 255.0, 238.0, 255.0, 171.0, 219.0, 197.0, 198.0, 174.0, 209.0, 195.0, 252.0, 255.0, 249.0, 246.0, 255.0, 231.0, 255.0, 242.0, 246.0, 255.0, 248.0, 249.0, 255.0, 255.0, 249.0, 245.0, 179.0, 255.0, 228.0, 249.0, 194.0, 255.0, 255.0, 255.0, 243.0, 239.0, 255.0, 255.0, 238.0, 255.0, 255.0, 231.0, 207.0, 255.0, 254.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 241.0, 240.0, 255.0, 0.0, 0.0, 18.0, 0.0, 3.0, 18.0, 0.0, 197.0, 244.0, 229.0, 250.0, 0.0, 0.0, 18.0, 6.0, 0.0, 247.0, 255.0, 3.0, 12.0, 218.0, 255.0, 240.0, 255.0, 18.0, 0.0, 255.0, 14.0, 3.0, 176.0, 186.0, 191.0, 191.0, 0.0, 0.0, 170.0, 200.0, 188.0, 196.0, 216.0, 170.0, 0.0, 0.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 247.0, 241.0, 255.0, 255.0, 243.0, 0.0, 0.0, 250.0, 248.0, 248.0, 237.0, 250.0, 188.0, 255.0, 255.0, 10.0, 0.0, 254.0, 234.0, 242.0, 13.0, 13.0, 245.0, 0.0, 0.0, 246.0, 255.0, 242.0, 254.0, 0.0, 0.0, 255.0, 0.0, 0.0, 255.0, 255.0, 247.0, 0.0, 36.0, 247.0, 255.0, 251.0, 239.0, 245.0, 248.0, 12.0, 2.0, 13.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 253.0, 248.0, 255.0, 239.0, 255.0, 2.0, 15.0, 250.0, 255.0, 245.0, 255.0, 255.0, 173.0, 255.0, 0.0, 0.0, 255.0, 255.0, 247.0, 255.0, 247.0, 236.0, 249.0, 247.0, 0.0, 19.0, 247.0, 250.0, 1.0, 13.0, 250.0, 252.0, 0.0, 0.0, 255.0, 255.0, 0.0, 7.0, 233.0, 252.0, 239.0, 234.0, 255.0, 240.0, 0.0, 0.0, 0.0, 0.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 234.0, 0.0, 0.0, 249.0, 255.0, 231.0, 255.0, 243.0, 178.0, 255.0, 25.0, 0.0, 253.0, 230.0, 251.0, 255.0, 255.0, 189.0, 206.0, 188.0, 200.0, 0.0, 19.0, 0.0, 2.0, 159.0, 203.0, 191.0, 0.0, 8.0, 180.0, 11.0, 0.0, 170.0, 212.0, 184.0, 192.0, 194.0, 239.0, 10.0, 10.0, 255.0, 0.0, 10.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 239.0, 240.0, 255.0, 0.0, 0.0, 2.0, 0.0, 10.0, 0.0, 235.0, 213.0, 250.0, 0.0, 6.0, 251.0, 255.0, 255.0, 235.0, 255.0, 192.0, 243.0, 255.0, 251.0, 255.0, 0.0, 8.0, 255.0, 255.0, 250.0, 247.0, 0.0, 0.0, 10.0, 0.0, 255.0, 248.0, 255.0, 252.0, 255.0, 197.0, 6.0, 0.0, 252.0, 255.0, 0.0, 0.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 191.0, 192.0, 194.0, 198.0, 195.0, 4.0, 2.0, 247.0, 179.0, 207.0, 184.0, 182.0, 220.0, 219.0, 15.0, 0.0, 243.0, 255.0, 243.0, 0.0, 5.0, 0.0, 247.0, 255.0, 247.0, 255.0, 0.0, 0.0, 255.0, 246.0, 236.0, 255.0, 3.0, 3.0, 0.0, 0.0, 255.0, 250.0, 252.0, 255.0, 255.0, 0.0, 0.0, 255.0, 241.0, 254.0, 18.0, 0.0, 249.0, 255.0, 246.0, 255.0, 255.0, 251.0, 210.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 239.0, 240.0, 246.0, 8.0, 1.0, 255.0, 199.0, 232.0, 251.0, 255.0, 184.0, 255.0, 0.0, 0.0, 255.0, 234.0, 255.0, 255.0, 3.0, 11.0, 228.0, 255.0, 255.0, 239.0, 0.0, 4.0, 250.0, 254.0, 255.0, 251.0, 0.0, 0.0, 255.0, 12.0, 0.0, 254.0, 253.0, 246.0, 252.0, 5.0, 18.0, 0.0, 13.0, 0.0, 0.0, 21.0, 2.0, 233.0, 255.0, 235.0, 252.0, 251.0, 183.0, 255.0, 255.0, 255.0, 255.0, 255.0, 238.0, 254.0, 255.0, 255.0, 255.0, 0.0, 0.0, 253.0, 195.0, 255.0, 255.0, 253.0, 185.0, 244.0, 14.0, 0.0, 254.0, 245.0, 253.0, 244.0, 0.0, 0.0, 255.0, 255.0, 255.0, 255.0, 1.0, 0.0, 255.0, 246.0, 249.0, 248.0, 14.0, 0.0, 255.0, 241.0, 2.0, 21.0, 255.0, 249.0, 251.0, 196.0, 236.0, 255.0, 243.0, 253.0, 8.0, 0.0, 255.0, 255.0, 247.0, 255.0, 249.0, 252.0, 211.0, 239.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 249.0, 240.0, 245.0, 5.0, 31.0, 233.0, 190.0, 202.0, 179.0, 203.0, 197.0, 239.0, 255.0, 0.0, 6.0, 255.0, 255.0, 255.0, 13.0, 0.0, 255.0, 248.0, 236.0, 243.0, 0.0, 8.0, 241.0, 252.0, 255.0, 255.0, 0.0, 0.0, 255.0, 255.0, 249.0, 0.0, 0.0, 255.0, 247.0, 194.0, 255.0, 252.0, 255.0, 242.0, 1.0, 0.0, 243.0, 250.0, 242.0, 255.0, 255.0, 244.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 239.0, 186.0, 203.0, 190.0, 188.0, 2.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 193.0, 197.0, 159.0, 197.0, 0.0, 0.0, 0.0, 8.0, 0.0, 170.0, 250.0, 255.0, 255.0, 255.0, 6.0, 0.0, 244.0, 255.0, 247.0, 255.0, 6.0, 0.0, 248.0, 255.0, 248.0, 255.0, 0.0, 5.0, 255.0, 185.0, 238.0, 255.0, 251.0, 254.0, 9.0, 5.0, 247.0, 255.0, 248.0, 232.0, 255.0, 255.0, 182.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 188.0, 238.0, 243.0, 255.0, 239.0, 255.0, 255.0, 253.0, 250.0, 215.0, 248.0, 204.0, 247.0, 255.0, 249.0, 255.0, 212.0, 251.0, 248.0, 255.0, 212.0, 255.0, 241.0, 240.0, 255.0, 236.0, 255.0, 255.0, 236.0, 255.0, 240.0, 242.0, 179.0, 252.0, 255.0, 255.0, 236.0, 255.0, 235.0, 249.0, 171.0, 222.0, 187.0, 164.0, 217.0, 159.0, 255.0, 252.0, 236.0, 254.0, 255.0, 246.0, 247.0, 197.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 181.0, 255.0, 251.0, 245.0, 242.0, 255.0, 244.0, 255.0, 255.0, 177.0, 240.0, 200.0, 255.0, 241.0, 244.0, 241.0, 201.0, 255.0, 243.0, 242.0, 176.0, 181.0, 192.0, 200.0, 182.0, 186.0, 204.0, 198.0, 193.0, 198.0, 194.0, 197.0, 197.0, 255.0, 246.0, 255.0, 253.0, 255.0, 255.0, 255.0, 195.0, 250.0, 251.0, 245.0, 255.0, 186.0, 253.0, 255.0, 255.0, 249.0, 242.0, 242.0, 255.0, 202.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 179.0, 255.0, 255.0, 250.0, 255.0, 255.0, 246.0, 248.0, 250.0, 205.0, 249.0, 201.0, 227.0, 255.0, 254.0, 255.0, 173.0, 255.0, 255.0, 254.0, 255.0, 255.0, 252.0, 244.0, 211.0, 240.0, 255.0, 243.0, 251.0, 250.0, 255.0, 250.0, 255.0, 245.0, 245.0, 255.0, 252.0, 238.0, 255.0, 252.0, 191.0, 247.0, 254.0, 255.0, 250.0, 179.0, 255.0, 253.0, 251.0, 255.0, 255.0, 249.0, 247.0, 185.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 252.0, 247.0, 255.0, 254.0, 255.0, 198.0, 249.0, 251.0, 251.0, 255.0, 189.0, 182.0, 255.0, 247.0, 255.0, 252.0, 255.0, 247.0, 255.0, 255.0, 248.0, 255.0, 247.0, 255.0, 248.0, 248.0, 255.0, 250.0, 196.0, 253.0, 194.0, 250.0, 213.0, 227.0, 255.0, 243.0, 255.0, 244.0, 252.0, 255.0, 249.0, 255.0, 248.0, 255.0, 180.0, 249.0, 255.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 238.0, 251.0, 250.0, 167.0, 255.0, 238.0, 255.0, 241.0, 190.0, 201.0, 249.0, 255.0, 230.0, 255.0, 242.0, 254.0, 251.0, 247.0, 248.0, 255.0, 255.0, 250.0, 255.0, 247.0, 243.0, 249.0, 191.0, 187.0, 201.0, 234.0, 166.0, 255.0, 248.0, 251.0, 255.0, 255.0, 255.0, 255.0, 249.0, 251.0, 250.0, 240.0, 202.0, 255.0, 238.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 240.0, 246.0, 255.0, 255.0, 255.0, 172.0, 219.0, 207.0, 167.0, 212.0, 177.0, 192.0, 249.0, 241.0, 255.0, 248.0, 255.0, 241.0, 255.0, 240.0, 255.0, 255.0, 245.0, 255.0, 253.0, 241.0, 255.0, 249.0, 183.0, 255.0, 243.0, 255.0, 212.0, 235.0, 255.0, 249.0, 249.0, 247.0, 246.0, 243.0, 255.0, 235.0, 255.0, 255.0, 202.0, 255.0, 255.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 255.0, 255.0, 237.0, 236.0, 206.0, 0.0, 0.0, 8.0, 16.0, 8.0, 176.0, 248.0, 1.0, 0.0, 0.0, 4.0, 5.0, 0.0, 1.0, 243.0, 255.0, 244.0, 252.0, 2.0, 0.0, 7.0, 0.0, 2.0, 253.0, 241.0, 218.0, 0.0, 12.0, 0.0, 0.0, 10.0, 184.0, 197.0, 187.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 237.0, 255.0, 244.0, 255.0, 255.0, 255.0, 0.0, 0.0, 246.0, 246.0, 246.0, 0.0, 0.0, 255.0, 9.0, 5.0, 246.0, 255.0, 236.0, 244.0, 4.0, 12.0, 248.0, 249.0, 4.0, 1.0, 250.0, 244.0, 255.0, 0.0, 0.0, 255.0, 27.0, 0.0, 255.0, 255.0, 240.0, 0.0, 5.0, 253.0, 252.0, 19.0, 0.0, 241.0, 255.0, 255.0, 250.0, 255.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 253.0, 0.0, 10.0, 255.0, 255.0, 255.0, 255.0, 244.0, 200.0, 254.0, 0.0, 0.0, 255.0, 237.0, 255.0, 253.0, 7.0, 0.0, 236.0, 25.0, 0.0, 255.0, 255.0, 239.0, 251.0, 229.0, 0.0, 246.0, 235.0, 238.0, 255.0, 255.0, 240.0, 197.0, 0.0, 0.0, 254.0, 0.0, 0.0, 242.0, 238.0, 255.0, 184.0, 186.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 242.0, 255.0, 0.0, 0.0, 255.0, 255.0, 217.0, 255.0, 255.0, 186.0, 255.0, 10.0, 0.0, 238.0, 255.0, 255.0, 246.0, 21.0, 0.0, 221.0, 0.0, 0.0, 187.0, 195.0, 191.0, 189.0, 169.0, 175.0, 224.0, 209.0, 183.0, 186.0, 203.0, 188.0, 5.0, 15.0, 184.0, 192.0, 0.0, 10.0, 255.0, 0.0, 0.0, 9.0, 253.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 255.0, 236.0, 14.0, 0.0, 250.0, 253.0, 255.0, 255.0, 235.0, 198.0, 249.0, 0.0, 0.0, 3.0, 7.0, 0.0, 6.0, 0.0, 194.0, 240.0, 18.0, 2.0, 244.0, 255.0, 248.0, 255.0, 255.0, 255.0, 233.0, 250.0, 200.0, 255.0, 0.0, 2.0, 7.0, 247.0, 252.0, 255.0, 0.0, 3.0, 0.0, 252.0, 255.0, 0.0, 8.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 190.0, 196.0, 179.0, 201.0, 195.0, 0.0, 7.0, 255.0, 187.0, 178.0, 11.0, 0.0, 4.0, 255.0, 0.0, 7.0, 0.0, 0.0, 0.0, 255.0, 244.0, 210.0, 238.0, 0.0, 10.0, 246.0, 255.0, 255.0, 245.0, 247.0, 255.0, 246.0, 242.0, 199.0, 255.0, 255.0, 253.0, 0.0, 0.0, 255.0, 255.0, 192.0, 244.0, 255.0, 255.0, 255.0, 190.0, 4.0, 0.0, 255.0, 244.0, 255.0, 255.0, 244.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 238.0, 255.0, 0.0, 0.0, 255.0, 189.0, 255.0, 246.0, 18.0, 0.0, 255.0, 6.0, 0.0, 255.0, 255.0, 7.0, 2.0, 254.0, 178.0, 249.0, 5.0, 0.0, 255.0, 232.0, 254.0, 255.0, 243.0, 252.0, 255.0, 255.0, 183.0, 244.0, 244.0, 235.0, 255.0, 0.0, 0.0, 255.0, 179.0, 255.0, 236.0, 251.0, 254.0, 190.0, 0.0, 13.0, 255.0, 252.0, 244.0, 241.0, 255.0, 201.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 236.0, 255.0, 251.0, 252.0, 0.0, 0.0, 252.0, 186.0, 239.0, 255.0, 0.0, 12.0, 255.0, 0.0, 0.0, 242.0, 246.0, 255.0, 0.0, 0.0, 193.0, 255.0, 0.0, 7.0, 255.0, 255.0, 244.0, 248.0, 255.0, 0.0, 255.0, 253.0, 176.0, 255.0, 255.0, 255.0, 241.0, 3.0, 12.0, 234.0, 27.0, 6.0, 255.0, 254.0, 255.0, 173.0, 8.0, 0.0, 217.0, 255.0, 255.0, 248.0, 255.0, 190.0, 246.0, 255.0, 255.0, 255.0, 255.0, 249.0, 253.0, 251.0, 244.0, 251.0, 255.0, 0.0, 8.0, 197.0, 202.0, 173.0, 1.0, 0.0, 240.0, 1.0, 3.0, 255.0, 255.0, 248.0, 255.0, 10.0, 0.0, 252.0, 255.0, 0.0, 3.0, 255.0, 255.0, 240.0, 6.0, 11.0, 245.0, 0.0, 10.0, 255.0, 231.0, 253.0, 6.0, 0.0, 248.0, 255.0, 190.0, 0.0, 0.0, 255.0, 252.0, 13.0, 0.0, 250.0, 255.0, 253.0, 250.0, 247.0, 255.0, 189.0, 254.0, 255.0, 255.0, 255.0, 255.0, 242.0, 194.0, 209.0, 195.0, 188.0, 179.0, 213.0, 0.0, 0.0, 0.0, 0.0, 0.0, 207.0, 195.0, 0.0, 10.0, 188.0, 180.0, 200.0, 186.0, 0.0, 6.0, 255.0, 241.0, 255.0, 4.0, 0.0, 5.0, 6.0, 1.0, 233.0, 255.0, 250.0, 11.0, 0.0, 7.0, 6.0, 0.0, 255.0, 255.0, 255.0, 165.0, 255.0, 14.0, 0.0, 0.0, 0.0, 246.0, 244.0, 249.0, 247.0, 255.0, 249.0, 250.0, 181.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 194.0, 232.0, 246.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 202.0, 255.0, 187.0, 255.0, 255.0, 252.0, 253.0, 203.0, 255.0, 255.0, 255.0, 203.0, 247.0, 245.0, 245.0, 240.0, 255.0, 255.0, 250.0, 255.0, 255.0, 235.0, 238.0, 186.0, 249.0, 255.0, 250.0, 248.0, 255.0, 230.0, 237.0, 199.0, 187.0, 186.0, 183.0, 188.0, 188.0, 254.0, 255.0, 251.0, 239.0, 250.0, 253.0, 255.0, 192.0, 248.0, 255.0, 255.0, 255.0, 255.0, 253.0, 191.0, 255.0, 237.0, 251.0, 239.0, 241.0, 255.0, 249.0, 230.0, 186.0, 255.0, 181.0, 229.0, 255.0, 244.0, 255.0, 180.0, 251.0, 234.0, 251.0, 212.0, 161.0, 215.0, 206.0, 184.0, 170.0, 198.0, 199.0, 183.0, 194.0, 205.0, 199.0, 214.0, 233.0, 247.0, 255.0, 249.0, 254.0, 255.0, 255.0, 185.0, 246.0, 255.0, 255.0, 245.0, 191.0, 255.0, 244.0, 255.0, 255.0, 255.0, 243.0, 249.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 162.0, 255.0, 255.0, 252.0, 252.0, 255.0, 242.0, 255.0, 254.0, 201.0, 241.0, 203.0, 242.0, 255.0, 244.0, 254.0, 196.0, 255.0, 255.0, 252.0, 249.0, 253.0, 244.0, 241.0, 207.0, 245.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 236.0, 255.0, 255.0, 236.0, 255.0, 255.0, 251.0, 248.0, 191.0, 255.0, 246.0, 255.0, 246.0, 194.0, 246.0, 255.0, 255.0, 246.0, 254.0, 255.0, 255.0, 197.0, 247.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 252.0, 247.0, 255.0, 254.0, 255.0, 198.0, 249.0, 253.0, 255.0, 244.0, 194.0, 192.0, 255.0, 245.0, 255.0, 255.0, 247.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 251.0, 255.0, 245.0, 255.0, 254.0, 192.0, 242.0, 195.0, 252.0, 202.0, 241.0, 248.0, 246.0, 253.0, 255.0, 255.0, 246.0, 255.0, 241.0, 255.0, 242.0, 184.0, 255.0, 244.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 238.0, 251.0, 250.0, 167.0, 255.0, 232.0, 255.0, 246.0, 197.0, 183.0, 255.0, 255.0, 236.0, 253.0, 255.0, 240.0, 255.0, 251.0, 253.0, 253.0, 249.0, 238.0, 247.0, 244.0, 247.0, 255.0, 170.0, 215.0, 200.0, 252.0, 164.0, 255.0, 255.0, 255.0, 255.0, 226.0, 255.0, 255.0, 255.0, 245.0, 255.0, 249.0, 203.0, 239.0, 254.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 240.0, 246.0, 255.0, 255.0, 255.0, 172.0, 219.0, 195.0, 196.0, 186.0, 184.0, 192.0, 255.0, 249.0, 255.0, 249.0, 251.0, 255.0, 235.0, 242.0, 255.0, 251.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 185.0, 250.0, 234.0, 245.0, 212.0, 251.0, 242.0, 240.0, 252.0, 255.0, 249.0, 241.0, 255.0, 240.0, 243.0, 245.0, 198.0, 255.0, 254.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 255.0, 255.0, 237.0, 236.0, 206.0, 0.0, 6.0, 0.0, 17.0, 250.0, 196.0, 239.0, 251.0, 247.0, 0.0, 0.0, 4.0, 0.0, 254.0, 255.0, 247.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 11.0, 237.0, 255.0, 10.0, 0.0, 195.0, 210.0, 200.0, 170.0, 9.0, 3.0, 194.0, 195.0, 190.0, 187.0, 13.0, 0.0, 238.0, 255.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 237.0, 255.0, 244.0, 255.0, 255.0, 255.0, 0.0, 0.0, 250.0, 249.0, 0.0, 0.0, 191.0, 255.0, 249.0, 0.0, 0.0, 255.0, 243.0, 8.0, 0.0, 255.0, 255.0, 0.0, 7.0, 245.0, 255.0, 253.0, 241.0, 191.0, 255.0, 245.0, 0.0, 11.0, 241.0, 255.0, 240.0, 197.0, 9.0, 0.0, 231.0, 253.0, 255.0, 14.0, 0.0, 0.0, 255.0, 244.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 253.0, 0.0, 10.0, 255.0, 254.0, 255.0, 255.0, 13.0, 198.0, 241.0, 0.0, 0.0, 255.0, 232.0, 252.0, 247.0, 0.0, 14.0, 245.0, 0.0, 3.0, 232.0, 255.0, 250.0, 255.0, 183.0, 255.0, 252.0, 0.0, 1.0, 248.0, 252.0, 243.0, 209.0, 0.0, 0.0, 255.0, 249.0, 0.0, 0.0, 2.0, 4.0, 203.0, 182.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 242.0, 255.0, 0.0, 0.0, 255.0, 252.0, 248.0, 242.0, 252.0, 171.0, 255.0, 8.0, 15.0, 250.0, 252.0, 255.0, 255.0, 12.0, 0.0, 193.0, 17.0, 0.0, 197.0, 6.0, 0.0, 0.0, 202.0, 191.0, 196.0, 0.0, 0.0, 201.0, 202.0, 205.0, 179.0, 3.0, 2.0, 199.0, 172.0, 255.0, 255.0, 0.0, 17.0, 187.0, 255.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 255.0, 236.0, 14.0, 0.0, 250.0, 0.0, 8.0, 5.0, 238.0, 217.0, 253.0, 0.0, 0.0, 255.0, 255.0, 252.0, 246.0, 4.0, 0.0, 255.0, 0.0, 1.0, 6.0, 246.0, 255.0, 1.0, 0.0, 255.0, 245.0, 6.0, 0.0, 255.0, 0.0, 8.0, 250.0, 0.0, 1.0, 252.0, 212.0, 248.0, 253.0, 4.0, 0.0, 187.0, 251.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 197.0, 196.0, 181.0, 194.0, 196.0, 2.0, 1.0, 2.0, 189.0, 196.0, 0.0, 0.0, 195.0, 253.0, 0.0, 1.0, 255.0, 255.0, 248.0, 245.0, 0.0, 0.0, 255.0, 244.0, 254.0, 251.0, 245.0, 255.0, 250.0, 2.0, 12.0, 242.0, 5.0, 0.0, 255.0, 0.0, 0.0, 255.0, 0.0, 1.0, 255.0, 204.0, 236.0, 255.0, 0.0, 0.0, 207.0, 250.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 250.0, 255.0, 238.0, 255.0, 0.0, 0.0, 250.0, 191.0, 238.0, 255.0, 22.0, 0.0, 255.0, 0.0, 0.0, 251.0, 242.0, 255.0, 255.0, 0.0, 4.0, 235.0, 255.0, 255.0, 255.0, 255.0, 252.0, 247.0, 0.0, 0.0, 255.0, 0.0, 1.0, 249.0, 8.0, 2.0, 248.0, 8.0, 0.0, 251.0, 179.0, 255.0, 251.0, 0.0, 10.0, 182.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 254.0, 246.0, 247.0, 0.0, 2.0, 255.0, 189.0, 255.0, 255.0, 0.0, 3.0, 255.0, 0.0, 2.0, 239.0, 255.0, 251.0, 236.0, 3.0, 3.0, 255.0, 0.0, 0.0, 255.0, 245.0, 255.0, 255.0, 22.0, 0.0, 255.0, 0.0, 4.0, 1.0, 1.0, 0.0, 2.0, 15.0, 0.0, 248.0, 204.0, 244.0, 249.0, 11.0, 0.0, 187.0, 236.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 236.0, 255.0, 253.0, 249.0, 241.0, 255.0, 8.0, 0.0, 200.0, 179.0, 0.0, 0.0, 202.0, 249.0, 249.0, 13.0, 0.0, 252.0, 248.0, 19.0, 0.0, 195.0, 255.0, 255.0, 1.0, 9.0, 250.0, 244.0, 0.0, 0.0, 255.0, 251.0, 13.0, 0.0, 0.0, 248.0, 241.0, 0.0, 0.0, 5.0, 253.0, 191.0, 255.0, 253.0, 0.0, 3.0, 208.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 179.0, 204.0, 174.0, 207.0, 209.0, 198.0, 0.0, 0.0, 4.0, 7.0, 253.0, 192.0, 179.0, 186.0, 173.0, 5.0, 3.0, 0.0, 0.0, 196.0, 191.0, 244.0, 255.0, 255.0, 0.0, 14.0, 0.0, 3.0, 255.0, 252.0, 255.0, 0.0, 7.0, 244.0, 255.0, 255.0, 240.0, 11.0, 0.0, 255.0, 175.0, 5.0, 0.0, 5.0, 0.0, 2.0, 0.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 183.0, 245.0, 254.0, 255.0, 240.0, 251.0, 255.0, 251.0, 255.0, 181.0, 241.0, 203.0, 248.0, 255.0, 255.0, 248.0, 215.0, 228.0, 254.0, 255.0, 202.0, 245.0, 247.0, 246.0, 249.0, 252.0, 251.0, 255.0, 225.0, 255.0, 241.0, 228.0, 213.0, 252.0, 243.0, 244.0, 255.0, 250.0, 255.0, 255.0, 162.0, 205.0, 180.0, 171.0, 213.0, 178.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 251.0, 198.0, 243.0, 255.0, 248.0, 235.0, 255.0, 238.0, 250.0, 238.0, 199.0, 252.0, 187.0, 255.0, 243.0, 248.0, 242.0, 189.0, 255.0, 243.0, 240.0, 179.0, 205.0, 194.0, 197.0, 170.0, 194.0, 208.0, 182.0, 207.0, 201.0, 195.0, 206.0, 193.0, 237.0, 255.0, 255.0, 255.0, 239.0, 248.0, 251.0, 192.0, 255.0, 255.0, 254.0, 250.0, 190.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 187.0, 241.0, 255.0, 250.0, 255.0, 247.0, 255.0, 255.0, 255.0, 190.0, 248.0, 202.0, 232.0, 255.0, 246.0, 255.0, 190.0, 248.0, 253.0, 255.0, 255.0, 234.0, 255.0, 253.0, 212.0, 238.0, 248.0, 255.0, 237.0, 245.0, 255.0, 254.0, 252.0, 244.0, 252.0, 247.0, 245.0, 255.0, 254.0, 255.0, 195.0, 248.0, 249.0, 255.0, 253.0, 182.0, 254.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 255.0, 250.0, 255.0, 250.0, 255.0, 198.0, 255.0, 249.0, 255.0, 254.0, 185.0, 191.0, 255.0, 250.0, 254.0, 255.0, 239.0, 255.0, 255.0, 255.0, 254.0, 250.0, 255.0, 251.0, 255.0, 246.0, 252.0, 255.0, 193.0, 224.0, 204.0, 254.0, 186.0, 247.0, 250.0, 250.0, 240.0, 255.0, 244.0, 255.0, 254.0, 253.0, 247.0, 255.0, 198.0, 255.0, 247.0, 189.0, 255.0, 249.0, 253.0, 255.0, 242.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 254.0, 251.0, 255.0, 255.0, 255.0, 182.0, 234.0, 255.0, 244.0, 249.0, 183.0, 203.0, 253.0, 236.0, 255.0, 254.0, 255.0, 255.0, 229.0, 246.0, 255.0, 236.0, 255.0, 249.0, 255.0, 255.0, 235.0, 227.0, 190.0, 222.0, 193.0, 246.0, 181.0, 248.0, 255.0, 244.0, 255.0, 249.0, 255.0, 255.0, 242.0, 244.0, 255.0, 247.0, 194.0, 242.0, 255.0, 196.0, 255.0, 255.0, 249.0, 255.0, 255.0, 196.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 255.0, 255.0, 254.0, 175.0, 222.0, 187.0, 194.0, 196.0, 207.0, 167.0, 255.0, 255.0, 249.0, 253.0, 241.0, 247.0, 255.0, 255.0, 235.0, 255.0, 253.0, 249.0, 228.0, 255.0, 255.0, 255.0, 190.0, 255.0, 237.0, 255.0, 191.0, 250.0, 245.0, 255.0, 252.0, 236.0, 240.0, 242.0, 255.0, 248.0, 255.0, 247.0, 188.0, 255.0, 239.0, 184.0, 238.0, 255.0, 255.0, 255.0, 251.0, 192.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 249.0, 255.0, 252.0, 255.0, 186.0, 240.0, 0.0, 0.0, 0.0, 8.0, 183.0, 248.0, 239.0, 255.0, 3.0, 0.0, 7.0, 0.0, 255.0, 248.0, 245.0, 237.0, 246.0, 23.0, 0.0, 5.0, 0.0, 190.0, 242.0, 255.0, 0.0, 6.0, 21.0, 0.0, 0.0, 3.0, 10.0, 2.0, 193.0, 177.0, 194.0, 0.0, 0.0, 1.0, 0.0, 0.0, 201.0, 255.0, 251.0, 245.0, 252.0, 244.0, 192.0, 253.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 252.0, 255.0, 250.0, 255.0, 194.0, 255.0, 234.0, 255.0, 0.0, 1.0, 211.0, 255.0, 243.0, 7.0, 1.0, 251.0, 250.0, 0.0, 0.0, 255.0, 255.0, 255.0, 13.0, 0.0, 253.0, 255.0, 0.0, 5.0, 255.0, 253.0, 244.0, 255.0, 228.0, 255.0, 249.0, 196.0, 0.0, 1.0, 255.0, 254.0, 0.0, 14.0, 248.0, 253.0, 254.0, 17.0, 7.0, 231.0, 254.0, 249.0, 255.0, 255.0, 206.0, 234.0, 255.0, 255.0, 255.0, 255.0, 247.0, 254.0, 255.0, 255.0, 252.0, 254.0, 192.0, 255.0, 255.0, 255.0, 0.0, 11.0, 175.0, 231.0, 0.0, 2.0, 250.0, 252.0, 244.0, 255.0, 0.0, 245.0, 238.0, 0.0, 0.0, 246.0, 255.0, 254.0, 242.0, 0.0, 0.0, 250.0, 255.0, 236.0, 254.0, 255.0, 229.0, 198.0, 5.0, 0.0, 245.0, 1.0, 8.0, 248.0, 255.0, 242.0, 204.0, 162.0, 0.0, 195.0, 196.0, 181.0, 195.0, 197.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 254.0, 254.0, 255.0, 252.0, 255.0, 191.0, 252.0, 255.0, 216.0, 0.0, 0.0, 205.0, 255.0, 9.0, 0.0, 255.0, 244.0, 247.0, 252.0, 255.0, 180.0, 234.0, 191.0, 190.0, 178.0, 197.0, 189.0, 193.0, 14.0, 8.0, 193.0, 187.0, 167.0, 201.0, 220.0, 191.0, 13.0, 0.0, 193.0, 175.0, 17.0, 0.0, 245.0, 255.0, 254.0, 205.0, 255.0, 248.0, 255.0, 241.0, 245.0, 255.0, 249.0, 181.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 253.0, 250.0, 255.0, 195.0, 255.0, 251.0, 255.0, 5.0, 0.0, 181.0, 244.0, 3.0, 0.0, 255.0, 0.0, 11.0, 3.0, 244.0, 200.0, 236.0, 255.0, 254.0, 255.0, 237.0, 255.0, 0.0, 0.0, 255.0, 244.0, 255.0, 204.0, 254.0, 249.0, 1.0, 0.0, 255.0, 254.0, 255.0, 0.0, 0.0, 255.0, 255.0, 242.0, 186.0, 252.0, 254.0, 238.0, 251.0, 255.0, 247.0, 255.0, 187.0, 255.0, 255.0, 255.0, 255.0, 255.0, 191.0, 197.0, 184.0, 199.0, 186.0, 188.0, 205.0, 248.0, 177.0, 198.0, 0.0, 6.0, 195.0, 245.0, 8.0, 0.0, 0.0, 255.0, 254.0, 1.0, 0.0, 198.0, 244.0, 250.0, 246.0, 255.0, 247.0, 22.0, 1.0, 252.0, 251.0, 254.0, 254.0, 190.0, 255.0, 2.0, 0.0, 255.0, 245.0, 255.0, 255.0, 0.0, 3.0, 244.0, 255.0, 242.0, 191.0, 255.0, 255.0, 242.0, 255.0, 243.0, 255.0, 242.0, 189.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 247.0, 253.0, 240.0, 255.0, 242.0, 247.0, 255.0, 202.0, 241.0, 0.0, 0.0, 186.0, 255.0, 1.0, 5.0, 255.0, 252.0, 246.0, 246.0, 6.0, 14.0, 235.0, 255.0, 255.0, 246.0, 11.0, 0.0, 251.0, 254.0, 243.0, 255.0, 255.0, 172.0, 0.0, 6.0, 240.0, 255.0, 248.0, 245.0, 255.0, 0.0, 4.0, 255.0, 248.0, 250.0, 206.0, 240.0, 255.0, 255.0, 241.0, 248.0, 253.0, 255.0, 207.0, 239.0, 255.0, 255.0, 255.0, 255.0, 247.0, 245.0, 252.0, 249.0, 248.0, 255.0, 0.0, 255.0, 196.0, 250.0, 3.0, 8.0, 204.0, 228.0, 0.0, 3.0, 242.0, 255.0, 255.0, 255.0, 8.0, 0.0, 247.0, 251.0, 253.0, 2.0, 0.0, 255.0, 255.0, 252.0, 255.0, 252.0, 239.0, 29.0, 0.0, 255.0, 255.0, 243.0, 244.0, 255.0, 234.0, 9.0, 0.0, 255.0, 249.0, 240.0, 191.0, 255.0, 0.0, 243.0, 255.0, 255.0, 251.0, 252.0, 191.0, 255.0, 255.0, 255.0, 255.0, 255.0, 252.0, 249.0, 255.0, 250.0, 236.0, 244.0, 10.0, 13.0, 187.0, 13.0, 0.0, 203.0, 197.0, 243.0, 255.0, 0.0, 3.0, 255.0, 245.0, 11.0, 0.0, 209.0, 255.0, 254.0, 0.0, 0.0, 255.0, 248.0, 218.0, 255.0, 255.0, 244.0, 4.0, 0.0, 255.0, 250.0, 255.0, 253.0, 255.0, 239.0, 255.0, 189.0, 10.0, 0.0, 254.0, 255.0, 202.0, 0.0, 2.0, 255.0, 254.0, 243.0, 255.0, 255.0, 186.0, 255.0, 255.0, 255.0, 255.0, 255.0, 232.0, 191.0, 209.0, 186.0, 205.0, 200.0, 192.0, 0.0, 0.0, 1.0, 180.0, 255.0, 188.0, 202.0, 168.0, 187.0, 0.0, 0.0, 4.0, 0.0, 191.0, 180.0, 254.0, 0.0, 0.0, 4.0, 6.0, 0.0, 20.0, 1.0, 0.0, 255.0, 13.0, 0.0, 243.0, 255.0, 234.0, 255.0, 255.0, 252.0, 255.0, 180.0, 255.0, 1.0, 3.0, 0.0, 0.0, 0.0, 241.0, 255.0, 245.0, 255.0, 255.0, 255.0, 193.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 192.0, 249.0, 227.0, 252.0, 255.0, 245.0, 255.0, 240.0, 253.0, 195.0, 250.0, 199.0, 251.0, 246.0, 255.0, 251.0, 224.0, 238.0, 248.0, 252.0, 220.0, 255.0, 255.0, 255.0, 242.0, 245.0, 255.0, 250.0, 236.0, 248.0, 254.0, 230.0, 196.0, 255.0, 254.0, 255.0, 254.0, 249.0, 250.0, 234.0, 184.0, 205.0, 174.0, 175.0, 207.0, 178.0, 255.0, 255.0, 242.0, 255.0, 255.0, 255.0, 247.0, 182.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 176.0, 255.0, 249.0, 255.0, 247.0, 244.0, 255.0, 248.0, 255.0, 181.0, 244.0, 196.0, 254.0, 249.0, 254.0, 249.0, 183.0, 241.0, 255.0, 248.0, 191.0, 161.0, 185.0, 200.0, 174.0, 183.0, 196.0, 202.0, 195.0, 213.0, 189.0, 203.0, 202.0, 245.0, 241.0, 252.0, 255.0, 241.0, 255.0, 255.0, 182.0, 250.0, 255.0, 255.0, 244.0, 188.0, 255.0, 247.0, 254.0, 255.0, 237.0, 255.0, 255.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 187.0, 253.0, 255.0, 254.0, 254.0, 251.0, 248.0, 255.0, 238.0, 190.0, 255.0, 192.0, 234.0, 255.0, 240.0, 255.0, 162.0, 255.0, 242.0, 245.0, 255.0, 255.0, 255.0, 243.0, 224.0, 229.0, 255.0, 249.0, 239.0, 255.0, 255.0, 252.0, 247.0, 249.0, 253.0, 255.0, 255.0, 243.0, 255.0, 247.0, 190.0, 255.0, 250.0, 246.0, 255.0, 180.0, 249.0, 255.0, 244.0, 252.0, 255.0, 246.0, 255.0, 196.0, 248.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],
\ No newline at end of file
diff --git a/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/output.txt b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/output.txt
new file mode 100644
index 0000000..e3b62b9
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/output.txt
@@ -0,0 +1 @@
+['EGYK4', 'GRC35', '6O5W1', 'J627C']
\ No newline at end of file
diff --git a/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/teste.py b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/teste.py
new file mode 100644
index 0000000..91dce5d
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/teste.py
@@ -0,0 +1,37 @@
+import os
+
+directory = '/home/murillo/anaconda3/git/Hackerrank-Artificial-Intelligence/Digital-Image-Analysis/sampleCaptchas/input'
+limit = 4
+
+with open("input.txt", "w") as w:
+ start = 1
+ for f in sorted(os.listdir(directory)):
+ if start <= limit:
+ if os.path.isfile(os.path.join(directory, f)):
+ filename = "{}/{}".format(directory, f)
+ print(filename)
+ if os.path.splitext(filename)[1][1:] in 'txt':
+ with open(filename, "r") as f:
+ next(f)
+ pixels = []
+ for line in f:
+ for item in line.split(" "):
+ vals = [int(val) for val in item.split(",")]
+ pixels.append(sum(vals)/len(vals))
+ w.write(str(pixels) + ",")
+ start = start + 1
+
+directory = '/home/murillo/anaconda3/git/Hackerrank-Artificial-Intelligence/Digital-Image-Analysis/sampleCaptchas/output'
+with open("output.txt", "w") as w:
+ pixels = []
+ start = 1
+ for f in sorted(os.listdir(directory)):
+ if start <= limit:
+ if os.path.isfile(os.path.join(directory, f)):
+ filename = "{}/{}".format(directory, f)
+ print(filename)
+ if os.path.splitext(filename)[1][1:] in 'txt':
+ with open(filename, "r") as f:
+ pixels.append(f.readline().strip())
+ start = start + 1
+ w.write(str(pixels))
\ No newline at end of file
diff --git a/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/the-captcha-cracker-final.py b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/the-captcha-cracker-final.py
new file mode 100644
index 0000000..6ab93b4
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/test-the-captcha/the-captcha-cracker-final.py
@@ -0,0 +1,29 @@
+# Import libraries
+import os
+import sys
+import numpy as np
+from sklearn.linear_model import LogisticRegression
+warnings.filterwarnings("ignore", category=DeprecationWarning)
+val_input = [[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 255.0, 253.0, 244.0, 246.0, 255.0, 197.0, 253.0, 254.0, 255.0, 255.0, 181.0, 194.0, 253.0, 255.0, 249.0, 239.0, 255.0, 255.0, 245.0, 255.0, 247.0, 255.0, 255.0, 255.0, 255.0, 254.0, 241.0, 255.0, 193.0, 232.0, 199.0, 255.0, 176.0, 251.0, 255.0, 238.0, 252.0, 255.0, 254.0, 255.0, 249.0, 255.0, 245.0, 253.0, 188.0, 251.0, 255.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 248.0, 185.0, 241.0, 235.0, 255.0, 246.0, 200.0, 193.0, 245.0, 246.0, 255.0, 255.0, 232.0, 255.0, 253.0, 242.0, 255.0, 246.0, 255.0, 255.0, 223.0, 255.0, 255.0, 241.0, 183.0, 236.0, 191.0, 241.0, 203.0, 250.0, 236.0, 247.0, 255.0, 243.0, 254.0, 248.0, 255.0, 249.0, 255.0, 253.0, 192.0, 250.0, 245.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 244.0, 251.0, 255.0, 255.0, 238.0, 255.0, 171.0, 219.0, 197.0, 198.0, 174.0, 209.0, 195.0, 252.0, 255.0, 249.0, 246.0, 255.0, 231.0, 255.0, 242.0, 246.0, 255.0, 248.0, 249.0, 255.0, 255.0, 249.0, 245.0, 179.0, 255.0, 228.0, 249.0, 194.0, 255.0, 255.0, 255.0, 243.0, 239.0, 255.0, 255.0, 238.0, 255.0, 255.0, 231.0, 207.0, 255.0, 254.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 241.0, 240.0, 255.0, 0.0, 0.0, 18.0, 0.0, 3.0, 18.0, 0.0, 197.0, 244.0, 229.0, 250.0, 0.0, 0.0, 18.0, 6.0, 0.0, 247.0, 255.0, 3.0, 12.0, 218.0, 255.0, 240.0, 255.0, 18.0, 0.0, 255.0, 14.0, 3.0, 176.0, 186.0, 191.0, 191.0, 0.0, 0.0, 170.0, 200.0, 188.0, 196.0, 216.0, 170.0, 0.0, 0.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 247.0, 241.0, 255.0, 255.0, 243.0, 0.0, 0.0, 250.0, 248.0, 248.0, 237.0, 250.0, 188.0, 255.0, 255.0, 10.0, 0.0, 254.0, 234.0, 242.0, 13.0, 13.0, 245.0, 0.0, 0.0, 246.0, 255.0, 242.0, 254.0, 0.0, 0.0, 255.0, 0.0, 0.0, 255.0, 255.0, 247.0, 0.0, 36.0, 247.0, 255.0, 251.0, 239.0, 245.0, 248.0, 12.0, 2.0, 13.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 253.0, 248.0, 255.0, 239.0, 255.0, 2.0, 15.0, 250.0, 255.0, 245.0, 255.0, 255.0, 173.0, 255.0, 0.0, 0.0, 255.0, 255.0, 247.0, 255.0, 247.0, 236.0, 249.0, 247.0, 0.0, 19.0, 247.0, 250.0, 1.0, 13.0, 250.0, 252.0, 0.0, 0.0, 255.0, 255.0, 0.0, 7.0, 233.0, 252.0, 239.0, 234.0, 255.0, 240.0, 0.0, 0.0, 0.0, 0.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 234.0, 0.0, 0.0, 249.0, 255.0, 231.0, 255.0, 243.0, 178.0, 255.0, 25.0, 0.0, 253.0, 230.0, 251.0, 255.0, 255.0, 189.0, 206.0, 188.0, 200.0, 0.0, 19.0, 0.0, 2.0, 159.0, 203.0, 191.0, 0.0, 8.0, 180.0, 11.0, 0.0, 170.0, 212.0, 184.0, 192.0, 194.0, 239.0, 10.0, 10.0, 255.0, 0.0, 10.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 239.0, 240.0, 255.0, 0.0, 0.0, 2.0, 0.0, 10.0, 0.0, 235.0, 213.0, 250.0, 0.0, 6.0, 251.0, 255.0, 255.0, 235.0, 255.0, 192.0, 243.0, 255.0, 251.0, 255.0, 0.0, 8.0, 255.0, 255.0, 250.0, 247.0, 0.0, 0.0, 10.0, 0.0, 255.0, 248.0, 255.0, 252.0, 255.0, 197.0, 6.0, 0.0, 252.0, 255.0, 0.0, 0.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 191.0, 192.0, 194.0, 198.0, 195.0, 4.0, 2.0, 247.0, 179.0, 207.0, 184.0, 182.0, 220.0, 219.0, 15.0, 0.0, 243.0, 255.0, 243.0, 0.0, 5.0, 0.0, 247.0, 255.0, 247.0, 255.0, 0.0, 0.0, 255.0, 246.0, 236.0, 255.0, 3.0, 3.0, 0.0, 0.0, 255.0, 250.0, 252.0, 255.0, 255.0, 0.0, 0.0, 255.0, 241.0, 254.0, 18.0, 0.0, 249.0, 255.0, 246.0, 255.0, 255.0, 251.0, 210.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 239.0, 240.0, 246.0, 8.0, 1.0, 255.0, 199.0, 232.0, 251.0, 255.0, 184.0, 255.0, 0.0, 0.0, 255.0, 234.0, 255.0, 255.0, 3.0, 11.0, 228.0, 255.0, 255.0, 239.0, 0.0, 4.0, 250.0, 254.0, 255.0, 251.0, 0.0, 0.0, 255.0, 12.0, 0.0, 254.0, 253.0, 246.0, 252.0, 5.0, 18.0, 0.0, 13.0, 0.0, 0.0, 21.0, 2.0, 233.0, 255.0, 235.0, 252.0, 251.0, 183.0, 255.0, 255.0, 255.0, 255.0, 255.0, 238.0, 254.0, 255.0, 255.0, 255.0, 0.0, 0.0, 253.0, 195.0, 255.0, 255.0, 253.0, 185.0, 244.0, 14.0, 0.0, 254.0, 245.0, 253.0, 244.0, 0.0, 0.0, 255.0, 255.0, 255.0, 255.0, 1.0, 0.0, 255.0, 246.0, 249.0, 248.0, 14.0, 0.0, 255.0, 241.0, 2.0, 21.0, 255.0, 249.0, 251.0, 196.0, 236.0, 255.0, 243.0, 253.0, 8.0, 0.0, 255.0, 255.0, 247.0, 255.0, 249.0, 252.0, 211.0, 239.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 249.0, 240.0, 245.0, 5.0, 31.0, 233.0, 190.0, 202.0, 179.0, 203.0, 197.0, 239.0, 255.0, 0.0, 6.0, 255.0, 255.0, 255.0, 13.0, 0.0, 255.0, 248.0, 236.0, 243.0, 0.0, 8.0, 241.0, 252.0, 255.0, 255.0, 0.0, 0.0, 255.0, 255.0, 249.0, 0.0, 0.0, 255.0, 247.0, 194.0, 255.0, 252.0, 255.0, 242.0, 1.0, 0.0, 243.0, 250.0, 242.0, 255.0, 255.0, 244.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 239.0, 186.0, 203.0, 190.0, 188.0, 2.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 193.0, 197.0, 159.0, 197.0, 0.0, 0.0, 0.0, 8.0, 0.0, 170.0, 250.0, 255.0, 255.0, 255.0, 6.0, 0.0, 244.0, 255.0, 247.0, 255.0, 6.0, 0.0, 248.0, 255.0, 248.0, 255.0, 0.0, 5.0, 255.0, 185.0, 238.0, 255.0, 251.0, 254.0, 9.0, 5.0, 247.0, 255.0, 248.0, 232.0, 255.0, 255.0, 182.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 188.0, 238.0, 243.0, 255.0, 239.0, 255.0, 255.0, 253.0, 250.0, 215.0, 248.0, 204.0, 247.0, 255.0, 249.0, 255.0, 212.0, 251.0, 248.0, 255.0, 212.0, 255.0, 241.0, 240.0, 255.0, 236.0, 255.0, 255.0, 236.0, 255.0, 240.0, 242.0, 179.0, 252.0, 255.0, 255.0, 236.0, 255.0, 235.0, 249.0, 171.0, 222.0, 187.0, 164.0, 217.0, 159.0, 255.0, 252.0, 236.0, 254.0, 255.0, 246.0, 247.0, 197.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 181.0, 255.0, 251.0, 245.0, 242.0, 255.0, 244.0, 255.0, 255.0, 177.0, 240.0, 200.0, 255.0, 241.0, 244.0, 241.0, 201.0, 255.0, 243.0, 242.0, 176.0, 181.0, 192.0, 200.0, 182.0, 186.0, 204.0, 198.0, 193.0, 198.0, 194.0, 197.0, 197.0, 255.0, 246.0, 255.0, 253.0, 255.0, 255.0, 255.0, 195.0, 250.0, 251.0, 245.0, 255.0, 186.0, 253.0, 255.0, 255.0, 249.0, 242.0, 242.0, 255.0, 202.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 179.0, 255.0, 255.0, 250.0, 255.0, 255.0, 246.0, 248.0, 250.0, 205.0, 249.0, 201.0, 227.0, 255.0, 254.0, 255.0, 173.0, 255.0, 255.0, 254.0, 255.0, 255.0, 252.0, 244.0, 211.0, 240.0, 255.0, 243.0, 251.0, 250.0, 255.0, 250.0, 255.0, 245.0, 245.0, 255.0, 252.0, 238.0, 255.0, 252.0, 191.0, 247.0, 254.0, 255.0, 250.0, 179.0, 255.0, 253.0, 251.0, 255.0, 255.0, 249.0, 247.0, 185.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 252.0, 247.0, 255.0, 254.0, 255.0, 198.0, 249.0, 251.0, 251.0, 255.0, 189.0, 182.0, 255.0, 247.0, 255.0, 252.0, 255.0, 247.0, 255.0, 255.0, 248.0, 255.0, 247.0, 255.0, 248.0, 248.0, 255.0, 250.0, 196.0, 253.0, 194.0, 250.0, 213.0, 227.0, 255.0, 243.0, 255.0, 244.0, 252.0, 255.0, 249.0, 255.0, 248.0, 255.0, 180.0, 249.0, 255.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 238.0, 251.0, 250.0, 167.0, 255.0, 238.0, 255.0, 241.0, 190.0, 201.0, 249.0, 255.0, 230.0, 255.0, 242.0, 254.0, 251.0, 247.0, 248.0, 255.0, 255.0, 250.0, 255.0, 247.0, 243.0, 249.0, 191.0, 187.0, 201.0, 234.0, 166.0, 255.0, 248.0, 251.0, 255.0, 255.0, 255.0, 255.0, 249.0, 251.0, 250.0, 240.0, 202.0, 255.0, 238.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 240.0, 246.0, 255.0, 255.0, 255.0, 172.0, 219.0, 207.0, 167.0, 212.0, 177.0, 192.0, 249.0, 241.0, 255.0, 248.0, 255.0, 241.0, 255.0, 240.0, 255.0, 255.0, 245.0, 255.0, 253.0, 241.0, 255.0, 249.0, 183.0, 255.0, 243.0, 255.0, 212.0, 235.0, 255.0, 249.0, 249.0, 247.0, 246.0, 243.0, 255.0, 235.0, 255.0, 255.0, 202.0, 255.0, 255.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 255.0, 255.0, 237.0, 236.0, 206.0, 0.0, 0.0, 8.0, 16.0, 8.0, 176.0, 248.0, 1.0, 0.0, 0.0, 4.0, 5.0, 0.0, 1.0, 243.0, 255.0, 244.0, 252.0, 2.0, 0.0, 7.0, 0.0, 2.0, 253.0, 241.0, 218.0, 0.0, 12.0, 0.0, 0.0, 10.0, 184.0, 197.0, 187.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 237.0, 255.0, 244.0, 255.0, 255.0, 255.0, 0.0, 0.0, 246.0, 246.0, 246.0, 0.0, 0.0, 255.0, 9.0, 5.0, 246.0, 255.0, 236.0, 244.0, 4.0, 12.0, 248.0, 249.0, 4.0, 1.0, 250.0, 244.0, 255.0, 0.0, 0.0, 255.0, 27.0, 0.0, 255.0, 255.0, 240.0, 0.0, 5.0, 253.0, 252.0, 19.0, 0.0, 241.0, 255.0, 255.0, 250.0, 255.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 253.0, 0.0, 10.0, 255.0, 255.0, 255.0, 255.0, 244.0, 200.0, 254.0, 0.0, 0.0, 255.0, 237.0, 255.0, 253.0, 7.0, 0.0, 236.0, 25.0, 0.0, 255.0, 255.0, 239.0, 251.0, 229.0, 0.0, 246.0, 235.0, 238.0, 255.0, 255.0, 240.0, 197.0, 0.0, 0.0, 254.0, 0.0, 0.0, 242.0, 238.0, 255.0, 184.0, 186.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 242.0, 255.0, 0.0, 0.0, 255.0, 255.0, 217.0, 255.0, 255.0, 186.0, 255.0, 10.0, 0.0, 238.0, 255.0, 255.0, 246.0, 21.0, 0.0, 221.0, 0.0, 0.0, 187.0, 195.0, 191.0, 189.0, 169.0, 175.0, 224.0, 209.0, 183.0, 186.0, 203.0, 188.0, 5.0, 15.0, 184.0, 192.0, 0.0, 10.0, 255.0, 0.0, 0.0, 9.0, 253.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 255.0, 236.0, 14.0, 0.0, 250.0, 253.0, 255.0, 255.0, 235.0, 198.0, 249.0, 0.0, 0.0, 3.0, 7.0, 0.0, 6.0, 0.0, 194.0, 240.0, 18.0, 2.0, 244.0, 255.0, 248.0, 255.0, 255.0, 255.0, 233.0, 250.0, 200.0, 255.0, 0.0, 2.0, 7.0, 247.0, 252.0, 255.0, 0.0, 3.0, 0.0, 252.0, 255.0, 0.0, 8.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 190.0, 196.0, 179.0, 201.0, 195.0, 0.0, 7.0, 255.0, 187.0, 178.0, 11.0, 0.0, 4.0, 255.0, 0.0, 7.0, 0.0, 0.0, 0.0, 255.0, 244.0, 210.0, 238.0, 0.0, 10.0, 246.0, 255.0, 255.0, 245.0, 247.0, 255.0, 246.0, 242.0, 199.0, 255.0, 255.0, 253.0, 0.0, 0.0, 255.0, 255.0, 192.0, 244.0, 255.0, 255.0, 255.0, 190.0, 4.0, 0.0, 255.0, 244.0, 255.0, 255.0, 244.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 238.0, 255.0, 0.0, 0.0, 255.0, 189.0, 255.0, 246.0, 18.0, 0.0, 255.0, 6.0, 0.0, 255.0, 255.0, 7.0, 2.0, 254.0, 178.0, 249.0, 5.0, 0.0, 255.0, 232.0, 254.0, 255.0, 243.0, 252.0, 255.0, 255.0, 183.0, 244.0, 244.0, 235.0, 255.0, 0.0, 0.0, 255.0, 179.0, 255.0, 236.0, 251.0, 254.0, 190.0, 0.0, 13.0, 255.0, 252.0, 244.0, 241.0, 255.0, 201.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 236.0, 255.0, 251.0, 252.0, 0.0, 0.0, 252.0, 186.0, 239.0, 255.0, 0.0, 12.0, 255.0, 0.0, 0.0, 242.0, 246.0, 255.0, 0.0, 0.0, 193.0, 255.0, 0.0, 7.0, 255.0, 255.0, 244.0, 248.0, 255.0, 0.0, 255.0, 253.0, 176.0, 255.0, 255.0, 255.0, 241.0, 3.0, 12.0, 234.0, 27.0, 6.0, 255.0, 254.0, 255.0, 173.0, 8.0, 0.0, 217.0, 255.0, 255.0, 248.0, 255.0, 190.0, 246.0, 255.0, 255.0, 255.0, 255.0, 249.0, 253.0, 251.0, 244.0, 251.0, 255.0, 0.0, 8.0, 197.0, 202.0, 173.0, 1.0, 0.0, 240.0, 1.0, 3.0, 255.0, 255.0, 248.0, 255.0, 10.0, 0.0, 252.0, 255.0, 0.0, 3.0, 255.0, 255.0, 240.0, 6.0, 11.0, 245.0, 0.0, 10.0, 255.0, 231.0, 253.0, 6.0, 0.0, 248.0, 255.0, 190.0, 0.0, 0.0, 255.0, 252.0, 13.0, 0.0, 250.0, 255.0, 253.0, 250.0, 247.0, 255.0, 189.0, 254.0, 255.0, 255.0, 255.0, 255.0, 242.0, 194.0, 209.0, 195.0, 188.0, 179.0, 213.0, 0.0, 0.0, 0.0, 0.0, 0.0, 207.0, 195.0, 0.0, 10.0, 188.0, 180.0, 200.0, 186.0, 0.0, 6.0, 255.0, 241.0, 255.0, 4.0, 0.0, 5.0, 6.0, 1.0, 233.0, 255.0, 250.0, 11.0, 0.0, 7.0, 6.0, 0.0, 255.0, 255.0, 255.0, 165.0, 255.0, 14.0, 0.0, 0.0, 0.0, 246.0, 244.0, 249.0, 247.0, 255.0, 249.0, 250.0, 181.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 194.0, 232.0, 246.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 202.0, 255.0, 187.0, 255.0, 255.0, 252.0, 253.0, 203.0, 255.0, 255.0, 255.0, 203.0, 247.0, 245.0, 245.0, 240.0, 255.0, 255.0, 250.0, 255.0, 255.0, 235.0, 238.0, 186.0, 249.0, 255.0, 250.0, 248.0, 255.0, 230.0, 237.0, 199.0, 187.0, 186.0, 183.0, 188.0, 188.0, 254.0, 255.0, 251.0, 239.0, 250.0, 253.0, 255.0, 192.0, 248.0, 255.0, 255.0, 255.0, 255.0, 253.0, 191.0, 255.0, 237.0, 251.0, 239.0, 241.0, 255.0, 249.0, 230.0, 186.0, 255.0, 181.0, 229.0, 255.0, 244.0, 255.0, 180.0, 251.0, 234.0, 251.0, 212.0, 161.0, 215.0, 206.0, 184.0, 170.0, 198.0, 199.0, 183.0, 194.0, 205.0, 199.0, 214.0, 233.0, 247.0, 255.0, 249.0, 254.0, 255.0, 255.0, 185.0, 246.0, 255.0, 255.0, 245.0, 191.0, 255.0, 244.0, 255.0, 255.0, 255.0, 243.0, 249.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 162.0, 255.0, 255.0, 252.0, 252.0, 255.0, 242.0, 255.0, 254.0, 201.0, 241.0, 203.0, 242.0, 255.0, 244.0, 254.0, 196.0, 255.0, 255.0, 252.0, 249.0, 253.0, 244.0, 241.0, 207.0, 245.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 236.0, 255.0, 255.0, 236.0, 255.0, 255.0, 251.0, 248.0, 191.0, 255.0, 246.0, 255.0, 246.0, 194.0, 246.0, 255.0, 255.0, 246.0, 254.0, 255.0, 255.0, 197.0, 247.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 252.0, 247.0, 255.0, 254.0, 255.0, 198.0, 249.0, 253.0, 255.0, 244.0, 194.0, 192.0, 255.0, 245.0, 255.0, 255.0, 247.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 251.0, 255.0, 245.0, 255.0, 254.0, 192.0, 242.0, 195.0, 252.0, 202.0, 241.0, 248.0, 246.0, 253.0, 255.0, 255.0, 246.0, 255.0, 241.0, 255.0, 242.0, 184.0, 255.0, 244.0, 192.0, 255.0, 251.0, 249.0, 255.0, 250.0, 181.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 255.0, 255.0, 238.0, 251.0, 250.0, 167.0, 255.0, 232.0, 255.0, 246.0, 197.0, 183.0, 255.0, 255.0, 236.0, 253.0, 255.0, 240.0, 255.0, 251.0, 253.0, 253.0, 249.0, 238.0, 247.0, 244.0, 247.0, 255.0, 170.0, 215.0, 200.0, 252.0, 164.0, 255.0, 255.0, 255.0, 255.0, 226.0, 255.0, 255.0, 255.0, 245.0, 255.0, 249.0, 203.0, 239.0, 254.0, 192.0, 255.0, 255.0, 253.0, 255.0, 253.0, 184.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 240.0, 246.0, 255.0, 255.0, 255.0, 172.0, 219.0, 195.0, 196.0, 186.0, 184.0, 192.0, 255.0, 249.0, 255.0, 249.0, 251.0, 255.0, 235.0, 242.0, 255.0, 251.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 185.0, 250.0, 234.0, 245.0, 212.0, 251.0, 242.0, 240.0, 252.0, 255.0, 249.0, 241.0, 255.0, 240.0, 243.0, 245.0, 198.0, 255.0, 254.0, 179.0, 247.0, 252.0, 251.0, 255.0, 255.0, 194.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 249.0, 255.0, 255.0, 237.0, 236.0, 206.0, 0.0, 6.0, 0.0, 17.0, 250.0, 196.0, 239.0, 251.0, 247.0, 0.0, 0.0, 4.0, 0.0, 254.0, 255.0, 247.0, 0.0, 0.0, 0.0, 0.0, 0.0, 7.0, 11.0, 237.0, 255.0, 10.0, 0.0, 195.0, 210.0, 200.0, 170.0, 9.0, 3.0, 194.0, 195.0, 190.0, 187.0, 13.0, 0.0, 238.0, 255.0, 203.0, 255.0, 255.0, 249.0, 246.0, 250.0, 191.0, 251.0, 255.0, 255.0, 255.0, 255.0, 237.0, 255.0, 244.0, 255.0, 255.0, 255.0, 0.0, 0.0, 250.0, 249.0, 0.0, 0.0, 191.0, 255.0, 249.0, 0.0, 0.0, 255.0, 243.0, 8.0, 0.0, 255.0, 255.0, 0.0, 7.0, 245.0, 255.0, 253.0, 241.0, 191.0, 255.0, 245.0, 0.0, 11.0, 241.0, 255.0, 240.0, 197.0, 9.0, 0.0, 231.0, 253.0, 255.0, 14.0, 0.0, 0.0, 255.0, 244.0, 182.0, 237.0, 248.0, 255.0, 255.0, 255.0, 192.0, 243.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 255.0, 253.0, 0.0, 10.0, 255.0, 254.0, 255.0, 255.0, 13.0, 198.0, 241.0, 0.0, 0.0, 255.0, 232.0, 252.0, 247.0, 0.0, 14.0, 245.0, 0.0, 3.0, 232.0, 255.0, 250.0, 255.0, 183.0, 255.0, 252.0, 0.0, 1.0, 248.0, 252.0, 243.0, 209.0, 0.0, 0.0, 255.0, 249.0, 0.0, 0.0, 2.0, 4.0, 203.0, 182.0, 196.0, 209.0, 185.0, 180.0, 184.0, 210.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 242.0, 255.0, 0.0, 0.0, 255.0, 252.0, 248.0, 242.0, 252.0, 171.0, 255.0, 8.0, 15.0, 250.0, 252.0, 255.0, 255.0, 12.0, 0.0, 193.0, 17.0, 0.0, 197.0, 6.0, 0.0, 0.0, 202.0, 191.0, 196.0, 0.0, 0.0, 201.0, 202.0, 205.0, 179.0, 3.0, 2.0, 199.0, 172.0, 255.0, 255.0, 0.0, 17.0, 187.0, 255.0, 243.0, 255.0, 247.0, 255.0, 255.0, 247.0, 186.0, 240.0, 255.0, 255.0, 255.0, 255.0, 255.0, 251.0, 255.0, 255.0, 236.0, 14.0, 0.0, 250.0, 0.0, 8.0, 5.0, 238.0, 217.0, 253.0, 0.0, 0.0, 255.0, 255.0, 252.0, 246.0, 4.0, 0.0, 255.0, 0.0, 1.0, 6.0, 246.0, 255.0, 1.0, 0.0, 255.0, 245.0, 6.0, 0.0, 255.0, 0.0, 8.0, 250.0, 0.0, 1.0, 252.0, 212.0, 248.0, 253.0, 4.0, 0.0, 187.0, 251.0, 255.0, 255.0, 239.0, 255.0, 251.0, 248.0, 197.0, 255.0, 255.0, 255.0, 255.0, 255.0, 197.0, 196.0, 181.0, 194.0, 196.0, 2.0, 1.0, 2.0, 189.0, 196.0, 0.0, 0.0, 195.0, 253.0, 0.0, 1.0, 255.0, 255.0, 248.0, 245.0, 0.0, 0.0, 255.0, 244.0, 254.0, 251.0, 245.0, 255.0, 250.0, 2.0, 12.0, 242.0, 5.0, 0.0, 255.0, 0.0, 0.0, 255.0, 0.0, 1.0, 255.0, 204.0, 236.0, 255.0, 0.0, 0.0, 207.0, 250.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 246.0, 250.0, 255.0, 238.0, 255.0, 0.0, 0.0, 250.0, 191.0, 238.0, 255.0, 22.0, 0.0, 255.0, 0.0, 0.0, 251.0, 242.0, 255.0, 255.0, 0.0, 4.0, 235.0, 255.0, 255.0, 255.0, 255.0, 252.0, 247.0, 0.0, 0.0, 255.0, 0.0, 1.0, 249.0, 8.0, 2.0, 248.0, 8.0, 0.0, 251.0, 179.0, 255.0, 251.0, 0.0, 10.0, 182.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 254.0, 246.0, 247.0, 0.0, 2.0, 255.0, 189.0, 255.0, 255.0, 0.0, 3.0, 255.0, 0.0, 2.0, 239.0, 255.0, 251.0, 236.0, 3.0, 3.0, 255.0, 0.0, 0.0, 255.0, 245.0, 255.0, 255.0, 22.0, 0.0, 255.0, 0.0, 4.0, 1.0, 1.0, 0.0, 2.0, 15.0, 0.0, 248.0, 204.0, 244.0, 249.0, 11.0, 0.0, 187.0, 236.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 236.0, 255.0, 253.0, 249.0, 241.0, 255.0, 8.0, 0.0, 200.0, 179.0, 0.0, 0.0, 202.0, 249.0, 249.0, 13.0, 0.0, 252.0, 248.0, 19.0, 0.0, 195.0, 255.0, 255.0, 1.0, 9.0, 250.0, 244.0, 0.0, 0.0, 255.0, 251.0, 13.0, 0.0, 0.0, 248.0, 241.0, 0.0, 0.0, 5.0, 253.0, 191.0, 255.0, 253.0, 0.0, 3.0, 208.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 179.0, 204.0, 174.0, 207.0, 209.0, 198.0, 0.0, 0.0, 4.0, 7.0, 253.0, 192.0, 179.0, 186.0, 173.0, 5.0, 3.0, 0.0, 0.0, 196.0, 191.0, 244.0, 255.0, 255.0, 0.0, 14.0, 0.0, 3.0, 255.0, 252.0, 255.0, 0.0, 7.0, 244.0, 255.0, 255.0, 240.0, 11.0, 0.0, 255.0, 175.0, 5.0, 0.0, 5.0, 0.0, 2.0, 0.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 183.0, 245.0, 254.0, 255.0, 240.0, 251.0, 255.0, 251.0, 255.0, 181.0, 241.0, 203.0, 248.0, 255.0, 255.0, 248.0, 215.0, 228.0, 254.0, 255.0, 202.0, 245.0, 247.0, 246.0, 249.0, 252.0, 251.0, 255.0, 225.0, 255.0, 241.0, 228.0, 213.0, 252.0, 243.0, 244.0, 255.0, 250.0, 255.0, 255.0, 162.0, 205.0, 180.0, 171.0, 213.0, 178.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 251.0, 198.0, 243.0, 255.0, 248.0, 235.0, 255.0, 238.0, 250.0, 238.0, 199.0, 252.0, 187.0, 255.0, 243.0, 248.0, 242.0, 189.0, 255.0, 243.0, 240.0, 179.0, 205.0, 194.0, 197.0, 170.0, 194.0, 208.0, 182.0, 207.0, 201.0, 195.0, 206.0, 193.0, 237.0, 255.0, 255.0, 255.0, 239.0, 248.0, 251.0, 192.0, 255.0, 255.0, 254.0, 250.0, 190.0, 255.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 187.0, 241.0, 255.0, 250.0, 255.0, 247.0, 255.0, 255.0, 255.0, 190.0, 248.0, 202.0, 232.0, 255.0, 246.0, 255.0, 190.0, 248.0, 253.0, 255.0, 255.0, 234.0, 255.0, 253.0, 212.0, 238.0, 248.0, 255.0, 237.0, 245.0, 255.0, 254.0, 252.0, 244.0, 252.0, 247.0, 245.0, 255.0, 254.0, 255.0, 195.0, 248.0, 249.0, 255.0, 253.0, 182.0, 254.0, 254.0, 255.0, 251.0, 255.0, 250.0, 255.0, 193.0, 254.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0],[255.0, 250.0, 254.0, 250.0, 254.0, 255.0, 253.0, 254.0, 255.0, 255.0, 255.0, 250.0, 255.0, 249.0, 255.0, 253.0, 254.0, 233.0, 255.0, 249.0, 255.0, 239.0, 195.0, 247.0, 245.0, 249.0, 252.0, 247.0, 254.0, 255.0, 246.0, 254.0, 255.0, 178.0, 203.0, 192.0, 187.0, 195.0, 190.0, 189.0, 193.0, 196.0, 188.0, 186.0, 201.0, 180.0, 255.0, 255.0, 240.0, 255.0, 250.0, 255.0, 255.0, 247.0, 252.0, 248.0, 245.0, 255.0, 242.0, 251.0, 255.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 255.0, 248.0, 255.0, 250.0, 253.0, 250.0, 251.0, 250.0, 250.0, 255.0, 255.0, 242.0, 249.0, 255.0, 255.0, 187.0, 252.0, 255.0, 255.0, 255.0, 245.0, 249.0, 255.0, 255.0, 255.0, 255.0, 196.0, 245.0, 249.0, 247.0, 255.0, 250.0, 250.0, 249.0, 254.0, 252.0, 252.0, 252.0, 203.0, 255.0, 247.0, 255.0, 248.0, 247.0, 245.0, 251.0, 250.0, 255.0, 255.0, 255.0, 252.0, 248.0, 243.0, 251.0, 247.0, 251.0, 250.0, 252.0, 255.0, 240.0, 255.0, 248.0, 255.0, 253.0, 255.0, 251.0, 255.0, 253.0, 255.0, 237.0, 255.0, 249.0, 251.0, 251.0, 251.0, 179.0, 255.0, 254.0, 253.0, 251.0, 253.0, 253.0, 250.0, 251.0, 253.0, 243.0, 192.0, 254.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 195.0, 251.0, 249.0, 240.0, 185.0, 207.0, 191.0, 195.0, 192.0, 195.0, 190.0, 184.0, 195.0, 255.0, 252.0, 195.0, 191.0, 195.0, 195.0, 194.0, 198.0, 170.0, 198.0, 188.0, 195.0, 188.0, 172.0, 184.0, 196.0, 183.0, 188.0, 184.0, 191.0, 204.0, 182.0, 196.0, 198.0, 192.0, 255.0, 255.0, 247.0, 243.0, 255.0, 255.0, 244.0, 253.0, 255.0, 250.0, 196.0, 253.0, 255.0, 248.0, 250.0, 248.0, 253.0, 253.0, 247.0, 244.0, 251.0, 248.0, 189.0, 253.0, 255.0, 255.0, 189.0, 253.0, 244.0, 253.0, 252.0, 253.0, 246.0, 242.0, 191.0, 255.0, 236.0, 253.0, 249.0, 251.0, 252.0, 247.0, 251.0, 209.0, 250.0, 255.0, 255.0, 255.0, 210.0, 255.0, 255.0, 252.0, 251.0, 255.0, 238.0, 255.0, 250.0, 241.0, 249.0, 248.0, 255.0, 186.0, 189.0, 187.0, 198.0, 190.0, 185.0, 199.0, 180.0, 255.0, 199.0, 251.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 252.0, 252.0, 255.0, 255.0, 191.0, 248.0, 255.0, 249.0, 176.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 180.0, 252.0, 247.0, 255.0, 253.0, 254.0, 255.0, 248.0, 253.0, 197.0, 251.0, 249.0, 240.0, 251.0, 188.0, 253.0, 255.0, 255.0, 255.0, 252.0, 237.0, 247.0, 255.0, 188.0, 210.0, 193.0, 183.0, 198.0, 244.0, 255.0, 255.0, 244.0, 253.0, 255.0, 186.0, 250.0, 191.0, 245.0, 252.0, 251.0, 255.0, 251.0, 252.0, 255.0, 251.0, 247.0, 255.0, 252.0, 192.0, 251.0, 255.0, 255.0, 191.0, 255.0, 255.0, 244.0, 247.0, 244.0, 245.0, 251.0, 188.0, 255.0, 255.0, 255.0, 253.0, 253.0, 255.0, 248.0, 254.0, 189.0, 253.0, 254.0, 254.0, 255.0, 193.0, 245.0, 254.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 195.0, 235.0, 249.0, 255.0, 191.0, 240.0, 254.0, 255.0, 243.0, 254.0, 255.0, 187.0, 253.0, 196.0, 253.0, 255.0, 255.0, 255.0, 250.0, 251.0, 255.0, 253.0, 249.0, 253.0, 252.0, 194.0, 249.0, 247.0, 250.0, 203.0, 249.0, 253.0, 242.0, 255.0, 255.0, 255.0, 255.0, 192.0, 201.0, 186.0, 255.0, 252.0, 253.0, 255.0, 249.0, 255.0, 187.0, 255.0, 250.0, 255.0, 252.0, 179.0, 200.0, 209.0, 179.0, 197.0, 179.0, 185.0, 199.0, 191.0, 192.0, 199.0, 197.0, 187.0, 186.0, 197.0, 185.0, 195.0, 182.0, 195.0, 238.0, 198.0, 248.0, 194.0, 251.0, 255.0, 251.0, 255.0, 252.0, 255.0, 249.0, 254.0, 255.0, 255.0, 252.0, 178.0, 208.0, 186.0, 206.0, 169.0, 194.0, 200.0, 183.0, 195.0, 186.0, 183.0, 187.0, 193.0, 247.0, 255.0, 255.0, 255.0, 250.0, 255.0, 250.0, 255.0, 198.0, 255.0, 249.0, 255.0, 254.0, 185.0, 191.0, 255.0, 250.0, 254.0, 255.0, 239.0, 255.0, 255.0, 255.0, 254.0, 250.0, 255.0, 251.0, 255.0, 246.0, 252.0, 255.0, 193.0, 224.0, 204.0, 254.0, 186.0, 247.0, 250.0, 250.0, 240.0, 255.0, 244.0, 255.0, 254.0, 253.0, 247.0, 255.0, 198.0, 255.0, 247.0, 189.0, 255.0, 249.0, 253.0, 255.0, 242.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 254.0, 251.0, 255.0, 255.0, 255.0, 182.0, 234.0, 255.0, 244.0, 249.0, 183.0, 203.0, 253.0, 236.0, 255.0, 254.0, 255.0, 255.0, 229.0, 246.0, 255.0, 236.0, 255.0, 249.0, 255.0, 255.0, 235.0, 227.0, 190.0, 222.0, 193.0, 246.0, 181.0, 248.0, 255.0, 244.0, 255.0, 249.0, 255.0, 255.0, 242.0, 244.0, 255.0, 247.0, 194.0, 242.0, 255.0, 196.0, 255.0, 255.0, 249.0, 255.0, 255.0, 196.0, 244.0, 255.0, 255.0, 255.0, 255.0, 255.0, 253.0, 249.0, 255.0, 255.0, 254.0, 175.0, 222.0, 187.0, 194.0, 196.0, 207.0, 167.0, 255.0, 255.0, 249.0, 253.0, 241.0, 247.0, 255.0, 255.0, 235.0, 255.0, 253.0, 249.0, 228.0, 255.0, 255.0, 255.0, 190.0, 255.0, 237.0, 255.0, 191.0, 250.0, 245.0, 255.0, 252.0, 236.0, 240.0, 242.0, 255.0, 248.0, 255.0, 247.0, 188.0, 255.0, 239.0, 184.0, 238.0, 255.0, 255.0, 255.0, 251.0, 192.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 249.0, 255.0, 252.0, 255.0, 186.0, 240.0, 0.0, 0.0, 0.0, 8.0, 183.0, 248.0, 239.0, 255.0, 3.0, 0.0, 7.0, 0.0, 255.0, 248.0, 245.0, 237.0, 246.0, 23.0, 0.0, 5.0, 0.0, 190.0, 242.0, 255.0, 0.0, 6.0, 21.0, 0.0, 0.0, 3.0, 10.0, 2.0, 193.0, 177.0, 194.0, 0.0, 0.0, 1.0, 0.0, 0.0, 201.0, 255.0, 251.0, 245.0, 252.0, 244.0, 192.0, 253.0, 255.0, 255.0, 255.0, 255.0, 253.0, 255.0, 252.0, 255.0, 250.0, 255.0, 194.0, 255.0, 234.0, 255.0, 0.0, 1.0, 211.0, 255.0, 243.0, 7.0, 1.0, 251.0, 250.0, 0.0, 0.0, 255.0, 255.0, 255.0, 13.0, 0.0, 253.0, 255.0, 0.0, 5.0, 255.0, 253.0, 244.0, 255.0, 228.0, 255.0, 249.0, 196.0, 0.0, 1.0, 255.0, 254.0, 0.0, 14.0, 248.0, 253.0, 254.0, 17.0, 7.0, 231.0, 254.0, 249.0, 255.0, 255.0, 206.0, 234.0, 255.0, 255.0, 255.0, 255.0, 247.0, 254.0, 255.0, 255.0, 252.0, 254.0, 192.0, 255.0, 255.0, 255.0, 0.0, 11.0, 175.0, 231.0, 0.0, 2.0, 250.0, 252.0, 244.0, 255.0, 0.0, 245.0, 238.0, 0.0, 0.0, 246.0, 255.0, 254.0, 242.0, 0.0, 0.0, 250.0, 255.0, 236.0, 254.0, 255.0, 229.0, 198.0, 5.0, 0.0, 245.0, 1.0, 8.0, 248.0, 255.0, 242.0, 204.0, 162.0, 0.0, 195.0, 196.0, 181.0, 195.0, 197.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 254.0, 254.0, 255.0, 252.0, 255.0, 191.0, 252.0, 255.0, 216.0, 0.0, 0.0, 205.0, 255.0, 9.0, 0.0, 255.0, 244.0, 247.0, 252.0, 255.0, 180.0, 234.0, 191.0, 190.0, 178.0, 197.0, 189.0, 193.0, 14.0, 8.0, 193.0, 187.0, 167.0, 201.0, 220.0, 191.0, 13.0, 0.0, 193.0, 175.0, 17.0, 0.0, 245.0, 255.0, 254.0, 205.0, 255.0, 248.0, 255.0, 241.0, 245.0, 255.0, 249.0, 181.0, 247.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 248.0, 253.0, 250.0, 255.0, 195.0, 255.0, 251.0, 255.0, 5.0, 0.0, 181.0, 244.0, 3.0, 0.0, 255.0, 0.0, 11.0, 3.0, 244.0, 200.0, 236.0, 255.0, 254.0, 255.0, 237.0, 255.0, 0.0, 0.0, 255.0, 244.0, 255.0, 204.0, 254.0, 249.0, 1.0, 0.0, 255.0, 254.0, 255.0, 0.0, 0.0, 255.0, 255.0, 242.0, 186.0, 252.0, 254.0, 238.0, 251.0, 255.0, 247.0, 255.0, 187.0, 255.0, 255.0, 255.0, 255.0, 255.0, 191.0, 197.0, 184.0, 199.0, 186.0, 188.0, 205.0, 248.0, 177.0, 198.0, 0.0, 6.0, 195.0, 245.0, 8.0, 0.0, 0.0, 255.0, 254.0, 1.0, 0.0, 198.0, 244.0, 250.0, 246.0, 255.0, 247.0, 22.0, 1.0, 252.0, 251.0, 254.0, 254.0, 190.0, 255.0, 2.0, 0.0, 255.0, 245.0, 255.0, 255.0, 0.0, 3.0, 244.0, 255.0, 242.0, 191.0, 255.0, 255.0, 242.0, 255.0, 243.0, 255.0, 242.0, 189.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 247.0, 253.0, 240.0, 255.0, 242.0, 247.0, 255.0, 202.0, 241.0, 0.0, 0.0, 186.0, 255.0, 1.0, 5.0, 255.0, 252.0, 246.0, 246.0, 6.0, 14.0, 235.0, 255.0, 255.0, 246.0, 11.0, 0.0, 251.0, 254.0, 243.0, 255.0, 255.0, 172.0, 0.0, 6.0, 240.0, 255.0, 248.0, 245.0, 255.0, 0.0, 4.0, 255.0, 248.0, 250.0, 206.0, 240.0, 255.0, 255.0, 241.0, 248.0, 253.0, 255.0, 207.0, 239.0, 255.0, 255.0, 255.0, 255.0, 247.0, 245.0, 252.0, 249.0, 248.0, 255.0, 0.0, 255.0, 196.0, 250.0, 3.0, 8.0, 204.0, 228.0, 0.0, 3.0, 242.0, 255.0, 255.0, 255.0, 8.0, 0.0, 247.0, 251.0, 253.0, 2.0, 0.0, 255.0, 255.0, 252.0, 255.0, 252.0, 239.0, 29.0, 0.0, 255.0, 255.0, 243.0, 244.0, 255.0, 234.0, 9.0, 0.0, 255.0, 249.0, 240.0, 191.0, 255.0, 0.0, 243.0, 255.0, 255.0, 251.0, 252.0, 191.0, 255.0, 255.0, 255.0, 255.0, 255.0, 252.0, 249.0, 255.0, 250.0, 236.0, 244.0, 10.0, 13.0, 187.0, 13.0, 0.0, 203.0, 197.0, 243.0, 255.0, 0.0, 3.0, 255.0, 245.0, 11.0, 0.0, 209.0, 255.0, 254.0, 0.0, 0.0, 255.0, 248.0, 218.0, 255.0, 255.0, 244.0, 4.0, 0.0, 255.0, 250.0, 255.0, 253.0, 255.0, 239.0, 255.0, 189.0, 10.0, 0.0, 254.0, 255.0, 202.0, 0.0, 2.0, 255.0, 254.0, 243.0, 255.0, 255.0, 186.0, 255.0, 255.0, 255.0, 255.0, 255.0, 232.0, 191.0, 209.0, 186.0, 205.0, 200.0, 192.0, 0.0, 0.0, 1.0, 180.0, 255.0, 188.0, 202.0, 168.0, 187.0, 0.0, 0.0, 4.0, 0.0, 191.0, 180.0, 254.0, 0.0, 0.0, 4.0, 6.0, 0.0, 20.0, 1.0, 0.0, 255.0, 13.0, 0.0, 243.0, 255.0, 234.0, 255.0, 255.0, 252.0, 255.0, 180.0, 255.0, 1.0, 3.0, 0.0, 0.0, 0.0, 241.0, 255.0, 245.0, 255.0, 255.0, 255.0, 193.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 192.0, 249.0, 227.0, 252.0, 255.0, 245.0, 255.0, 240.0, 253.0, 195.0, 250.0, 199.0, 251.0, 246.0, 255.0, 251.0, 224.0, 238.0, 248.0, 252.0, 220.0, 255.0, 255.0, 255.0, 242.0, 245.0, 255.0, 250.0, 236.0, 248.0, 254.0, 230.0, 196.0, 255.0, 254.0, 255.0, 254.0, 249.0, 250.0, 234.0, 184.0, 205.0, 174.0, 175.0, 207.0, 178.0, 255.0, 255.0, 242.0, 255.0, 255.0, 255.0, 247.0, 182.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 176.0, 255.0, 249.0, 255.0, 247.0, 244.0, 255.0, 248.0, 255.0, 181.0, 244.0, 196.0, 254.0, 249.0, 254.0, 249.0, 183.0, 241.0, 255.0, 248.0, 191.0, 161.0, 185.0, 200.0, 174.0, 183.0, 196.0, 202.0, 195.0, 213.0, 189.0, 203.0, 202.0, 245.0, 241.0, 252.0, 255.0, 241.0, 255.0, 255.0, 182.0, 250.0, 255.0, 255.0, 244.0, 188.0, 255.0, 247.0, 254.0, 255.0, 237.0, 255.0, 255.0, 184.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 187.0, 253.0, 255.0, 254.0, 254.0, 251.0, 248.0, 255.0, 238.0, 190.0, 255.0, 192.0, 234.0, 255.0, 240.0, 255.0, 162.0, 255.0, 242.0, 245.0, 255.0, 255.0, 255.0, 243.0, 224.0, 229.0, 255.0, 249.0, 239.0, 255.0, 255.0, 252.0, 247.0, 249.0, 253.0, 255.0, 255.0, 243.0, 255.0, 247.0, 190.0, 255.0, 250.0, 246.0, 255.0, 180.0, 249.0, 255.0, 244.0, 252.0, 255.0, 246.0, 255.0, 196.0, 248.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 248.0, 255.0, 179.0, 250.0, 183.0, 255.0, 250.0, 255.0, 255.0, 192.0, 250.0, 255.0, 246.0, 253.0, 255.0, 255.0, 255.0, 206.0, 180.0, 191.0, 194.0, 193.0, 186.0, 190.0, 195.0, 185.0, 190.0, 201.0, 189.0, 190.0, 179.0, 204.0, 187.0, 200.0, 245.0, 255.0, 255.0, 245.0, 200.0, 187.0, 187.0, 193.0, 197.0, 195.0, 192.0, 200.0, 188.0, 255.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 253.0, 255.0, 191.0, 255.0, 195.0, 255.0, 249.0, 252.0, 249.0, 189.0, 250.0, 255.0, 252.0, 255.0, 253.0, 252.0, 243.0, 235.0, 253.0, 255.0, 246.0, 246.0, 249.0, 255.0, 255.0, 250.0, 255.0, 255.0, 251.0, 255.0, 242.0, 255.0, 253.0, 246.0, 255.0, 253.0, 253.0, 255.0, 246.0, 253.0, 254.0, 252.0, 249.0, 248.0, 247.0, 243.0, 205.0, 252.0, 252.0, 252.0, 252.0, 252.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 253.0, 184.0, 253.0, 189.0, 251.0, 241.0, 245.0, 250.0, 194.0, 252.0, 255.0, 254.0, 255.0, 251.0, 249.0, 255.0, 246.0, 255.0, 250.0, 244.0, 255.0, 255.0, 248.0, 252.0, 249.0, 250.0, 254.0, 237.0, 255.0, 252.0, 255.0, 255.0, 250.0, 254.0, 246.0, 246.0, 254.0, 250.0, 255.0, 255.0, 255.0, 255.0, 255.0, 255.0, 250.0, 203.0, 240.0, 254.0, 254.0, 254.0, 254.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 190.0, 255.0, 196.0, 255.0, 254.0, 255.0, 255.0, 202.0, 252.0, 252.0, 251.0, 255.0, 250.0, 254.0, 237.0, 189.0, 197.0, 181.0, 187.0, 205.0, 201.0, 180.0, 186.0, 192.0, 196.0, 203.0, 186.0, 246.0, 253.0, 255.0, 246.0, 248.0, 255.0, 255.0, 255.0, 255.0, 248.0, 246.0, 243.0, 250.0, 255.0, 253.0, 249.0, 246.0, 208.0, 253.0, 255.0, 255.0, 255.0, 255.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 255.0, 255.0, 195.0, 254.0, 196.0, 243.0, 242.0, 247.0, 241.0, 198.0, 249.0, 249.0, 252.0, 255.0, 248.0, 255.0, 251.0, 206.0, 255.0, 255.0, 254.0, 252.0, 255.0, 255.0, 255.0, 255.0, 255.0, 246.0, 195.0, 249.0, 251.0, 252.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 254.0, 255.0, 255.0, 255.0, 252.0, 248.0, 203.0, 241.0, 253.0, 253.0, 253.0, 253.0, 254.0, 193.0, 255.0, 250.0, 255.0, 251.0, 255.0, 254.0, 244.0, 246.0, 189.0, 243.0, 182.0, 211.0, 201.0, 199.0, 212.0, 185.0, 247.0, 250.0, 255.0, 255.0, 245.0, 254.0, 233.0, 178.0, 252.0, 255.0, 254.0, 238.0, 245.0, 255.0, 233.0, 248.0, 252.0, 251.0, 191.0, 252.0, 254.0, 253.0, 253.0, 255.0, 244.0, 247.0, 247.0, 244.0, 255.0, 253.0, 255.0, 254.0, 247.0, 248.0, 255.0, 250.0, 185.0, 200.0, 196.0, 196.0, 196.0, 196.0]]
+val_output = ['EGYK4', 'GRC35', '6O5W1', 'J627C']
+def getData():
+ inputs = []
+ labels = []
+ for i in range(len(val_input)):
+ labels.append(val_output[i])
+ inputs.append(val_input[i])
+ return np.array(inputs), np.array(labels)
+# Read the captchas
+input_data, output_data = getData()
+# Create the classifier model
+clf = LogisticRegression()
+clf.fit(input_data, output_data)
+# Set new captcha
+image = []
+row, col = map(int,input().split(' '))
+for i in range(row):
+ line = input()
+ for item in line.split(" "):
+ vals = [int(val) for val in item.split(",")]
+ image.append(sum(vals)/len(vals))
+print(clf.predict(image)[0])
\ No newline at end of file
diff --git a/hackerrank/AI/Digital-Image-Analysis/the-captcha-cracker.py b/hackerrank/AI/Digital-Image-Analysis/the-captcha-cracker.py
new file mode 100644
index 0000000..1add2ce
--- /dev/null
+++ b/hackerrank/AI/Digital-Image-Analysis/the-captcha-cracker.py
@@ -0,0 +1,49 @@
+import os
+import sys
+import numpy as np
+from sklearn.linear_model import LogisticRegression
+import warnings
+warnings.filterwarnings("ignore", category=DeprecationWarning)
+
+
+def getInput(directory, filename_input):
+ pixels = []
+ with open(directory + "/input/" + filename_input, "r") as f:
+ next(f)
+ for line in f:
+ for item in line.split(" "):
+ vals = [int(val) for val in item.split(",")]
+ pixels.append(sum(vals)/len(vals))
+ return pixels
+
+
+def getOutput(directory, filename_input):
+ label = "output" + str(filename_input[5:].split(".")[0]) + ".txt"
+ with open(directory + "/output/" + label, "r") as f:
+ return f.read().strip()
+
+
+def getData(directory_name):
+ inputs = []
+ labels = []
+ for root, dirs, files in os.walk(directory_name + "/input", topdown=False):
+ files = [f for f in files if f.endswith(".txt")]
+ for item in files:
+ filename = os.path.join(root, item)
+ labels.append(getOutput(directory_name, item))
+ inputs.append(getInput(directory_name, item))
+ return np.array(inputs), np.array(labels)
+
+
+directory = sys.path[0] + "/sampleCaptchas"
+input_data, output_data = getData(directory)
+clf = LogisticRegression()
+clf.fit(input_data, output_data)
+image = []
+row, col = map(int, input().split(' '))
+for i in range(row):
+ line = input()
+ for item in line.split(" "):
+ vals = [int(val) for val in item.split(",")]
+ image.append(sum(vals)/len(vals))
+print(clf.predict(image)[0])
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-1.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-1.py
new file mode 100644
index 0000000..6d873e2
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-1.py
@@ -0,0 +1,8 @@
+probability = 1/6
+values = 6
+result = 0
+for i in range(1, values + 1):
+ for j in range(1, values + 1):
+ if (i + j) <= 9:
+ result += probability ** 2
+print (result)
\ No newline at end of file
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-2.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-2.py
new file mode 100644
index 0000000..4eef722
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-2.py
@@ -0,0 +1,8 @@
+probability = 1/6
+values = 6
+result = 0
+for i in range(1, values + 1):
+ for j in range(1, values + 1):
+ if i != j and (i + j) == 6:
+ result += probability ** 2
+print (result)
\ No newline at end of file
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-3.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-3.py
new file mode 100644
index 0000000..f401711
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-3.py
@@ -0,0 +1,10 @@
+x_prob_red = 4/7
+x_prob_black = 3/7
+y_prob_red = 5/9
+y_prob_black = 4/9
+z_prob_red = 1/2
+z_prob_black = 1/2
+first_combination = x_prob_red * y_prob_red * z_prob_black
+second_combination = x_prob_black * y_prob_red * z_prob_red
+third_combination = x_prob_red * y_prob_black * z_prob_red
+print(first_combination + second_combination + third_combination)
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-4.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-4.py
new file mode 100644
index 0000000..1e4352f
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-4.py
@@ -0,0 +1,4 @@
+first_combination = (5/9) * (7/10) * (3/9)
+second_combination = (5/9) * (3/10) * (7/9)
+third_combination = (4/9) * (7/10) * (6/9)
+print(first_combination + second_combination + third_combination)
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-5.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-5.py
new file mode 100644
index 0000000..a93511c
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-5.py
@@ -0,0 +1 @@
+print (2/9)
\ No newline at end of file
diff --git a/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-6.py b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-6.py
new file mode 100644
index 0000000..1d9c61e
--- /dev/null
+++ b/hackerrank/AI/Probability-Statistics-Foundations/basic-probability-puzzles-6.py
@@ -0,0 +1 @@
+print ((6/14 * 5/9) + (7/14 * 4/9))
\ No newline at end of file
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/basic-statistics-warmup.py b/hackerrank/AI/Statistics-and-Machine-Learning/basic-statistics-warmup.py
new file mode 100644
index 0000000..2a93d09
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/basic-statistics-warmup.py
@@ -0,0 +1,24 @@
+import numpy as np
+import math as m
+import statistics as stpy
+from scipy import stats
+
+
+def mean_confidence_interval(length, mean, stdev):
+ return 1.96 * (stdev / m.sqrt(length))
+
+
+total = int(input())
+numbers = list(map(int, input().split()))
+mean = np.mean(numbers)
+median = np.median(numbers)
+mode = int(stats.mode(numbers)[0])
+stdev = stpy.pstdev(numbers)
+confidence_interval = mean_confidence_interval(total, mean, stdev)
+min_confidence = round(mean - confidence_interval, 1)
+max_confidence = round(mean + confidence_interval, 1)
+print(round(mean, 1))
+print(round(median, 1))
+print(mode)
+print(round(stdev, 1))
+print("{} {}".format(min_confidence, max_confidence))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/computing-the-correlation.py b/hackerrank/AI/Statistics-and-Machine-Learning/computing-the-correlation.py
new file mode 100644
index 0000000..5998e26
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/computing-the-correlation.py
@@ -0,0 +1,31 @@
+import math as m
+
+
+def pearson(first_data, second_data, n):
+ sum_firt_data = sum(first_data)
+ sum_second_data = sum(second_data)
+ sum_data = sum([x*y for x, y in zip(first_data, second_data)])
+ sum_first_data_squared = sum([x**2 for x in first_data])
+ sum_first_data_mult_squared = sum_firt_data ** 2
+ sum_secon_data_squared = sum([y**2 for y in second_data])
+ sum_secon_data_mult_squared = sum_second_data ** 2
+ numerator = (n * sum_data) - (sum_firt_data * sum_second_data)
+ den_first_data = m.sqrt(
+ (n * sum_first_data_squared) - sum_first_data_mult_squared)
+ den_second_data = m.sqrt(
+ (n * sum_secon_data_squared) - sum_secon_data_mult_squared)
+ return round(numerator / (den_first_data * den_second_data), 2)
+
+
+n = int(input())
+mathematics = []
+physics = []
+chemistry = []
+for i in range(n):
+ elements = list(map(float, input().split()))
+ mathematics.append(elements[0])
+ physics.append(elements[1])
+ chemistry.append(elements[2])
+print(pearson(mathematics, physics, float(n)))
+print(pearson(physics, chemistry, float(n)))
+print(pearson(mathematics, chemistry, float(n)))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-1.py b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-1.py
new file mode 100644
index 0000000..d64a436
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-1.py
@@ -0,0 +1,31 @@
+import math as m
+
+
+def mean(data):
+ return sum(data) / len(data)
+
+
+def var(data):
+ sum = 0
+ for i in range(len(data)):
+ sum = sum + (data[i] - mean(data)) ** 2
+ return sum
+
+
+def cov(dt1, dt2):
+ sum = 0
+ for i in range(len(dt1)):
+ sum += (dt1[i] - mean(dt1)) * (dt2[i] - mean(dt2))
+ return sum
+
+
+physics = [15.0, 12.0, 8.0, 8.0, 7.0, 7.0, 7.0, 6.0, 5.0, 3.0]
+history = [10.0, 25.0, 17.0, 11.0, 13.0, 17.0, 20.0, 13.0, 9.0, 15.0]
+mean_physics = mean(physics)
+mean_history = mean(history)
+var_physics = var(physics)
+var_history = var(history)
+cov = cov(physics, history)
+std = m.sqrt(var_physics * var_history)
+r = cov / std
+print(round(r, 3))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-2.py b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-2.py
new file mode 100644
index 0000000..0f41bc2
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-2.py
@@ -0,0 +1,14 @@
+def mean(data):
+ return sum(data) / len(data)
+
+
+physics = [15.0, 12.0, 8.0, 8.0, 7.0, 7.0, 7.0, 6.0, 5.0, 3.0]
+history = [10.0, 25.0, 17.0, 11.0, 13.0, 17.0, 20.0, 13.0, 9.0, 15.0]
+mean_physics = mean(physics)
+mean_history = mean(history)
+var_physics = sum([(p - mean_physics) ** 2 for p in physics])
+sum_phy_his = 0
+for i in range(len(physics)):
+ sum_phy_his += (physics[i] - mean_physics) * (history[i] - mean_history)
+slope = sum_phy_his / var_physics
+print(round(slope, 3))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-3.py b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-3.py
new file mode 100644
index 0000000..958e5c3
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-3.py
@@ -0,0 +1,16 @@
+def mean(data):
+ return sum(data) / len(data)
+
+
+physics = [15.0, 12.0, 8.0, 8.0, 7.0, 7.0, 7.0, 6.0, 5.0, 3.0]
+history = [10.0, 25.0, 17.0, 11.0, 13.0, 17.0, 20.0, 13.0, 9.0, 15.0]
+mean_physics = mean(physics)
+mean_history = mean(history)
+var_physics = sum([(p - mean_physics) ** 2 for p in physics])
+sum_phy_his = 0
+for i in range(len(physics)):
+ sum_phy_his += (physics[i] - mean_physics) * (history[i] - mean_history)
+b = sum_phy_his / var_physics
+a = mean_history - b * mean_physics
+result = b * 10 + a
+print(round(result, 1))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-4.py b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-4.py
new file mode 100644
index 0000000..a8a03ca
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/correlation-and-regression-lines-rec-4.py
@@ -0,0 +1,3 @@
+y = 7
+val_x = (9 * y + 107) / 20
+print(round(val_x, 1))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/dataset/trainingdata.txt b/hackerrank/AI/Statistics-and-Machine-Learning/dataset/trainingdata.txt
new file mode 100644
index 0000000..98b35db
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/dataset/trainingdata.txt
@@ -0,0 +1,100 @@
+2.81,5.62
+7.14,8.00
+2.72,5.44
+3.87,7.74
+1.90,3.80
+7.82,8.00
+7.02,8.00
+5.50,8.00
+9.15,8.00
+4.87,8.00
+8.08,8.00
+5.58,8.00
+9.13,8.00
+0.14,0.28
+2.00,4.00
+5.47,8.00
+0.80,1.60
+4.37,8.00
+5.31,8.00
+0.00,0.00
+1.78,3.56
+3.45,6.90
+6.13,8.00
+3.53,7.06
+4.61,8.00
+1.76,3.52
+6.39,8.00
+0.02,0.04
+9.69,8.00
+5.33,8.00
+6.37,8.00
+5.55,8.00
+7.80,8.00
+2.06,4.12
+7.79,8.00
+2.24,4.48
+9.71,8.00
+1.11,2.22
+8.38,8.00
+2.33,4.66
+1.83,3.66
+5.94,8.00
+9.20,8.00
+1.14,2.28
+4.15,8.00
+8.43,8.00
+5.68,8.00
+8.21,8.00
+1.75,3.50
+2.16,4.32
+4.93,8.00
+5.75,8.00
+1.26,2.52
+3.97,7.94
+4.39,8.00
+7.53,8.00
+1.98,3.96
+1.66,3.32
+2.04,4.08
+11.72,8.00
+4.64,8.00
+4.71,8.00
+3.77,7.54
+9.33,8.00
+1.83,3.66
+2.15,4.30
+1.58,3.16
+9.29,8.00
+1.27,2.54
+8.49,8.00
+5.39,8.00
+3.47,6.94
+6.48,8.00
+4.11,8.00
+1.85,3.70
+8.79,8.00
+0.13,0.26
+1.44,2.88
+5.96,8.00
+3.42,6.84
+1.89,3.78
+1.98,3.96
+5.26,8.00
+0.39,0.78
+6.05,8.00
+1.99,3.98
+1.58,3.16
+3.99,7.98
+4.35,8.00
+6.71,8.00
+2.58,5.16
+7.37,8.00
+5.77,8.00
+3.97,7.94
+3.65,7.30
+4.38,8.00
+8.06,8.00
+8.05,8.00
+1.10,2.20
+6.65,8.00
\ No newline at end of file
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/laptop-battery-life.py b/hackerrank/AI/Statistics-and-Machine-Learning/laptop-battery-life.py
new file mode 100644
index 0000000..4c12063
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/laptop-battery-life.py
@@ -0,0 +1,20 @@
+import sys
+import pandas as pd
+from sklearn import linear_model
+import matplotlib.pyplot as plt
+dataset = pd.read_csv('dataset/trainingdata.txt', header=None)
+plt.plot(dataset.iloc[:, 0], dataset.iloc[:, 1], 'ro')
+plt.ylabel('Laptob Battery Life')
+plt.show()
+dataset = dataset[dataset.iloc[:, 1] < 8]
+dataset.insert(0, len(dataset.columns), 0)
+X = dataset.iloc[:, 0:2].as_matrix()
+Y = dataset.iloc[:, 2].as_matrix()
+model = linear_model.LinearRegression()
+model.fit(X, Y)
+timeCharged = float(input().strip())
+result = model.predict([[0, timeCharged]])
+if result[0] > 8:
+ print(8.0)
+else:
+ print(round(result[0], 2))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/multiple-linear-regression-predicting-house-prices.py b/hackerrank/AI/Statistics-and-Machine-Learning/multiple-linear-regression-predicting-house-prices.py
new file mode 100644
index 0000000..97da585
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/multiple-linear-regression-predicting-house-prices.py
@@ -0,0 +1,27 @@
+from sklearn import linear_model
+features, rows = map(int, input().split())
+X, Y = [], []
+for i in range(rows):
+ x = [0]
+ elements = list(map(float, input().split()))
+ for j in range(len(elements)):
+ if j < features:
+ x.append(elements[j])
+ else:
+ Y.append(elements[j])
+ X.append(x)
+model = linear_model.LinearRegression()
+model.fit(X, Y)
+a = model.intercept_
+b = model.coef_
+new_rows = int(input())
+new_X = []
+for i in range(new_rows):
+ x = [0]
+ elements = list(map(float, input().split()))
+ for j in range(len(elements)):
+ x.append(elements[j])
+ new_X.append(x)
+result = model.predict(new_X)
+for i in range(len(result)):
+ print(round(result[i], 2))
diff --git a/hackerrank/AI/Statistics-and-Machine-Learning/polynomial-regression-office-prices.py b/hackerrank/AI/Statistics-and-Machine-Learning/polynomial-regression-office-prices.py
new file mode 100644
index 0000000..9bbcf68
--- /dev/null
+++ b/hackerrank/AI/Statistics-and-Machine-Learning/polynomial-regression-office-prices.py
@@ -0,0 +1,28 @@
+from sklearn import linear_model
+from sklearn.preprocessing import PolynomialFeatures
+import numpy as np
+features, rows = map(int, input().split())
+X, Y = [], []
+for i in range(rows):
+ x = [0]
+ elements = list(map(float, input().split()))
+ for j in range(len(elements)):
+ if j < features:
+ x.append(elements[j])
+ else:
+ Y.append(elements[j])
+ X.append(x)
+poly = PolynomialFeatures(degree=3)
+model = linear_model.LinearRegression()
+model.fit(poly.fit_transform(np.array(X)), Y)
+new_rows = int(input())
+new_X = []
+for i in range(new_rows):
+ x = [0]
+ elements = list(map(float, input().split()))
+ for j in range(len(elements)):
+ x.append(elements[j])
+ new_X.append(x)
+result = model.predict(poly.fit_transform(np.array(new_X)))
+for i in range(len(result)):
+ print(round(result[i], 2))
diff --git a/hackerrank/Algorithms/Warmup/A Very Big Sum/Solution.java b/hackerrank/Algorithms/Warmup/A Very Big Sum/Solution.java
new file mode 100644
index 0000000..792d998
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/A Very Big Sum/Solution.java
@@ -0,0 +1,27 @@
+import java.math.BigInteger;
+import java.util.Scanner;
+
+public class Solution {
+
+ public static BigInteger aVeryBigSum(long[] array) {
+ BigInteger sum = BigInteger.ZERO;
+ for (long n : array) {
+ sum = sum.add(BigInteger.valueOf(n));
+ }
+ return sum;
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ int n = in.nextInt();
+ long[] array = new long[n];
+ for (int i = 0; i < n; i++) {
+ array[i] = in.nextLong();
+ }
+ in.close();
+
+ BigInteger result = aVeryBigSum(array);
+ System.out.println(result);
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Birthday Cake Candles/Solution.java b/hackerrank/Algorithms/Warmup/Birthday Cake Candles/Solution.java
new file mode 100644
index 0000000..0b69278
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Birthday Cake Candles/Solution.java
@@ -0,0 +1,33 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static int birthdayCakeCandles(int[] array) {
+ int max = Integer.MIN_VALUE;
+ int maxOccurences = 0;
+
+ for (int n : array) {
+ if (n > max) {
+ max = n;
+ maxOccurences = 1;
+ } else if (n == max) {
+ maxOccurences++;
+ }
+ }
+
+ return maxOccurences;
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ int n = in.nextInt();
+ int[] array = new int[n];
+ for (int i = 0; i < n; i++) {
+ array[i] = in.nextInt();
+ }
+ in.close();
+
+ System.out.println(birthdayCakeCandles(array));
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Compare the Triplets/Solution.java b/hackerrank/Algorithms/Warmup/Compare the Triplets/Solution.java
new file mode 100644
index 0000000..97c7b1e
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Compare the Triplets/Solution.java
@@ -0,0 +1,45 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static int[] compareTriplets(int[] a, int[] b) {
+ int[] scores = new int[2];
+
+ for (int i = 0; i < a.length; i++) {
+ int diff = a[i] - b[i];
+
+ if (diff > 0) {
+ scores[0]++;
+ } else if (diff < 0) {
+ scores[1]++;
+ }
+ }
+
+ return scores;
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+
+ String[] aStrings = in.nextLine().split(" ");
+ int[] a = new int[aStrings.length];
+ for (int i = 0; i < a.length; i++) {
+ a[i] = Integer.parseInt(aStrings[i]);
+ }
+
+ String[] bStrings = in.nextLine().split(" ");
+ int[] b = new int[bStrings.length];
+ for (int i = 0; i < b.length; i++) {
+ b[i] = Integer.parseInt(bStrings[i]);
+ }
+
+ in.close();
+
+ int[] scores = compareTriplets(a, b);
+ for (int i : scores) {
+ System.out.print(i + " ");
+ }
+ System.out.println();
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Diagonal Difference/Solution.java b/hackerrank/Algorithms/Warmup/Diagonal Difference/Solution.java
new file mode 100644
index 0000000..ed98f79
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Diagonal Difference/Solution.java
@@ -0,0 +1,33 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static int diagonalDifference(int[][] array) {
+ int primaryDiagSum = 0;
+ int secondaryDiagSum = 0;
+
+ for (int i = 0; i < array.length; i++) {
+ primaryDiagSum += array[i][i];
+ secondaryDiagSum += array[i][array.length - 1 - i];
+ }
+ return Math.abs(primaryDiagSum - secondaryDiagSum);
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+
+ int n = in.nextInt();
+ int[][] array = new int[n][n];
+
+ for (int i = 0; i < n; i++) {
+ for (int j = 0; j < n; j++) {
+ array[i][j] = in.nextInt();
+ }
+ }
+ in.close();
+
+ int result = diagonalDifference(array);
+ System.out.println(result);
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Mini-Max Sum/Solution.java b/hackerrank/Algorithms/Warmup/Mini-Max Sum/Solution.java
new file mode 100644
index 0000000..6918d17
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Mini-Max Sum/Solution.java
@@ -0,0 +1,39 @@
+import java.util.Scanner;
+import java.util.Arrays;
+
+public class Solution {
+
+ public static void miniMaxSum(int[] array) {
+ int min = Integer.MAX_VALUE;
+ int max = Integer.MIN_VALUE;
+ long sum = 0;
+
+ for (int n : array) {
+ sum += n;
+ if (n < min) {
+ min = n;
+ }
+ if (n > max) {
+ max = n;
+ }
+ }
+
+ long minSum = sum - max;
+ long maxSum = sum - min;
+ System.out.println(minSum + " " + maxSum);
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ String[] inputStrings = in.nextLine().split(" ");
+ in.close();
+
+ int[] array = new int[5];
+ for (int i = 0; i < 5; i++) {
+ array[i] = Integer.parseInt(inputStrings[i]);
+ }
+
+ miniMaxSum(array);
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Plus Minus/Solution.java b/hackerrank/Algorithms/Warmup/Plus Minus/Solution.java
new file mode 100644
index 0000000..d05b348
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Plus Minus/Solution.java
@@ -0,0 +1,38 @@
+import java.util.Scanner;
+
+class Solution {
+
+ public static void plusMinus(int[] array) {
+ int countPositive = 0;
+ int countZero = 0;
+ int countNegative = 0;
+
+ for (int n : array) {
+ if (n > 0) {
+ countPositive++;
+ } else if (n < 0) {
+ countNegative++;
+ } else {
+ countZero++;
+ }
+ }
+
+ System.out.printf("%.6f\n%.6f\n%.6f\n",
+ (double) countPositive / array.length,
+ (double) countNegative / array.length,
+ (double) countZero / array.length);
+ }
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ int n = scanner.nextInt();
+ int[] array = new int[n];
+ for (int i = 0; i < n; i++) {
+ array[i] = scanner.nextInt();
+ }
+ scanner.close();
+
+ plusMinus(array);
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Simple Array Sum/Solution.java b/hackerrank/Algorithms/Warmup/Simple Array Sum/Solution.java
new file mode 100644
index 0000000..d90ebf0
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Simple Array Sum/Solution.java
@@ -0,0 +1,25 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static int arraySum(int[] arr) {
+ int sum = 0;
+ for (int i : arr) {
+ sum += i;
+ }
+ return sum;
+ }
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ int n = scanner.nextInt();
+ int[] arr = new int[n];
+ for (int i = 0; i < n; i++) {
+ arr[i] = scanner.nextInt();
+ }
+ scanner.close();
+
+ int result = arraySum(arr);
+ System.out.println(result);
+ }
+}
diff --git a/hackerrank/Algorithms/Warmup/Solve Me First/Solution.java b/hackerrank/Algorithms/Warmup/Solve Me First/Solution.java
new file mode 100644
index 0000000..827844c
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Solve Me First/Solution.java
@@ -0,0 +1,16 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static int add(int a, int b) {
+ return a + b;
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ int a = in.nextInt();
+ int b = in.nextInt();
+ int sum = add(a, b);
+ System.out.println(sum);
+ }
+}
diff --git a/hackerrank/Algorithms/Warmup/Staircase/Solution.java b/hackerrank/Algorithms/Warmup/Staircase/Solution.java
new file mode 100644
index 0000000..82506ed
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Staircase/Solution.java
@@ -0,0 +1,20 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static void staircase(int n) {
+ StringBuilder string = new StringBuilder();
+ for (int i = 0; i < n; i++) {
+ string.append("#");
+ System.out.printf("%" + n + "s\n", string);
+ }
+ }
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ int n = scanner.nextInt();
+ scanner.close();
+ staircase(n);
+ }
+
+}
diff --git a/hackerrank/Algorithms/Warmup/Time Conversion/Solution.java b/hackerrank/Algorithms/Warmup/Time Conversion/Solution.java
new file mode 100644
index 0000000..2e0077b
--- /dev/null
+++ b/hackerrank/Algorithms/Warmup/Time Conversion/Solution.java
@@ -0,0 +1,31 @@
+import java.util.Scanner;
+
+public class Solution {
+
+ public static String timeConversion(String str) {
+ String[] split = str.split(":");
+ String hh = split[0];
+ String mm = split[1];
+ String ss = split[2].substring(0, 2);
+ boolean isAM = split[2].substring(2).equals("AM");
+
+ int hour = Integer.parseInt(hh);
+ if (isAM && hour == 12) {
+ hour = 0;
+ } else if (!isAM && hour != 12) {
+ hour += 12;
+ }
+ hh = String.format("%02d", hour);
+
+ return String.format("%s:%s:%s", hh, mm, ss);
+ }
+
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ String inputString = in.nextLine();
+ in.close();
+
+ System.out.println(timeConversion(inputString));
+ }
+
+}
diff --git a/hackerrank/Linux/Arrays/Concatenate an array with itself.sh b/hackerrank/Linux/Arrays/Concatenate an array with itself.sh
new file mode 100644
index 0000000..06a1af5
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Concatenate an array with itself.sh
@@ -0,0 +1,4 @@
+#Given a list of countries, each on a new line, your task is to read them into an array. Then, concatenate the array with itself (twice) - so that you have a total of three repetitions of the original array - and then display the entire concatenated array, with a space between each of the countries' names
+arr=($(cat))
+arr=("${arr[@]}" "${arr[@]}" "${arr[@]}")
+echo ${arr[@]}
\ No newline at end of file
diff --git a/hackerrank/Linux/Arrays/Count the number of elements in an Array.sh b/hackerrank/Linux/Arrays/Count the number of elements in an Array.sh
new file mode 100644
index 0000000..4041229
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Count the number of elements in an Array.sh
@@ -0,0 +1,3 @@
+#Given a list of countries, each on a new line, your task is to read them into an array and then display the count of elements in that array.
+arr=($(cat))
+echo ${#arr[@]}
diff --git a/hackerrank/Linux/Arrays/Display an element of an array.sh b/hackerrank/Linux/Arrays/Display an element of an array.sh
new file mode 100644
index 0000000..3aaf727
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Display an element of an array.sh
@@ -0,0 +1,3 @@
+# Given a list of countries, each on a new line, your task is to read them into an array and then display the element indexed at . Note that indexing starts from 0.
+arr=($(cat))
+echo ${arr[3]}
diff --git a/hackerrank/Linux/Arrays/Filter an Array with Patterns.sh b/hackerrank/Linux/Arrays/Filter an Array with Patterns.sh
new file mode 100644
index 0000000..c241156
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Filter an Array with Patterns.sh
@@ -0,0 +1,3 @@
+# You are given a list of countries, each on a new line. Your task is to read them into an array and then filter out (remove) all the names containing the letter 'a' or 'A'.
+arr=($(cat))
+echo ${arr[@]/*[aA]*/}
diff --git a/hackerrank/Linux/Arrays/Lonely Integer - Bash!.sh b/hackerrank/Linux/Arrays/Lonely Integer - Bash!.sh
new file mode 100644
index 0000000..a8a7686
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Lonely Integer - Bash!.sh
@@ -0,0 +1,4 @@
+#There are N integers in an array A. All but one integer occur in pairs. Your task is to find the number that occurs only once
+read
+arr=($(cat))
+echo "${arr[@]}" | tr ' ' '\n' |sort | uniq -u | tr '\n' ' '
diff --git a/hackerrank/Linux/Arrays/Read in an Array.sh b/hackerrank/Linux/Arrays/Read in an Array.sh
new file mode 100644
index 0000000..0cac651
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Read in an Array.sh
@@ -0,0 +1,7 @@
+#Given a list of countries, each on a new line, your task is to read them into an array and then display the entire array, with a space between each of the countries' names.
+while read line
+do
+ arr=(${arr[@]} $line)
+done
+
+echo ${arr[@]}
\ No newline at end of file
diff --git a/hackerrank/Linux/Arrays/Remove the First Capital Letter from Each Element.sh b/hackerrank/Linux/Arrays/Remove the First Capital Letter from Each Element.sh
new file mode 100644
index 0000000..2b9557e
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Remove the First Capital Letter from Each Element.sh
@@ -0,0 +1,3 @@
+#You are given a list of countries, each on a new line. Your task is to read them into an array and then transform them in the following way:The first capital letter (if present) in each element of the array should be replaced with a dot ('.'). Then, display the entire array with a space between each country's names.
+arr=($(cat))
+echo ${arr[@]/[A-Z]/.}
diff --git a/hackerrank/Linux/Arrays/Slice an Array.sh b/hackerrank/Linux/Arrays/Slice an Array.sh
new file mode 100644
index 0000000..505bf6a
--- /dev/null
+++ b/hackerrank/Linux/Arrays/Slice an Array.sh
@@ -0,0 +1,3 @@
+# Given a list of countries, each on a new line, your task is to read them into an array. Then slice the array and display only the elements lying between positions 3 and 7, both inclusive. Indexing starts from from 0.
+arr=($(cat))
+echo ${arr[@]:3:5}
\ No newline at end of file
diff --git a/hackerrank/Linux/Arrays/concatenateArray.sh b/hackerrank/Linux/Arrays/concatenateArray.sh
new file mode 100644
index 0000000..1d40980
--- /dev/null
+++ b/hackerrank/Linux/Arrays/concatenateArray.sh
@@ -0,0 +1,4 @@
+readarray cName
+concArr=("${cName[@]}" "${cName[@]}" "${cName[@]}")
+
+echo ${concArr[@]}
diff --git a/hackerrank/Linux/Arrays/elementArray.sh b/hackerrank/Linux/Arrays/elementArray.sh
new file mode 100644
index 0000000..4c07616
--- /dev/null
+++ b/hackerrank/Linux/Arrays/elementArray.sh
@@ -0,0 +1,2 @@
+readarray cName
+echo ${cName[3]}
diff --git a/hackerrank/Linux/Arrays/filterArray.sh b/hackerrank/Linux/Arrays/filterArray.sh
new file mode 100644
index 0000000..56c9e00
--- /dev/null
+++ b/hackerrank/Linux/Arrays/filterArray.sh
@@ -0,0 +1,2 @@
+readarray cName
+echo ${cName[@]/*[aA]*/}
diff --git a/hackerrank/Linux/Arrays/lengthArray.sh b/hackerrank/Linux/Arrays/lengthArray.sh
new file mode 100644
index 0000000..59f3143
--- /dev/null
+++ b/hackerrank/Linux/Arrays/lengthArray.sh
@@ -0,0 +1,3 @@
+readarray cName
+echo ${#cName[@]}
+
diff --git a/hackerrank/Linux/Arrays/lonelyIntArray.sh b/hackerrank/Linux/Arrays/lonelyIntArray.sh
new file mode 100644
index 0000000..acf8698
--- /dev/null
+++ b/hackerrank/Linux/Arrays/lonelyIntArray.sh
@@ -0,0 +1,5 @@
+read
+numArr=($(cat))
+
+numArr=${numArr[*]}
+echo $((${numArr// /^}))
diff --git a/hackerrank/Linux/Arrays/readArray.sh b/hackerrank/Linux/Arrays/readArray.sh
new file mode 100644
index 0000000..1a41b32
--- /dev/null
+++ b/hackerrank/Linux/Arrays/readArray.sh
@@ -0,0 +1,3 @@
+readarray cName
+echo ${cName[@]}
+
diff --git a/hackerrank/Linux/Arrays/removeCapitalArray.sh b/hackerrank/Linux/Arrays/removeCapitalArray.sh
new file mode 100644
index 0000000..af751fc
--- /dev/null
+++ b/hackerrank/Linux/Arrays/removeCapitalArray.sh
@@ -0,0 +1,2 @@
+readarray cName
+echo ${cName[@]/[A-Z]/.}
diff --git a/hackerrank/Linux/Arrays/sliceArray.sh b/hackerrank/Linux/Arrays/sliceArray.sh
new file mode 100644
index 0000000..ed76ba9
--- /dev/null
+++ b/hackerrank/Linux/Arrays/sliceArray.sh
@@ -0,0 +1,2 @@
+readarray cName
+echo ${cName[@]:3:5}
diff --git a/hackerrank/Linux/Bash/A Personalized Echo.sh b/hackerrank/Linux/Bash/A Personalized Echo.sh
new file mode 100644
index 0000000..91ec707
--- /dev/null
+++ b/hackerrank/Linux/Bash/A Personalized Echo.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+read name
+echo "Welcome $name"
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Arithmetic Operations.sh b/hackerrank/Linux/Bash/Arithmetic Operations.sh
new file mode 100644
index 0000000..857a63b
--- /dev/null
+++ b/hackerrank/Linux/Bash/Arithmetic Operations.sh
@@ -0,0 +1,2 @@
+read x
+printf "%.3f\n" `echo "$x" | bc -l`
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Comparing Numbers.sh b/hackerrank/Linux/Bash/Comparing Numbers.sh
new file mode 100644
index 0000000..b333cdd
--- /dev/null
+++ b/hackerrank/Linux/Bash/Comparing Numbers.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+read X
+read Y
+if (( $X > $Y ))
+then
+ echo "X is greater than Y"
+fi
+
+if (( $X == $Y))
+then
+ echo "X is equal to Y"
+fi
+
+if(( $X < $Y))
+then
+ echo "X is less than Y"
+fi
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Compute the average.sh b/hackerrank/Linux/Bash/Compute the average.sh
new file mode 100644
index 0000000..9393bc9
--- /dev/null
+++ b/hackerrank/Linux/Bash/Compute the average.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+#Easier way is to do using for loop
+read num
+ctr=$num
+sum=0
+while [ $ctr -gt 0 ]
+do
+ read x
+ sum=$((sum + x))
+ ctr=$((ctr - 1))
+done
+printf "%.3f\n" `echo "$sum/$num" | bc -l`
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Getting started with conditionals.sh b/hackerrank/Linux/Bash/Getting started with conditionals.sh
new file mode 100644
index 0000000..26360b7
--- /dev/null
+++ b/hackerrank/Linux/Bash/Getting started with conditionals.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+read word
+if [[($word == 'y') || ($word == 'Y')]]
+then
+ echo "YES"
+ elif [[($word == 'n') || ($word == 'N')]]
+ then
+ echo "NO"
+fi
diff --git a/hackerrank/Linux/Bash/Let's Echo.sh b/hackerrank/Linux/Bash/Let's Echo.sh
new file mode 100644
index 0000000..8c2d72c
--- /dev/null
+++ b/hackerrank/Linux/Bash/Let's Echo.sh
@@ -0,0 +1 @@
+echo "HELLO"
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Looping and Skipping.sh b/hackerrank/Linux/Bash/Looping and Skipping.sh
new file mode 100644
index 0000000..3524da4
--- /dev/null
+++ b/hackerrank/Linux/Bash/Looping and Skipping.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+for i in {1..99..2}
+do
+ echo $i
+done
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/Looping with Numbers.sh b/hackerrank/Linux/Bash/Looping with Numbers.sh
new file mode 100644
index 0000000..32f757f
--- /dev/null
+++ b/hackerrank/Linux/Bash/Looping with Numbers.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+for i in {1..50}
+do
+ echo $i
+done
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/More on Conditionals.sh b/hackerrank/Linux/Bash/More on Conditionals.sh
new file mode 100644
index 0000000..60f1263
--- /dev/null
+++ b/hackerrank/Linux/Bash/More on Conditionals.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+read x
+read y
+read z
+if ((($x == $y) && ($y == $z)))
+ then
+ echo "EQUILATERAL"
+elif ((($x == $y) || ($x == $z) || ($y == $z)))
+ then
+ echo "ISOSCELES"
+else
+ echo "SCALENE"
+fi
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/The World of Numbers.sh b/hackerrank/Linux/Bash/The World of Numbers.sh
new file mode 100644
index 0000000..24f5435
--- /dev/null
+++ b/hackerrank/Linux/Bash/The World of Numbers.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+read X
+read Y
+echo $((X+Y))
+echo $((X-Y))
+echo $((X*Y))
+echo $((X/Y))
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/avg.sh b/hackerrank/Linux/Bash/avg.sh
new file mode 100644
index 0000000..6021f67
--- /dev/null
+++ b/hackerrank/Linux/Bash/avg.sh
@@ -0,0 +1,9 @@
+read n
+sum=0
+for (( i=1 ; i<=$n ; i++ ))
+do
+ read a
+ let "sum+=$a"
+
+done
+printf "%.3f" $(echo $sum/$n | bc -l)
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/compNums.sh b/hackerrank/Linux/Bash/compNums.sh
new file mode 100644
index 0000000..f436234
--- /dev/null
+++ b/hackerrank/Linux/Bash/compNums.sh
@@ -0,0 +1,11 @@
+read x
+read y
+if [ $x -gt $y ]
+then
+ echo "X is greater than Y"
+elif [ $x -lt $y ]
+then
+ echo "X is less than Y"
+else
+ echo "X is equal to Y"
+fi
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/conditionals.sh b/hackerrank/Linux/Bash/conditionals.sh
new file mode 100644
index 0000000..9f52118
--- /dev/null
+++ b/hackerrank/Linux/Bash/conditionals.sh
@@ -0,0 +1,8 @@
+read ch
+if [ $ch = "Y" ] || [ $ch = "y" ]
+then
+ echo "YES"
+else
+ echo "NO"
+fi
+
diff --git a/hackerrank/Linux/Bash/letsEcho.sh b/hackerrank/Linux/Bash/letsEcho.sh
new file mode 100644
index 0000000..b69484a
--- /dev/null
+++ b/hackerrank/Linux/Bash/letsEcho.sh
@@ -0,0 +1 @@
+echo HELLO
diff --git a/hackerrank/Linux/Bash/loopNum.sh b/hackerrank/Linux/Bash/loopNum.sh
new file mode 100644
index 0000000..1c4494f
--- /dev/null
+++ b/hackerrank/Linux/Bash/loopNum.sh
@@ -0,0 +1,4 @@
+for i in {1..50..1}
+do
+echo $i
+done
diff --git a/hackerrank/Linux/Bash/loopSkip.sh b/hackerrank/Linux/Bash/loopSkip.sh
new file mode 100644
index 0000000..db48535
--- /dev/null
+++ b/hackerrank/Linux/Bash/loopSkip.sh
@@ -0,0 +1,4 @@
+for i in {1..100..2}
+do
+echo $i
+done
diff --git a/hackerrank/Linux/Bash/mathExpr.sh b/hackerrank/Linux/Bash/mathExpr.sh
new file mode 100644
index 0000000..98ca99b
--- /dev/null
+++ b/hackerrank/Linux/Bash/mathExpr.sh
@@ -0,0 +1,3 @@
+read word
+value=` echo "$word " | bc -l `
+echo $(printf %.3f $value)
\ No newline at end of file
diff --git a/hackerrank/Linux/Bash/numWorld.sh b/hackerrank/Linux/Bash/numWorld.sh
new file mode 100644
index 0000000..cf3ee04
--- /dev/null
+++ b/hackerrank/Linux/Bash/numWorld.sh
@@ -0,0 +1,6 @@
+read a
+read b
+echo $a + $b | bc
+echo $a - $b | bc
+echo $a \* $b | bc
+echo $a / $b | bc
diff --git a/hackerrank/Linux/Bash/personalizedEcho.sh b/hackerrank/Linux/Bash/personalizedEcho.sh
new file mode 100644
index 0000000..8a45f01
--- /dev/null
+++ b/hackerrank/Linux/Bash/personalizedEcho.sh
@@ -0,0 +1,2 @@
+read name
+echo "Welcome $name"
diff --git a/hackerrank/Linux/Bash/triangle.sh b/hackerrank/Linux/Bash/triangle.sh
new file mode 100644
index 0000000..06ca993
--- /dev/null
+++ b/hackerrank/Linux/Bash/triangle.sh
@@ -0,0 +1,11 @@
+read x
+read y
+read z
+
+if [[ x -ne z ]] && [[ x -ne y ]] && [[ y -ne z ]]; then
+ echo SCALENE
+elif [[ x -eq z ]] && [[ x -eq y ]] && [[ y -eq z ]]; then
+ echo EQUILATERAL
+else
+ echo ISOSCELES
+fi
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Grep' #1.sh b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #1.sh
new file mode 100644
index 0000000..c0e888b
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #1.sh
@@ -0,0 +1,3 @@
+#Output only those lines that contain the word 'the'. The search should be case sensitive. The relative ordering of the lines in the output should be the same as it was in the input.
+grep -w "the"
+
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Grep' #2.sh b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #2.sh
new file mode 100644
index 0000000..db4a12c
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #2.sh
@@ -0,0 +1,3 @@
+# Output only those lines that contain the word 'the'. The search should NOT be case sensitive. The relative ordering of the lines in the output should be the same as it was in the input.
+
+grep -iw "the"
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Grep' #3.sh b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #3.sh
new file mode 100644
index 0000000..40db82d
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Grep' #3.sh
@@ -0,0 +1,3 @@
+# Only display those lines that do NOT contain the word 'that'. The relative ordering of the lines should be the same as it was in the input file.
+
+grep -iv "that"
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Grep' - B.sh b/hackerrank/Linux/Grep-Sed-Awk/'Grep' - B.sh
new file mode 100644
index 0000000..178fad6
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Grep' - B.sh
@@ -0,0 +1 @@
+grep '\([0-9]\) *\1'
\ No newline at end of file
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Grep' -A.sh b/hackerrank/Linux/Grep-Sed-Awk/'Grep' -A.sh
new file mode 100644
index 0000000..60afbec
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Grep' -A.sh
@@ -0,0 +1,7 @@
+#We retain only those lines which have at least one of the following words:
+# the
+# that
+# then
+# those
+grep -iwe "the\|that\|then\|those"
+
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #1.sh b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #1.sh
new file mode 100644
index 0000000..f9ccc7d
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #1.sh
@@ -0,0 +1 @@
+sed -e 's/the /this /1'
\ No newline at end of file
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #2.sh b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #2.sh
new file mode 100644
index 0000000..da21572
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #2.sh
@@ -0,0 +1 @@
+sed -e 's/thy /your /gI'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #3.sh b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #3.sh
new file mode 100644
index 0000000..866f83c
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #3.sh
@@ -0,0 +1 @@
+sed -e 's/thy/{&}/gI'
\ No newline at end of file
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #4.sh b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #4.sh
new file mode 100644
index 0000000..3bd2988
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #4.sh
@@ -0,0 +1 @@
+sed -r 's/[0-9]{4}[ ]/**** /g'
\ No newline at end of file
diff --git a/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #5.sh b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #5.sh
new file mode 100644
index 0000000..4a5be52
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/'Sed' command #5.sh
@@ -0,0 +1 @@
+sed -E 's/([0-9]{4}) ([0-9]{4}) ([0-9]{4}) ([0-9]{4})/\4 \3 \2 \1 /g'
\ No newline at end of file
diff --git a/hackerrank/Linux/Grep-Sed-Awk/awk1.sh b/hackerrank/Linux/Grep-Sed-Awk/awk1.sh
new file mode 100644
index 0000000..2830ac7
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/awk1.sh
@@ -0,0 +1 @@
+awk '{if ($4 == "") print "Not all scores are available for",$1;}'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/awk2.sh b/hackerrank/Linux/Grep-Sed-Awk/awk2.sh
new file mode 100644
index 0000000..ed8b2e9
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/awk2.sh
@@ -0,0 +1 @@
+awk {'if ($2>50 && $3>50 && $4>50) print $1,": Pass"; else print $1,": Fail"'}
diff --git a/hackerrank/Linux/Grep-Sed-Awk/awk3.sh b/hackerrank/Linux/Grep-Sed-Awk/awk3.sh
new file mode 100644
index 0000000..f071225
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/awk3.sh
@@ -0,0 +1,10 @@
+awk {'
+avg=($2+$3+$4)/3;
+printf "%c %d %d %d : ", $1,$2,$3,$4;
+if (avg<50)
+print "FAIL";
+else if (avg<80)
+print "B";
+else
+print "A";
+'}
diff --git a/hackerrank/Linux/Grep-Sed-Awk/awk4.sh b/hackerrank/Linux/Grep-Sed-Awk/awk4.sh
new file mode 100644
index 0000000..360f640
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/awk4.sh
@@ -0,0 +1,3 @@
+awk '{
+printf (NR%2==0) ? $0 "\n" : $0";"
+}'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/grep1.sh b/hackerrank/Linux/Grep-Sed-Awk/grep1.sh
new file mode 100644
index 0000000..549f88e
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/grep1.sh
@@ -0,0 +1 @@
+grep -w 'the'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/grep2.sh b/hackerrank/Linux/Grep-Sed-Awk/grep2.sh
new file mode 100644
index 0000000..9a04864
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/grep2.sh
@@ -0,0 +1 @@
+grep -iw 'the'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/grep3.sh b/hackerrank/Linux/Grep-Sed-Awk/grep3.sh
new file mode 100644
index 0000000..d33041a
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/grep3.sh
@@ -0,0 +1 @@
+grep -vwi 'that'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/grepA.sh b/hackerrank/Linux/Grep-Sed-Awk/grepA.sh
new file mode 100644
index 0000000..9675a08
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/grepA.sh
@@ -0,0 +1 @@
+grep -wi 'the\|that\|then\|those'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/grepB.sh b/hackerrank/Linux/Grep-Sed-Awk/grepB.sh
new file mode 100644
index 0000000..64f29ff
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/grepB.sh
@@ -0,0 +1 @@
+grep '\([0-9]\) *\1'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/sed1.sh b/hackerrank/Linux/Grep-Sed-Awk/sed1.sh
new file mode 100644
index 0000000..8bc91a1
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/sed1.sh
@@ -0,0 +1 @@
+sed 's/\bthe\b/this/'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/sed2.sh b/hackerrank/Linux/Grep-Sed-Awk/sed2.sh
new file mode 100644
index 0000000..31be89a
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/sed2.sh
@@ -0,0 +1 @@
+sed 's/thy/your/ig'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/sed3.sh b/hackerrank/Linux/Grep-Sed-Awk/sed3.sh
new file mode 100644
index 0000000..9afe84c
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/sed3.sh
@@ -0,0 +1 @@
+sed 's/thy/{&}/ig'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/sed4.sh b/hackerrank/Linux/Grep-Sed-Awk/sed4.sh
new file mode 100644
index 0000000..5763399
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/sed4.sh
@@ -0,0 +1 @@
+sed 's/[0-9]\+ /**** /g'
diff --git a/hackerrank/Linux/Grep-Sed-Awk/sed5.sh b/hackerrank/Linux/Grep-Sed-Awk/sed5.sh
new file mode 100644
index 0000000..288e6b1
--- /dev/null
+++ b/hackerrank/Linux/Grep-Sed-Awk/sed5.sh
@@ -0,0 +1 @@
+sed -r 's/(.+ )(.+ )(.+ )(....)/\4 \3\2\1/'
diff --git a/hackerrank/Linux/Text-Processing/'Tr' Command #1.sh b/hackerrank/Linux/Text-Processing/'Tr' Command #1.sh
new file mode 100644
index 0000000..938fcd2
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Tr' Command #1.sh
@@ -0,0 +1,2 @@
+#Output the text with all parentheses () replaced with box brackets [].
+tr "()" "[]"
diff --git a/hackerrank/Linux/Text-Processing/'Tr' Command #2.sh b/hackerrank/Linux/Text-Processing/'Tr' Command #2.sh
new file mode 100644
index 0000000..d130146
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Tr' Command #2.sh
@@ -0,0 +1,2 @@
+#In a given fragment of text, delete all the lowercase characters a - z.
+tr -d "a-z"
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/'Tr' Command #3.sh b/hackerrank/Linux/Text-Processing/'Tr' Command #3.sh
new file mode 100644
index 0000000..f3073a1
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Tr' Command #3.sh
@@ -0,0 +1,2 @@
+#Replace all sequences of multiple spaces with just one space.
+tr -s ' '
diff --git a/hackerrank/Linux/Text-Processing/'Uniq' Command #1.sh b/hackerrank/Linux/Text-Processing/'Uniq' Command #1.sh
new file mode 100644
index 0000000..9c63057
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Uniq' Command #1.sh
@@ -0,0 +1,2 @@
+#Given a text file, remove the consecutive repetitions of any line.
+uniq
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/'Uniq' Command #2.sh b/hackerrank/Linux/Text-Processing/'Uniq' Command #2.sh
new file mode 100644
index 0000000..6f52abf
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Uniq' Command #2.sh
@@ -0,0 +1,2 @@
+#Given a text file, count the number of times each line repeats itself. Only consider consecutive repetitions. Display the space separated count and line, respectively. There shouldn't be any leading or trailing spaces. Please note that the uniq -c command by itself will generate the output in a different format than the one expected here.
+uniq -c | cut -c7-
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/'Uniq' Command #3.sh b/hackerrank/Linux/Text-Processing/'Uniq' Command #3.sh
new file mode 100644
index 0000000..23539b1
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Uniq' Command #3.sh
@@ -0,0 +1,2 @@
+#compare consecutive lines in a case insensitive manner. So, if a line X is followed by case variants, the output should count all of them as the same (but display only the form X in the second column).
+uniq -i -c | cut -c7-
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/'Uniq' Command #4.sh b/hackerrank/Linux/Text-Processing/'Uniq' Command #4.sh
new file mode 100644
index 0000000..0dd2c80
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/'Uniq' Command #4.sh
@@ -0,0 +1,2 @@
+#Given a text file, display only those lines which are not followed or preceded by identical replications.
+uniq -u
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #1.sh b/hackerrank/Linux/Text-Processing/Cut #1.sh
new file mode 100644
index 0000000..40b16bf
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #1.sh
@@ -0,0 +1,2 @@
+# print the 3rd character from each line as a new line of output.
+cut -c 3
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #2.sh b/hackerrank/Linux/Text-Processing/Cut #2.sh
new file mode 100644
index 0000000..26c0cd0
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #2.sh
@@ -0,0 +1,3 @@
+#Display the 2nd and 7th character from each line of text.
+
+cut -c 2,7
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #3.sh b/hackerrank/Linux/Text-Processing/Cut #3.sh
new file mode 100644
index 0000000..1f13ce8
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #3.sh
@@ -0,0 +1,2 @@
+# Display a range of characters starting at the 2nd position of a string and ending at the 7th position (both positions included)
+cut -c 2-7
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #4 .sh b/hackerrank/Linux/Text-Processing/Cut #4 .sh
new file mode 100644
index 0000000..aea7e59
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #4 .sh
@@ -0,0 +1,3 @@
+#Display the first four characters from each line of text.
+cut -c -4
+
diff --git a/hackerrank/Linux/Text-Processing/Cut #5.sh b/hackerrank/Linux/Text-Processing/Cut #5.sh
new file mode 100644
index 0000000..5b587f2
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #5.sh
@@ -0,0 +1,2 @@
+#Given a tab delimited file with several columns (tsv format) print the first three fields.
+cut -f 1-3
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #6.sh b/hackerrank/Linux/Text-Processing/Cut #6.sh
new file mode 100644
index 0000000..01fad61
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #6.sh
@@ -0,0 +1,2 @@
+#Print the characters from thirteenth position to the end.
+cut -c 13-
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #7.sh b/hackerrank/Linux/Text-Processing/Cut #7.sh
new file mode 100644
index 0000000..4d33198
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #7.sh
@@ -0,0 +1,2 @@
+# For each input sentence, identify and display its fourth word. Assume that the space (' ') is the only delimiter between words.
+cut -d " " -f 4
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Cut #8.sh b/hackerrank/Linux/Text-Processing/Cut #8.sh
new file mode 100644
index 0000000..21c3746
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #8.sh
@@ -0,0 +1,3 @@
+#The output should contain N lines. For each input sentence, identify and display its first three words. Assume that the space (' ') is the only delimiter between words.
+cut -d " " -f 1-3
+
diff --git a/hackerrank/Linux/Text-Processing/Cut #9.sh b/hackerrank/Linux/Text-Processing/Cut #9.sh
new file mode 100644
index 0000000..0b68821
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Cut #9.sh
@@ -0,0 +1,3 @@
+#For each line in the input, print the fields from second fields to last field.
+cut -f 2-
+
diff --git a/hackerrank/Linux/Text-Processing/Head of a Text File #1.sh b/hackerrank/Linux/Text-Processing/Head of a Text File #1.sh
new file mode 100644
index 0000000..43cb14d
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Head of a Text File #1.sh
@@ -0,0 +1,3 @@
+#Output the first 20 lines of the given text file.
+head -20
+
diff --git a/hackerrank/Linux/Text-Processing/Head of a Text File #2.sh b/hackerrank/Linux/Text-Processing/Head of a Text File #2.sh
new file mode 100644
index 0000000..1e089d1
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Head of a Text File #2.sh
@@ -0,0 +1,3 @@
+#Output the first 20 characters of the text file
+head -c 20
+
diff --git a/hackerrank/Linux/Text-Processing/Middle of a Text File.sh b/hackerrank/Linux/Text-Processing/Middle of a Text File.sh
new file mode 100644
index 0000000..82677c0
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Middle of a Text File.sh
@@ -0,0 +1,2 @@
+#Display the lines (from line number 12 to 22, both inclusive) for the input file.
+head -22 | tail -11
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Paste - 1.sh b/hackerrank/Linux/Text-Processing/Paste - 1.sh
new file mode 100644
index 0000000..3539a85
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Paste - 1.sh
@@ -0,0 +1,2 @@
+# Replace the newlines in the input file with semicolons
+paste -d";" -s
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Paste - 2.sh b/hackerrank/Linux/Text-Processing/Paste - 2.sh
new file mode 100644
index 0000000..be8f494
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Paste - 2.sh
@@ -0,0 +1,2 @@
+#Restructure the file so that three consecutive rows are folded into one line and are separated by semicolons.
+paste -d ";" - - -
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Paste - 3.sh b/hackerrank/Linux/Text-Processing/Paste - 3.sh
new file mode 100644
index 0000000..31dcc4b
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Paste - 3.sh
@@ -0,0 +1,4 @@
+# The delimiter between consecutive rows of data has been transformed from the newline to a tab.
+# Previous solution: paste -s -d"\\t"
+# The delimiter option is not necessary as tab is the delimiter of paste by default
+paste -s
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Paste - 4.sh b/hackerrank/Linux/Text-Processing/Paste - 4.sh
new file mode 100644
index 0000000..bb0a349
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Paste - 4.sh
@@ -0,0 +1,2 @@
+# Restructure the file in such a way, that every group of three consecutive rows are folded into one, and separated by tab.
+paste - - -
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Sort Command #1.sh b/hackerrank/Linux/Text-Processing/Sort Command #1.sh
new file mode 100644
index 0000000..ebdfb07
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort Command #1.sh
@@ -0,0 +1,2 @@
+#Output the text file with the lines reordered in lexicographical order.
+sort
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Sort Command #2.sh b/hackerrank/Linux/Text-Processing/Sort Command #2.sh
new file mode 100644
index 0000000..ec317b4
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort Command #2.sh
@@ -0,0 +1,2 @@
+#Output the text file with the lines reordered in reverse lexicographical order.
+sort -r
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Sort Command #3.sh b/hackerrank/Linux/Text-Processing/Sort Command #3.sh
new file mode 100644
index 0000000..11f6346
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort Command #3.sh
@@ -0,0 +1,2 @@
+#Output the text file with the lines reordered in numerically ascending order.
+sort -n
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Sort Command #4.sh b/hackerrank/Linux/Text-Processing/Sort Command #4.sh
new file mode 100644
index 0000000..235022c
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort Command #4.sh
@@ -0,0 +1,3 @@
+#The text file, with lines re-ordered in descending order (numerically).
+sort -n -r
+
diff --git a/hackerrank/Linux/Text-Processing/Sort Command #5.sh b/hackerrank/Linux/Text-Processing/Sort Command #5.sh
new file mode 100644
index 0000000..36b4e60
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort Command #5.sh
@@ -0,0 +1,2 @@
+#Rearrange the rows of the table in descending order of the values for the average temperature in January (i.e, the mean temperature value provided in the second column) in a tab seperated file.
+sort -k2 -n -r -t$'\t'
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Sort command #6.sh b/hackerrank/Linux/Text-Processing/Sort command #6.sh
new file mode 100644
index 0000000..d5d19c7
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort command #6.sh
@@ -0,0 +1,3 @@
+#The data has been sorted in ascending order of the average monthly temperature in January (i.e, the second column) in a tsv file
+sort -n -k2 -t$'\t'
+
diff --git a/hackerrank/Linux/Text-Processing/Sort command #7.sh b/hackerrank/Linux/Text-Processing/Sort command #7.sh
new file mode 100644
index 0000000..189c39d
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Sort command #7.sh
@@ -0,0 +1,3 @@
+#The data has been sorted in descending order of the average monthly temperature in January (i.e, the second column).
+sort -k2 -n -r -t '|'
+
diff --git a/hackerrank/Linux/Text-Processing/Tail of a Text File #1.sh b/hackerrank/Linux/Text-Processing/Tail of a Text File #1.sh
new file mode 100644
index 0000000..f31ba2a
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Tail of a Text File #1.sh
@@ -0,0 +1,2 @@
+#Output the last 20 lines of the text file.
+tail -20
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/Tail of a Text File #2.sh b/hackerrank/Linux/Text-Processing/Tail of a Text File #2.sh
new file mode 100644
index 0000000..b2641fa
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/Tail of a Text File #2.sh
@@ -0,0 +1,2 @@
+#Display the last 20 characters of an input file.
+tail -c 20
\ No newline at end of file
diff --git a/hackerrank/Linux/Text-Processing/cut1.sh b/hackerrank/Linux/Text-Processing/cut1.sh
new file mode 100644
index 0000000..b7ad343
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut1.sh
@@ -0,0 +1,4 @@
+while read x
+do
+echo $x | cut -c3 -
+done
diff --git a/hackerrank/Linux/Text-Processing/cut2.sh b/hackerrank/Linux/Text-Processing/cut2.sh
new file mode 100644
index 0000000..f3ba325
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut2.sh
@@ -0,0 +1,5 @@
+while read x
+do
+echo $x | cut -c2,7
+done
+
diff --git a/hackerrank/Linux/Text-Processing/cut3.sh b/hackerrank/Linux/Text-Processing/cut3.sh
new file mode 100644
index 0000000..0956ecd
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut3.sh
@@ -0,0 +1,4 @@
+while read x
+do
+echo $x | cut -b 2-7
+done
diff --git a/hackerrank/Linux/Text-Processing/cut4.sh b/hackerrank/Linux/Text-Processing/cut4.sh
new file mode 100644
index 0000000..2656b02
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut4.sh
@@ -0,0 +1,5 @@
+while read x
+do
+echo $x | cut -b 1-4
+done
+
diff --git a/hackerrank/Linux/Text-Processing/cut5.sh b/hackerrank/Linux/Text-Processing/cut5.sh
new file mode 100644
index 0000000..b437178
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut5.sh
@@ -0,0 +1,2 @@
+cut -f 1-3
+
diff --git a/hackerrank/Linux/Text-Processing/cut6.sh b/hackerrank/Linux/Text-Processing/cut6.sh
new file mode 100644
index 0000000..a6c997f
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut6.sh
@@ -0,0 +1 @@
+cut -b 13-
diff --git a/hackerrank/Linux/Text-Processing/cut7.sh b/hackerrank/Linux/Text-Processing/cut7.sh
new file mode 100644
index 0000000..fb20a6a
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut7.sh
@@ -0,0 +1 @@
+cut -d " " -f 4
diff --git a/hackerrank/Linux/Text-Processing/cut8.sh b/hackerrank/Linux/Text-Processing/cut8.sh
new file mode 100644
index 0000000..1aba606
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut8.sh
@@ -0,0 +1 @@
+cut -d " " -f 1-3
diff --git a/hackerrank/Linux/Text-Processing/cut9.sh b/hackerrank/Linux/Text-Processing/cut9.sh
new file mode 100644
index 0000000..b620340
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/cut9.sh
@@ -0,0 +1 @@
+cut -f2-
diff --git a/hackerrank/Linux/Text-Processing/head1.sh b/hackerrank/Linux/Text-Processing/head1.sh
new file mode 100644
index 0000000..25a7b9b
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/head1.sh
@@ -0,0 +1 @@
+head -n 20
diff --git a/hackerrank/Linux/Text-Processing/head2.sh b/hackerrank/Linux/Text-Processing/head2.sh
new file mode 100644
index 0000000..6a5bc05
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/head2.sh
@@ -0,0 +1 @@
+head -c 20
diff --git a/hackerrank/Linux/Text-Processing/middle.sh b/hackerrank/Linux/Text-Processing/middle.sh
new file mode 100644
index 0000000..783a46b
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/middle.sh
@@ -0,0 +1 @@
+head -n 22 | tail -n 11
diff --git a/hackerrank/Linux/Text-Processing/paste1.sh b/hackerrank/Linux/Text-Processing/paste1.sh
new file mode 100644
index 0000000..4c5ce83
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/paste1.sh
@@ -0,0 +1 @@
+paste -sd ';'
diff --git a/hackerrank/Linux/Text-Processing/paste2.sh b/hackerrank/Linux/Text-Processing/paste2.sh
new file mode 100644
index 0000000..236866c
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/paste2.sh
@@ -0,0 +1 @@
+paste - - - -d ';'
diff --git a/hackerrank/Linux/Text-Processing/paste3.sh b/hackerrank/Linux/Text-Processing/paste3.sh
new file mode 100644
index 0000000..bc97006
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/paste3.sh
@@ -0,0 +1 @@
+paste -s
diff --git a/hackerrank/Linux/Text-Processing/paste4.sh b/hackerrank/Linux/Text-Processing/paste4.sh
new file mode 100644
index 0000000..f29d929
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/paste4.sh
@@ -0,0 +1 @@
+paste - - -
diff --git a/hackerrank/Linux/Text-Processing/sort1.sh b/hackerrank/Linux/Text-Processing/sort1.sh
new file mode 100644
index 0000000..ff6c75e
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort1.sh
@@ -0,0 +1 @@
+sort
diff --git a/hackerrank/Linux/Text-Processing/sort2.sh b/hackerrank/Linux/Text-Processing/sort2.sh
new file mode 100644
index 0000000..18bb5cd
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort2.sh
@@ -0,0 +1 @@
+sort -r
diff --git a/hackerrank/Linux/Text-Processing/sort3.sh b/hackerrank/Linux/Text-Processing/sort3.sh
new file mode 100644
index 0000000..d7c46e0
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort3.sh
@@ -0,0 +1 @@
+sort -n
diff --git a/hackerrank/Linux/Text-Processing/sort4.sh b/hackerrank/Linux/Text-Processing/sort4.sh
new file mode 100644
index 0000000..a7d48be
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort4.sh
@@ -0,0 +1 @@
+sort -n -r
diff --git a/hackerrank/Linux/Text-Processing/sort5.sh b/hackerrank/Linux/Text-Processing/sort5.sh
new file mode 100644
index 0000000..4a234ff
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort5.sh
@@ -0,0 +1 @@
+sort -t$'\t' -k2 -rn
diff --git a/hackerrank/Linux/Text-Processing/sort6.sh b/hackerrank/Linux/Text-Processing/sort6.sh
new file mode 100644
index 0000000..728cbb9
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort6.sh
@@ -0,0 +1 @@
+sort -t$'\t' -k2 -n
diff --git a/hackerrank/Linux/Text-Processing/sort7.sh b/hackerrank/Linux/Text-Processing/sort7.sh
new file mode 100644
index 0000000..a2c05d9
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/sort7.sh
@@ -0,0 +1 @@
+sort -t '|' -k2 -rn
diff --git a/hackerrank/Linux/Text-Processing/tail1.sh b/hackerrank/Linux/Text-Processing/tail1.sh
new file mode 100644
index 0000000..5e17561
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/tail1.sh
@@ -0,0 +1 @@
+tail -n 20
diff --git a/hackerrank/Linux/Text-Processing/tail2.sh b/hackerrank/Linux/Text-Processing/tail2.sh
new file mode 100644
index 0000000..99e56cc
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/tail2.sh
@@ -0,0 +1 @@
+tail -c 20
diff --git a/hackerrank/Linux/Text-Processing/tr1.sh b/hackerrank/Linux/Text-Processing/tr1.sh
new file mode 100644
index 0000000..30daeed
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/tr1.sh
@@ -0,0 +1 @@
+tr '()' '[]'
diff --git a/hackerrank/Linux/Text-Processing/tr2.sh b/hackerrank/Linux/Text-Processing/tr2.sh
new file mode 100644
index 0000000..622716d
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/tr2.sh
@@ -0,0 +1 @@
+tr -d 'a-z'
diff --git a/hackerrank/Linux/Text-Processing/tr3.sh b/hackerrank/Linux/Text-Processing/tr3.sh
new file mode 100644
index 0000000..34dffe7
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/tr3.sh
@@ -0,0 +1 @@
+tr -s ' '
diff --git a/hackerrank/Linux/Text-Processing/uniq1.sh b/hackerrank/Linux/Text-Processing/uniq1.sh
new file mode 100644
index 0000000..4531133
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/uniq1.sh
@@ -0,0 +1 @@
+uniq
diff --git a/hackerrank/Linux/Text-Processing/uniq2.sh b/hackerrank/Linux/Text-Processing/uniq2.sh
new file mode 100644
index 0000000..87f35fd
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/uniq2.sh
@@ -0,0 +1 @@
+uniq -c | cut -b7-
diff --git a/hackerrank/Linux/Text-Processing/uniq3.sh b/hackerrank/Linux/Text-Processing/uniq3.sh
new file mode 100644
index 0000000..f8babc6
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/uniq3.sh
@@ -0,0 +1 @@
+uniq -i -c | tr -s ' ' | cut -b 2-
diff --git a/hackerrank/Linux/Text-Processing/uniq4.sh b/hackerrank/Linux/Text-Processing/uniq4.sh
new file mode 100644
index 0000000..522bf45
--- /dev/null
+++ b/hackerrank/Linux/Text-Processing/uniq4.sh
@@ -0,0 +1 @@
+uniq -u
diff --git a/hackerrank/Project Euler/#1_CPP b/hackerrank/Project Euler/#1_CPP
deleted file mode 100644
index 82b8404..0000000
--- a/hackerrank/Project Euler/#1_CPP
+++ /dev/null
@@ -1,43 +0,0 @@
-#include