├── Insights
├── bug prediction.PNG
├── KCI dataset attributes.PNG
├── bug prediction using AST.PNG
├── bug prediction using CFG.PNG
├── Maintainability index formula.PNG
├── Cyclomatic Complexity thresholds.PNG
├── bug prediction using git utilities.PNG
├── Variable Importance chart for KCI Dataset.PNG
└── Variable Importance chart for PCI Dataset.PNG
├── Software Metrics description.pdf
├── test
├── f1.py
├── f2.py
└── f3.py
├── LICENSE
├── README.md
├── Rule_Based_Software_metrics_for_bug_prediction.ipynb
└── Discussed_approaches_for_bug_analysis (1).ipynb
/Insights/bug prediction.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/bug prediction.PNG
--------------------------------------------------------------------------------
/Software Metrics description.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Software Metrics description.pdf
--------------------------------------------------------------------------------
/Insights/KCI dataset attributes.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/KCI dataset attributes.PNG
--------------------------------------------------------------------------------
/Insights/bug prediction using AST.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/bug prediction using AST.PNG
--------------------------------------------------------------------------------
/Insights/bug prediction using CFG.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/bug prediction using CFG.PNG
--------------------------------------------------------------------------------
/Insights/Maintainability index formula.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/Maintainability index formula.PNG
--------------------------------------------------------------------------------
/Insights/Cyclomatic Complexity thresholds.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/Cyclomatic Complexity thresholds.PNG
--------------------------------------------------------------------------------
/Insights/bug prediction using git utilities.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/bug prediction using git utilities.PNG
--------------------------------------------------------------------------------
/Insights/Variable Importance chart for KCI Dataset.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/Variable Importance chart for KCI Dataset.PNG
--------------------------------------------------------------------------------
/Insights/Variable Importance chart for PCI Dataset.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PrudhviGNV/AI-models-for-bug-prediction/HEAD/Insights/Variable Importance chart for PCI Dataset.PNG
--------------------------------------------------------------------------------
/test/f1.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """Untitled36.ipynb
3 |
4 | Automatically generated by Colaboratory.
5 |
6 | Original file is located at
7 | https://colab.research.google.com/drive/1MdrNEYLEdkdvrNak3maz1C1n3o5hIz_o
8 | """
9 |
10 | print("Hello prudhvi")
11 | x= "Garapati"
12 | y = " Prudhvi"
13 | print(x+" "+y)
--------------------------------------------------------------------------------
/test/f2.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """Untitled36.ipynb
3 |
4 | Automatically generated by Colaboratory.
5 |
6 | Original file is located at
7 | https://colab.research.google.com/drive/1MdrNEYLEdkdvrNak3maz1C1n3o5hIz_o
8 | """
9 |
10 | def factorial(n):
11 | if n < 2: return 1
12 | return n * factorial(n - 1)
13 |
14 | def foo(bar):
15 | return sum(i for i in range(bar ** 2) if bar % i)
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Prudhvi Garapati
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AI-models-for-bug-prediction
2 |
3 | ## Introduction:
4 | Software Bug Prediction is an important issue in software development and maintenance processes, which concerns with the overall of software success. This is because predicting the software faults in earlier phase improves the software quality, reliability, efficiency and reduces the software cost. Bug prediction also involves risk analysis, quality of code etc.
5 |
6 | -------------------
7 | ## Research and discussed methodologies or approaches:
8 | In this project, Different approaches are studied and discussed. Some of them are:
9 | 1. Performance Analysis using Software features at Component(file) level:
10 | 2. Rule based approach for Quality of a Software.
11 | 3. Bug prediction at method level
12 | 4. Bug prediction using Abstract syntax tree(AST)
13 | 5. Risk code analysis Using Control flow graph(CFG)
14 | 6. Vulnerabilities detection in Software
15 | 7. Predicting Bug risk with git metadata
16 | 8. Bug hotspots based on commit history.
17 |
18 | - REFER : [Discussed_approaches_for_bug_analysis.ipynb](https://github.com/PrudhviGNV/AI-models-for-bug-prediction/blob/main/Discussed_approaches_for_bug_analysis%20(1).ipynb)
19 |
20 | ---------------
21 |
22 | ## Software metrics or features description:
23 | A software metric is a measure of software characteristics that are quantifiable or countable. It includes McCabe metrics, Halstead features , simple static code measures.
24 | REFER: [Software Metrics description.pdf](https://github.com/PrudhviGNV/AI-models-for-bug-prediction/blob/main/Software%20Metrics%20description.pdf)
25 |
26 | --------------
27 | ## Packages Used:
28 | - Different packages are explored in this project such as pycallgraph, radon, multimetric, gitrisky etc..
29 | - Radon and multimetic comes handy for extracting software metrics from the software repository.
30 |
31 | - ---------------
32 |
33 | ## Proposed Work or approaches:
34 | In this project, we evaluate some approaches such as
35 | a. Software bug prediction at component level.
36 | b. Rule Based approach for bug prediction
37 | c. Bug prediction based on git commits and metadata.
38 | d. Software vulnerability detection for Risk Analysis.
39 |
40 | ### a. Software bug prediction at component(file) level:
41 | - Software code is composed of several components. If we know which components are likely to be defective, we can increase testing cost-effectiveness.
42 | - In this approach, predictive models can be created to identify components likely to be defective by using past software releases and bug fixes as training data for learning machines.
43 | - REFER: [Software_Bug_prediction_at_Component(file)_level.ipynb](https://github.com/PrudhviGNV/AI-models-for-bug-prediction/blob/main/Software_Bug_prediction_at_Component(file)_level.ipynb)
44 | ### B. Rule Based approach for bug prediction:
45 | - In this approach, software features or metrics are calculated and sets some threshold values to those metrics and checks whether the values are present in acceptable range for successful project. Otherwise, it needs to be redesign.
46 | - According to Halstead features,
47 | if a software is successful if its
48 | 1. Halstead total operators + operands n < 300
49 | 2. Halstead Volume < 1000
50 | 3. Halstead difficulty < 50
51 | 4. Halstead efforts < 500000
52 | 5. Halstead time < 5000,
53 | Otherwise, it needs to be redesign
54 | - REFER: [Rule_Based_Software_metrics_for_bug_prediction.ipynb](https://github.com/PrudhviGNV/AI-models-for-bug-prediction/blob/main/Rule_Based_Software_metrics_for_bug_prediction.ipynb)
55 |
56 | ### C. Bug prediction based on git commits and metadata:
57 | - Git tracks changes to a codebase as a series of ‘commits’.
58 | - we can utilize git utilities such as git log, git diff, git blame.
59 | - We identify all commits which fix bugs and figure out what each bugfix commit modified
60 | - REFER:
61 | ### D. Software vulnerability detection for risk analysis:
62 | - vulnerabilities can pose serious risk of exploit and result in system compromise, information leaks, or denial of service.
63 | - The idea is to detect CWE(Common Weakness Enumeration) by leveraging labelled large dataset
64 | - we tokenize the program that need to be tested to feed to the model.
65 | - REFER: [Software_Vulnerability_Detection.ipynb](https://github.com/PrudhviGNV/AI-models-for-bug-prediction/blob/main/Software_Vulnerability_Detection.ipynb)
66 | ## ISSUES TO CONSIDER:
67 | - Class imbalance
68 | - Data Availability
69 | - Dimensionality Curse
70 | - Temporal behavior
71 | We solve these isses by possible fixes
72 |
73 |
74 |
75 |
76 |
77 |
78 | -----------------
79 | ## Features:
80 | - Support multiple programming languages
81 | - Easy to run python notebook file
82 | - Trained to model is targeted for specific software or developer.
83 |
84 |
85 | ## Results and conclusion:
86 | - The Bug prediction project used to predict the likelihood of bugs in a project but it does not guarantee it.
87 | - There is no single approach or solution that can applicable to any situation.
88 | - Software bug prediction at component level is more reliable because it depends on historical data of a specific software.
89 | - Finally, There is no universal solution for bug prediction for all projects. Every software has its own implementation and functionalities. And every developer has their own style of writing code. So bug prediction model can be trained targeting a specific software or a developer.
90 |
91 |
92 | -----------------------
93 | ### Developer
94 | - Prudhvi (TCS Intern)
95 |
96 | ------------
97 |
98 | ### Authorization
99 | ###### Tata Consultancy Services
100 |
101 |
--------------------------------------------------------------------------------
/Rule_Based_Software_metrics_for_bug_prediction.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Rule Based Software metrics for bug prediction.ipynb",
7 | "provenance": [],
8 | "toc_visible": true
9 | },
10 | "kernelspec": {
11 | "name": "python3",
12 | "display_name": "Python 3"
13 | },
14 | "language_info": {
15 | "name": "python"
16 | }
17 | },
18 | "cells": [
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {
22 | "id": "JjOU5XR8HUoo"
23 | },
24 | "source": [
25 | "# Rule based approach for software fault detection\n",
26 | "- In this approach, software features or metrics are calculated and sets some threshold values to those metrics and checks whether the values are present in acceptable range for successful project. \n",
27 | "-Otherwise, it needs to be redesign."
28 | ]
29 | },
30 | {
31 | "cell_type": "code",
32 | "metadata": {
33 | "colab": {
34 | "base_uri": "https://localhost:8080/"
35 | },
36 | "id": "4KejA8Q7H9uc",
37 | "outputId": "a2168cc7-6c65-4f81-8443-7010360d1501"
38 | },
39 | "source": [
40 | "pip install radon"
41 | ],
42 | "execution_count": 1,
43 | "outputs": [
44 | {
45 | "output_type": "stream",
46 | "text": [
47 | "Collecting radon\n",
48 | "\u001b[?25l Downloading https://files.pythonhosted.org/packages/b3/30/53685bac034654656a096a87a52f5e77667b2bb8ab02bcc9ab3a844af802/radon-4.5.0-py2.py3-none-any.whl (51kB)\n",
49 | "\r\u001b[K |██████▍ | 10kB 15.0MB/s eta 0:00:01\r\u001b[K |████████████▊ | 20kB 21.1MB/s eta 0:00:01\r\u001b[K |███████████████████▏ | 30kB 23.6MB/s eta 0:00:01\r\u001b[K |█████████████████████████▌ | 40kB 26.0MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▉| 51kB 28.5MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 61kB 5.0MB/s \n",
50 | "\u001b[?25hRequirement already satisfied: future in /usr/local/lib/python3.7/dist-packages (from radon) (0.16.0)\n",
51 | "Collecting mando<0.7,>=0.6\n",
52 | " Downloading https://files.pythonhosted.org/packages/e6/cc/f6e25247c1493a654785e68cd975e479c311e99dafedd49ed17f8d300e0c/mando-0.6.4-py2.py3-none-any.whl\n",
53 | "Collecting colorama>=0.4.1; python_version > \"3.4\"\n",
54 | " Downloading https://files.pythonhosted.org/packages/44/98/5b86278fbbf250d239ae0ecb724f8572af1c91f4a11edf4d36a206189440/colorama-0.4.4-py2.py3-none-any.whl\n",
55 | "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from mando<0.7,>=0.6->radon) (1.15.0)\n",
56 | "Installing collected packages: mando, colorama, radon\n",
57 | "Successfully installed colorama-0.4.4 mando-0.6.4 radon-4.5.0\n"
58 | ],
59 | "name": "stdout"
60 | }
61 | ]
62 | },
63 | {
64 | "cell_type": "markdown",
65 | "metadata": {
66 | "id": "4t19_08tIDfd"
67 | },
68 | "source": [
69 | "#### Radon module is used to extract software featues. You can also use multimetric module"
70 | ]
71 | },
72 | {
73 | "cell_type": "markdown",
74 | "metadata": {
75 | "id": "IHkX5bReIUzV"
76 | },
77 | "source": [
78 | "## Threshold limits.\n",
79 | "From my research, I find that:
\n",
80 | "\n",
81 | "According to Halstead features,\n",
82 | "if a software is sucessful if its \n",
83 | "1. Halstead total operators + operands n < 300\n",
84 | "2. Halstead Volume < 1000\n",
85 | "3. Halstead difficulty < 50 \n",
86 | "4. Halstead efforts < 500000\n",
87 | "5. Halstead time < 5000\n",
88 | "\n",
89 | "Otherwise, It needs to be redesign
\n",
90 | "
\n",
91 | "\n",
92 | "\n",
93 | "So, I apply rule based approach to find software is succesful or need to be redesign."
94 | ]
95 | },
96 | {
97 | "cell_type": "code",
98 | "metadata": {
99 | "id": "BDFtmbJyG-ZS"
100 | },
101 | "source": [
102 | "def complexity(n,volume ,difficulty,efforts,time): \n",
103 | " evaluation = (n < 300) & (volume < 1000 ) & (difficulty < 50) & (efforts < 500000) & (time < 5000)\n",
104 | " \n",
105 | " return \"Successful\" if evaluation == True else \"Redesign\""
106 | ],
107 | "execution_count": 7,
108 | "outputs": []
109 | },
110 | {
111 | "cell_type": "markdown",
112 | "metadata": {
113 | "id": "9Cr1Rsm4Ch5z"
114 | },
115 | "source": [
116 | " Here I upload two files f1.py,f2.py,f3.py in the current directory for testing "
117 | ]
118 | },
119 | {
120 | "cell_type": "code",
121 | "metadata": {
122 | "colab": {
123 | "base_uri": "https://localhost:8080/"
124 | },
125 | "id": "zUvaKrDcJ2ye",
126 | "outputId": "ee1f350d-626c-40ae-e0ce-2b9175e7cf63"
127 | },
128 | "source": [
129 | "ls"
130 | ],
131 | "execution_count": 12,
132 | "outputs": [
133 | {
134 | "output_type": "stream",
135 | "text": [
136 | "f1.py f2.py f3.py sample_data/\n"
137 | ],
138 | "name": "stdout"
139 | }
140 | ]
141 | },
142 | {
143 | "cell_type": "code",
144 | "metadata": {
145 | "colab": {
146 | "base_uri": "https://localhost:8080/"
147 | },
148 | "id": "NiC2yt1XkDQR",
149 | "outputId": "31ef5ec4-3668-4d60-dcf7-3cf17146e790"
150 | },
151 | "source": [
152 | "from radon.raw import analyze\n",
153 | "from radon.metrics import *\n",
154 | "from radon.complexity import cc_visit\n",
155 | "from radon.cli.tools import iter_filenames\n",
156 | "\n",
157 | "module_features=[]\n",
158 | "\n",
159 | "\n",
160 | "file_name = []\n",
161 | "# iter through filenames starting from the current directory\n",
162 | "# you can pass ignore or exclude patterns here (as strings)\n",
163 | "# for example: ignore='tests,docs'\n",
164 | "for filename in iter_filenames(['.']):\n",
165 | " with open(filename) as fobj:\n",
166 | " source = fobj.read()\n",
167 | " #printing code\n",
168 | " \n",
169 | "\n",
170 | " # get cc blocks\n",
171 | " \n",
172 | " # get MI score\n",
173 | " #mi = mi_visit(source, True)\n",
174 | " # get raw metrics\n",
175 | "\n",
176 | " # Module(loc=13, lloc=5, sloc=4, comments=1, multi=5, blank=3, single_comments=1)\n",
177 | " #raw = analyze(source)\n",
178 | "\n",
179 | " #f1 = raw.loc #1\n",
180 | " #f13 = raw.sloc #IOCODE\n",
181 | " #f14 = raw.comments # IOComment\n",
182 | " #f15 = raw.blank #IOBlank\n",
183 | " #f16 = raw.lloc #IOcode and Comment\n",
184 | "\n",
185 | "\n",
186 | " #Halstead features\n",
187 | " ast = h_visit(source)\n",
188 | " hal = ast.total\n",
189 | " #Halstead(total=HalsteadReport(h1=1, h2=4, N1=2, N2=4, vocabulary=5, length=6, calculated_length=8.0, volume=13.931568569324174, difficulty=0.5, effort=6.965784284662087, time=0.3869880158145604, bugs=0.004643856189774725), functions=[])\n",
190 | "\n",
191 | " f17 = hal.h1 #Uniq op\n",
192 | " f18 = hal.h2 #uniq operands\n",
193 | " f19 = hal.N1 #toal operators\n",
194 | " f20 = hal.N2 #total operands\n",
195 | "\n",
196 | " f5 = hal.length #n\n",
197 | " f6 = hal.volume #v\n",
198 | "\n",
199 | " f7 = f6/f5 #l --> program length\n",
200 | " f8 = hal.difficulty\n",
201 | " f9 = f7*f6\n",
202 | " f10 = hal.effort\n",
203 | " f12 = hal.time\n",
204 | "\n",
205 | " #cc\n",
206 | " cc = cc_visit(source)\n",
207 | "\n",
208 | " try:f2 = cc[-1].complexity\n",
209 | " except: f2 = 0\n",
210 | " f21 = complexity(f5,f6,f8,f10,f12)\n",
211 | "\n",
212 | "\n",
213 | " print(filename,\" ---> \",f21)\n",
214 | " \n",
215 | "\n",
216 | " \n",
217 | "\n",
218 | "\n",
219 | " # Now do what you want with the data"
220 | ],
221 | "execution_count": 14,
222 | "outputs": [
223 | {
224 | "output_type": "stream",
225 | "text": [
226 | "f3.py ---> Redesign\n",
227 | "f1.py ---> Successful\n",
228 | "f2.py ---> Successful\n"
229 | ],
230 | "name": "stdout"
231 | }
232 | ]
233 | },
234 | {
235 | "cell_type": "markdown",
236 | "metadata": {
237 | "id": "Apiih8umP4SM"
238 | },
239 | "source": [
240 | " ### Some more constraints \n",
241 | " \n",
242 | "\n",
243 | "| item | description | range | recommendation |\n",
244 | "| ------------------| ---------------------------------------- | -------- | -------------- |\n",
245 | "| comment_ratio | Comment to Code percentage | 0..100 | > 30.0 |\n",
246 | "| cyclomatic_complexity | Cyclomatic complexity according to McCabe | 0..(inf) | < 10 |\n",
247 | "| halstead_bugprop | Number of delivered bugs according to Halstead | 0..(inf) | < 0.05 |\n",
248 | "| maintainability_index | Maintainability index | 0..100 | > 80.0 |\n",
249 | "| pylint | General quality score according to pylint | 0..100 | > 80.0 |\n",
250 | "| tiobe_compiler | Compiler warnings score according to TIOBE | 0..100 | > 90.0 |\n",
251 | "| tiobe_complexity | Complexity according to TIOBE | 0..100 | > 80.0 |\n",
252 | "| tiobe_coverage | Coverage according to TIOBE | 0..100 | > 80.0 |\n",
253 | "| tiobe_duplication | Code duplications score according to TIOBE | 0..100 | > 80.0 |\n",
254 | "| tiobe_fanout | Fan-Out score according to TIOBE | 0..100 | > 80.0 |\n",
255 | "| tiobe_functional | Functional defect score according to TIOBE | 0..100 | > 90.0 |\n",
256 | "| tiobe_security | Security score according to TIOBE | 0..100 | > 90.0 |\n",
257 | "| tiobe_standard | Language standard score according to TIOBE | 0..100 | > 80.0 |\n",
258 | "| tiobe | General quality score according to TIOBE | 0..100 | > 80.0 |"
259 | ]
260 | },
261 | {
262 | "cell_type": "code",
263 | "metadata": {
264 | "id": "o0cJNzJMHoNy"
265 | },
266 | "source": [
267 | ""
268 | ],
269 | "execution_count": null,
270 | "outputs": []
271 | }
272 | ]
273 | }
--------------------------------------------------------------------------------
/Discussed_approaches_for_bug_analysis (1).ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Discussed approaches for bug analysis.ipynb",
7 | "provenance": [],
8 | "collapsed_sections": []
9 | },
10 | "kernelspec": {
11 | "name": "python3",
12 | "display_name": "Python 3"
13 | },
14 | "language_info": {
15 | "name": "python"
16 | }
17 | },
18 | "cells": [
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {
22 | "id": "pb6FVaKvFdSJ"
23 | },
24 | "source": [
25 | "In this project, We discussed various approaches to find or predict the likelihood of bug in the software"
26 | ]
27 | },
28 | {
29 | "cell_type": "markdown",
30 | "metadata": {
31 | "id": "zeNfGLbeIJvv"
32 | },
33 | "source": [
34 | "# 1.\tPerformance Analysis using Software features at Component(file) level:\n",
35 | " - Uses NASA DATASET to develop a prototype\n",
36 | " - refer: http://promise.site.uottawa.ca/SERepository/datasets-page.html\n",
37 | " - A software code base has many releases and many bug fixes.\n",
38 | " - we extract features of previous versions and labelled whether it has bug or not\n",
39 | " - we vectorize input features and output class and train different ML algorithms\n",
40 | " - So, we can predict whether a file has bug or not.\n"
41 | ]
42 | },
43 | {
44 | "cell_type": "markdown",
45 | "metadata": {
46 | "id": "wL2LHrLory8v"
47 | },
48 | "source": [
49 | "# 2. Rule based approach for software fault detection\n",
50 | "- In this approach, software features or metrics are calculated and sets some threshold values to those metrics and checks whether the values are present in acceptable range for successful project. \n",
51 | "-Otherwise, it needs to be redesign.\n",
52 | "- Here are some examples of acceptable software features limits for a successful project.\n",
53 | " ### Threshold limits.\n",
54 | "- From my research, I find that:
\n",
55 | "\n",
56 | "- According to Halstead features,\n",
57 | " if a software is sucessful if its \n",
58 | " 1. Halstead total operators + operands n < 300\n",
59 | " 2. Halstead Volume < 1000\n",
60 | " 3. Halstead difficulty < 50 \n",
61 | " 4. Halstead efforts < 500000\n",
62 | " 5. Halstead time < 5000\n",
63 | "\n",
64 | "Otherwise, It needs to be redesign
\n",
65 | "
\n",
66 | "So, I apply rule based approach to find software is succesful or need to be redesign\n",
67 | "\n",
68 | "\n"
69 | ]
70 | },
71 | {
72 | "cell_type": "markdown",
73 | "metadata": {
74 | "id": "3aaDtrVTrPqN"
75 | },
76 | "source": [
77 | "# 3. Software fault detection by categorizing software code as UI and Non UI code and finds the dependency of functionalities of Non UI code.\n"
78 | ]
79 | },
80 | {
81 | "cell_type": "markdown",
82 | "metadata": {
83 | "id": "gJVc_CNv9rZw"
84 | },
85 | "source": [
86 | "- We assume that errors in UI code are clearly visible and does not lead to any software failures.\n",
87 | "- But bugs in Non UI code(backend code) leads to software failure. \n",
88 | "- So, we first categorize the software code as UI and Non UI code. \n",
89 | "- And we calculate the dependency in that Non UI code.\n",
90 | "- If dependency is more, then it have more chances to lead to software faults."
91 | ]
92 | },
93 | {
94 | "cell_type": "markdown",
95 | "metadata": {
96 | "id": "WzqIbFUCpDX4"
97 | },
98 | "source": [
99 | "# 4. bug prediction at method level\n",
100 | "* bug prediction models at the level of individual methods rather than at file-level\n",
101 | "* This increases the granularity of the prediction and thus reduces manual inspection efforts for developers\n",
102 | "* The models are based on change metrics and source code metrics that are typically used in bug prediction.\n",
103 | "-----\n"
104 | ]
105 | },
106 | {
107 | "cell_type": "markdown",
108 | "metadata": {
109 | "id": "dSlNjnoQqPpi"
110 | },
111 | "source": [
112 | "#5. Bug prediction using Abstract syntax tree(AST)"
113 | ]
114 | },
115 | {
116 | "cell_type": "markdown",
117 | "metadata": {
118 | "id": "2iz3UF0Bp_RD"
119 | },
120 | "source": [
121 | "\n",
122 | "\n",
123 | "Objective: We use Abstract Syntax Tree (AST) n-grams to identify features of defective Java code that improve defect prediction performance.\n",
124 | "\n",
125 | "Method: Our approach is bottom-up and does not rely on pre-selecting any specific features of code. We use non-parametric testing to determine relationships between AST n-grams and faults in both open source and commercial systems. We build defect prediction models using three machine learning techniques.\n",
126 | "\n",
127 | "Results:\n",
128 | " We show that AST n-grams are very significantly related to faults in some systems, with very large effect sizes. The occurrence of some frequently occurring AST n-grams in a method can mean that the method is up to three times more likely to contain a fault. AST n-grams can have a large effect on the performance of defect prediction models.\n",
129 | " \n",
130 | "-----------\n",
131 | "refer: "
132 | ]
133 | },
134 | {
135 | "cell_type": "markdown",
136 | "metadata": {
137 | "id": "Fz-wq-ugIiOr"
138 | },
139 | "source": [
140 | "#6. A ML model that predicts the number of bugs that might occur while reaching the QA Stage."
141 | ]
142 | },
143 | {
144 | "cell_type": "markdown",
145 | "metadata": {
146 | "id": "r0MtS3f7JL8u"
147 | },
148 | "source": [
149 | "Quality Assurance (QA) is a systematic process that ensures product and service excellence. ... The agile QA process begins at the inception of the software development life cycle. From the initial design meeting, through the development phase, to final testing and hardening of the application\n",
150 | "\n",
151 | "----------\n",
152 | "refer : https://github.com/AravindVasudev/defect-predictor"
153 | ]
154 | },
155 | {
156 | "cell_type": "markdown",
157 | "metadata": {
158 | "id": "rH4XyT03Jtze"
159 | },
160 | "source": [
161 | "# 7. Control flow graphs for bug prediction\n",
162 | "\n",
163 | "\n",
164 | "\n",
165 | "\n",
166 | "\n",
167 | "\n",
168 | "Exploiting graph-structured data has many real applications in domains including natural language semantics, programming language processing, and malware analysis. A variety of methods has been developed to deal with such data. However, learning graphs of large-scale, varying shapes and sizes is a big challenge for any method. In this paper, we propose a multi-view multi-layer convolutional neural network on labeled directed graphs (DGCNN), in which convolutional filters are designed flexibly to adapt to dynamic structures of local regions inside graphs. The advantages of DGCNN are that we do not need to align vertices between graphs, and that DGCNN can process large-scale dynamic graphs with hundred thousands of nodes. To verify the effectiveness of DGCNN, we conducted experiments on two tasks: malware analysis and software defect prediction. The results show that DGCNN outperforms the baselines, including several deep neural networks\n",
169 | "\n",
170 | "-----\n",
171 | "refer: https://github.com/nguyenlab/DGCNN "
172 | ]
173 | },
174 | {
175 | "cell_type": "markdown",
176 | "metadata": {
177 | "id": "gtwg0_pqKpR7"
178 | },
179 | "source": [
180 | "# 8. Software Vulnerability Detection in Source Code Using Deep Representation Learning"
181 | ]
182 | },
183 | {
184 | "cell_type": "markdown",
185 | "metadata": {
186 | "id": "qja7z8O3KsAd"
187 | },
188 | "source": [
189 | "* Increasing numbers of software vulnerabilities are discovered every year whether they are reported publicly or discovered internally in proprietary code. \n",
190 | "* These vulnerabilities can pose serious risk of exploit and result in system compromise, information leaks, or denial of service. \n",
191 | "* We leveraged the wealth of C and C++ open-source code available to develop a large-scale function-level vulnerability detection system using machine learning. \n",
192 | "*To supplement existing labeled vulnerability datasets, we compiled a vast dataset of millions of open-source functions and labeled it with carefully-selected findings from three different static analyzers that indicate potential exploits. The labeled dataset is available \n",
193 | "----------\n",
194 | "dataset : https://osf.io/d45bw/\n",
195 | "----------------\n"
196 | ]
197 | },
198 | {
199 | "cell_type": "markdown",
200 | "metadata": {
201 | "id": "WIYDJ8ghMezQ"
202 | },
203 | "source": [
204 | "* The dataset consists of the source code of 1.27 million functions mined from open source software, labeled by static analysis for potential vulnerabilities.\n",
205 | "* Each function's raw source code, starting from the function name, is stored as a variable-length UTF-8 string. Five binary 'vulnerability' labels are provided for each function, corresponding to the four most common CWEs in our data plus all others:\n",
206 | "*CWE-120 (3.7% of functions)\n",
207 | "*CWE-119 (1.9% of functions)\n",
208 | "*CWE-469 (0.95% of functions)\n",
209 | "*CWE-476 (0.21% of functions)\n",
210 | "*CWE-other (2.7% of functions)\n",
211 | "*Functions may have more than one detected CWE each."
212 | ]
213 | },
214 | {
215 | "cell_type": "markdown",
216 | "metadata": {
217 | "id": "OKhTYxcuL3n7"
218 | },
219 | "source": [
220 | " **The Common Weakness Enumeration (CWE)**\n",
221 | "is a category system for software weaknesses and vulnerabilities. It is sustained by a community project with the goals of understanding flaws in software and creating automated tools that can be used to identify, fix, and prevent those flaws.\n",
222 | "----------\n",
223 | "CVE stands for Common Vulnerabilities and Exposures\n",
224 | "-------------\n",
225 | "\n",
226 | "\n"
227 | ]
228 | },
229 | {
230 | "cell_type": "markdown",
231 | "metadata": {
232 | "id": "hQ-L95a8M2WU"
233 | },
234 | "source": [
235 | "refer : https://github.com/hazimhanif/svd_exp1"
236 | ]
237 | },
238 | {
239 | "cell_type": "markdown",
240 | "metadata": {
241 | "id": "xNrGHBDeM4z8"
242 | },
243 | "source": [
244 | "# Replication of AST Neural Network application for software vulnerability detection\n",
245 | "\n",
246 | "refer: https://github.com/hazimhanif/svd_exp3"
247 | ]
248 | },
249 | {
250 | "cell_type": "markdown",
251 | "metadata": {
252 | "id": "irh7EMH2Nqs9"
253 | },
254 | "source": [
255 | "# 9. Predicting code bug risk with git metadata\n"
256 | ]
257 | },
258 | {
259 | "cell_type": "markdown",
260 | "metadata": {
261 | "id": "D-Mq6RqSgzl4"
262 | },
263 | "source": [
264 | "*Git tracks changes to a codebase as a series of ‘commits’. Each commit contains a set of changes along with a unique identifier. When a new commit is recorded, git also records who made the commit, when it was recorded, and an explanatory note written by the user who made the commit.\n",
265 | "* two types of metadata: commit-level data and history-level data.\n",
266 | "* for example, the changes in a particular file between two different points in the commit history. We need to use both types of metadata for our bug risk prediction tool, fortunately, git makes it easy to get at this information\n",
267 | "\n"
268 | ]
269 | },
270 | {
271 | "cell_type": "markdown",
272 | "metadata": {
273 | "id": "rOhI8PVshOJp"
274 | },
275 | "source": [
276 | "* Git comes with several extra command line utilities that expose different bits of metadata. For this project I used three of them: git log, git diff, and git blame."
277 | ]
278 | },
279 | {
280 | "cell_type": "markdown",
281 | "metadata": {
282 | "id": "mgMeVn8MhepL"
283 | },
284 | "source": [
285 | "How does the bug risk prediction work?\n",
286 | "To predict code bug risk we want to build a model which predicts whether a given commit will introduce a bug. To build any kind of model we need labeled data,"
287 | ]
288 | },
289 | {
290 | "cell_type": "markdown",
291 | "metadata": {
292 | "id": "w1ZMMSl-hjCD"
293 | },
294 | "source": [
295 | "identify which commits introduced bugs with a four-step process:\n",
296 | "1. Identify all the commits which fix bugs by using git log to find all the commits which have messages that start with ‘Bug’ or ‘Fix’.\n",
297 | "2. Figure out what each bugfix commit modified by using git diff to compare each bugfix commit to its immediate predecessor.\n",
298 | "3. Find the last commit to touch the corrected lines by using git blameto inspect the corrected file as of right before the bugfix commit.\n",
299 | "4. Label that commit as having introduced a bug.\n",
300 | "\n",
301 | "--------\n",
302 | "refer : gitrisky"
303 | ]
304 | },
305 | {
306 | "cell_type": "markdown",
307 | "metadata": {
308 | "id": "2b2ulN0oiiKC"
309 | },
310 | "source": [
311 | "# 10. Bug hot-spots based on commit history\n"
312 | ]
313 | },
314 | {
315 | "cell_type": "markdown",
316 | "metadata": {
317 | "id": "qb5rcMmri4Bz"
318 | },
319 | "source": [
320 | "* we take into consideration the number of code check-ins made for bug fixes in a particular area of code. The higher the bug fixes, the higher the probability of bugs arising.\n",
321 | "* This approach uses an algorithm which looks at the commit history of an application and based on the number of commits for bug fixes and their recency identifies bug hot-spots and arranges them in order of decreasing risk.\n",
322 | "* Categorizing commits as Bug fixes or not. commit for bug fix or requirements\n",
323 | "\n",
324 | "* The algo now equipped with the data(Git commit history) in a given time frame, generates a ‘risk-score’ for all files in the code base being analyzed. Apart from the the total number of bugs, the algo also takes into account recency — weightage of the bugs decays with passing time. \n",
325 | "\n",
326 | "-------------\n",
327 | "refer : https://github.com/niedbalski/python-bugspots\n"
328 | ]
329 | },
330 | {
331 | "cell_type": "markdown",
332 | "metadata": {
333 | "id": "seZbnKg0y6sQ"
334 | },
335 | "source": [
336 | "##These approaches can be implemented using any \n",
337 | "### Traditional ML algorthms\n",
338 | "### NN architectures\n",
339 | "### Genetic algorithms"
340 | ]
341 | },
342 | {
343 | "cell_type": "markdown",
344 | "metadata": {
345 | "id": "sZ7SjTJQC2n7"
346 | },
347 | "source": [
348 | "#### Genetic algorithms\n",
349 | "This document serves as a guide for the project.\n",
350 | "\n",
351 | "Basically for the project, we need to select the features that result in best classification\n",
352 | "There are some features that not only do not contribute anything to the classification model\n",
353 | "but deteriorate its performance due to random noise. As a result they should not be included\n",
354 | "in the model. As a result the selection of features becomes an important task.\n",
355 | "\n",
356 | "Since our aim is to create a software bug classification model, in order to manually select the\n",
357 | "features, we would need prior knowledge of the code. In most software projects this is not possible\n",
358 | "for a person to have idea about the whole project. As a result, we need to use automated tools to\n",
359 | "assist us in this endeavor. \n",
360 | "\n",
361 | "We use a neural network to implement the classifier using a subset of the features provided.\n",
362 | "Since there are so many features, we select the best features using Genetic Algorithms (GA).\n",
363 | "The method used in this project is as follows\n",
364 | "\n",
365 | "1. Initialize a population of subsets of features chosen at random.\n",
366 | "2. The genome of an individual encodes the following information\n",
367 | " 1. The subset of the features used.\n",
368 | " 2. The number of nodes in the hidden layer of the neural network.\n",
369 | " 3, Number of epochs to train.\n",
370 | "3. Individuals are trained on a subset of the training set with the remaining dataset used for\n",
371 | " validation. This serves as the fitness function to determine the fit individuals that live on\n",
372 | " in the next generation.\n",
373 | "\n",
374 | "This is achieved using the following code structure\n",
375 | "1. Organism class encodes all the information about mutation and crossovers and fitness of an \n",
376 | " individual.\n",
377 | "2. Population class encodes all the information about managing the population (collection of \n",
378 | " Organisms) from one generation to the next.\n",
379 | "3. GA class that uses the Population class and implements the actual Genetic Algorithm.\n",
380 | "4. FitnessMeasure class that uses a means of classification including but not limited to Neural\n",
381 | " Networks to evaluate the fitness of an individual Organism by training the said model using \n",
382 | " the parameters encoded in the Organism's genotype and returns a validation accuracy score on\n",
383 | " validation dataset which is a subset of the training dataset.\n",
384 | "\n",
385 | "----\n",
386 | "refer :\n",
387 | "https://github.com/adityashah30/eecs545termproject/tree/master/code"
388 | ]
389 | }
390 | ]
391 | }
--------------------------------------------------------------------------------
/test/f3.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | """f3.ipynb
3 |
4 | Automatically generated by Colaboratory.
5 |
6 | Original file is located at
7 | https://colab.research.google.com/drive/1sGwSaZ-D6bDXpnSjz2pAUMWM2CUXyEbg
8 | """
9 |
10 | # Importing the libraries
11 | import numpy as np
12 | import pandas as pd
13 |
14 | a =1
15 | b = 2
16 | c = "ksjak"
17 | d ="akjfghak"
18 | ea =" adjklagl"
19 | aa=1
20 | ba = 2
21 | ca = "ksjak"
22 | da ="akjfghak"
23 | ea =" adjklagl"
24 | aa =1
25 | ba = 2
26 | ca = "ksjak"
27 | da ="akjfghak"
28 | ed =" adjklagl"
29 | ag =1
30 | bg = 2
31 | ce = "ksjak"
32 | du ="akjfghak"
33 | ef =" adjklagl"
34 | ad =1
35 | bd = 2
36 | co= "ksjak"
37 | dl ="akjfghak"
38 | ed =" adjklagl"
39 | ad =1
40 | bd = 2
41 | cd = "ksjak"
42 | dd ="akjfghak"
43 | ed =" adjklagl"
44 |
45 | def a():
46 |
47 | a =1
48 | b = 2
49 | c = "ksjak"
50 | d ="akjfghak"
51 | ea =" adjklagl"
52 | aa=1
53 | ba = 2
54 | ca = "ksjak"
55 | da ="akjfghak"
56 | ea =" adjklagl"
57 | aa =1
58 | ba = 2
59 | ca = "ksjak"
60 | da ="akjfghak"
61 | ed =" adjklagl"
62 | ag =1
63 | bg = 2
64 | ce = "ksjak"
65 | du ="akjfghak"
66 | ef =" adjklagl"
67 | ad =1
68 | bd = 2
69 | co= "ksjak"
70 | dl ="akjfghak"
71 | ed =" adjklagl"
72 | ad =1
73 | bd = 2
74 | cd = "ksjak"
75 | dd ="akjfghak"
76 | ed =" adjklagl"
77 |
78 | def b():
79 |
80 | a =1
81 | b = 2
82 | c = "ksjak"
83 | d ="akjfghak"
84 | ea =" adjklagl"
85 | aa=1
86 | ba = 2
87 | ca = "ksjak"
88 | da ="akjfghak"
89 | ea =" adjklagl"
90 | aa =1
91 | ba = 2
92 | ca = "ksjak"
93 | da ="akjfghak"
94 | ed =" adjklagl"
95 | ag =1
96 | bg = 2
97 | ce = "ksjak"
98 | du ="akjfghak"
99 | ef =" adjklagl"
100 | ad =1
101 | bd = 2
102 | co= "ksjak"
103 | dl ="akjfghak"
104 | ed =" adjklagl"
105 | ad =1
106 | bd = 2
107 | cd = "ksjak"
108 | dd ="akjfghak"
109 | ed =" adjklagl"
110 |
111 | def cc():
112 | if 0:
113 | print("Start")
114 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
115 | args["time"]= args["distance"]/args["rate"]
116 | elif args.has_key( "time" ) and args.has_key( "distance" ):
117 | args["rate"]= args["distance"]/args["time"]
118 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
119 | args["time"]= args["distance"]/args["rate"]
120 | elif args.has_key( "time" ) and args.has_key( "distance" ):
121 | args["rate"]= args["distance"]/args["time"]
122 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
123 | args["time"]= args["distance"]/args["rate"]
124 | elif args.has_key( "time" ) and args.has_key( "distance" ):
125 | args["rate"]= args["distance"]/args["time"]
126 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
127 | args["time"]= args["distance"]/args["rate"]
128 | elif args.has_key( "time" ) and args.has_key( "distance" ):
129 | print("Ntg")
130 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
131 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
132 | args["time"]= args["distance"]/args["rate"]
133 | elif args.has_key( "time" ) and args.has_key( "distance" ):
134 | args["rate"]= args["distance"]/args["time"]
135 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
136 | args["time"]= args["distance"]/args["rate"]
137 | elif args.has_key( "time" ) and args.has_key( "distance" ):
138 | args["rate"]= args["distance"]/args["time"]
139 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
140 | args["time"]= args["distance"]/args["rate"]
141 | elif args.has_key( "time" ) and args.has_key( "distance" ):
142 | args["rate"]= args["distance"]/args["time"]
143 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
144 | args["time"]= args["distance"]/args["rate"]
145 | elif args.has_key( "time" ) and args.has_key( "distance" ):
146 | print("NTg")
147 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
148 | args["time"]= args["distance"]/args["rate"]
149 | elif args.has_key( "time" ) and args.has_key( "distance" ):
150 | args["rate"]= args["distance"]/args["time"]
151 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
152 | args["time"]= args["distance"]/args["rate"]
153 | elif args.has_key( "time" ) and args.has_key( "distance" ):
154 | args["rate"]= args["distance"]/args["time"]
155 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
156 | args["time"]= args["distance"]/args["rate"]
157 | elif args.has_key( "time" ) and args.has_key( "distance" ):
158 | args["rate"]= args["distance"]/args["time"]
159 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
160 | args["time"]= args["distance"]/args["rate"]
161 | elif args.has_key( "time" ) and args.has_key( "distance" ):
162 | print("Ntg")
163 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
164 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
165 | args["time"]= args["distance"]/args["rate"]
166 | elif args.has_key( "time" ) and args.has_key( "distance" ):
167 | args["rate"]= args["distance"]/args["time"]
168 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
169 | args["time"]= args["distance"]/args["rate"]
170 | elif args.has_key( "time" ) and args.has_key( "distance" ):
171 | args["rate"]= args["distance"]/args["time"]
172 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
173 | args["time"]= args["distance"]/args["rate"]
174 | elif args.has_key( "time" ) and args.has_key( "distance" ):
175 | args["rate"]= args["distance"]/args["time"]
176 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
177 | args["time"]= args["distance"]/args["rate"]
178 | elif args.has_key( "time" ) and args.has_key( "distance" ):
179 | print("NTg")
180 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
181 | args["time"]= args["distance"]/args["rate"]
182 | elif args.has_key( "time" ) and args.has_key( "distance" ):
183 | args["rate"]= args["distance"]/args["time"]
184 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
185 | args["time"]= args["distance"]/args["rate"]
186 | elif args.has_key( "time" ) and args.has_key( "distance" ):
187 | args["rate"]= args["distance"]/args["time"]
188 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
189 | args["time"]= args["distance"]/args["rate"]
190 | elif args.has_key( "time" ) and args.has_key( "distance" ):
191 | args["rate"]= args["distance"]/args["time"]
192 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
193 | args["time"]= args["distance"]/args["rate"]
194 | elif args.has_key( "time" ) and args.has_key( "distance" ):
195 | print("Ntg")
196 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
197 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
198 | args["time"]= args["distance"]/args["rate"]
199 | elif args.has_key( "time" ) and args.has_key( "distance" ):
200 | args["rate"]= args["distance"]/args["time"]
201 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
202 | args["time"]= args["distance"]/args["rate"]
203 | elif args.has_key( "time" ) and args.has_key( "distance" ):
204 | args["rate"]= args["distance"]/args["time"]
205 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
206 | args["time"]= args["distance"]/args["rate"]
207 | elif args.has_key( "time" ) and args.has_key( "distance" ):
208 | args["rate"]= args["distance"]/args["time"]
209 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
210 | args["time"]= args["distance"]/args["rate"]
211 | elif args.has_key( "time" ) and args.has_key( "distance" ):
212 | print("NTg")
213 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
214 | args["time"]= args["distance"]/args["rate"]
215 | elif args.has_key( "time" ) and args.has_key( "distance" ):
216 | args["rate"]= args["distance"]/args["time"]
217 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
218 | args["time"]= args["distance"]/args["rate"]
219 | elif args.has_key( "time" ) and args.has_key( "distance" ):
220 | args["rate"]= args["distance"]/args["time"]
221 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
222 | args["time"]= args["distance"]/args["rate"]
223 | elif args.has_key( "time" ) and args.has_key( "distance" ):
224 | args["rate"]= args["distance"]/args["time"]
225 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
226 | args["time"]= args["distance"]/args["rate"]
227 | elif args.has_key( "time" ) and args.has_key( "distance" ):
228 | print("Ntg")
229 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
230 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
231 | args["time"]= args["distance"]/args["rate"]
232 | elif args.has_key( "time" ) and args.has_key( "distance" ):
233 | args["rate"]= args["distance"]/args["time"]
234 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
235 | args["time"]= args["distance"]/args["rate"]
236 | elif args.has_key( "time" ) and args.has_key( "distance" ):
237 | args["rate"]= args["distance"]/args["time"]
238 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
239 | args["time"]= args["distance"]/args["rate"]
240 | elif args.has_key( "time" ) and args.has_key( "distance" ):
241 | args["rate"]= args["distance"]/args["time"]
242 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
243 | args["time"]= args["distance"]/args["rate"]
244 | elif args.has_key( "time" ) and args.has_key( "distance" ):
245 | print("NTg")
246 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
247 | args["time"]= args["distance"]/args["rate"]
248 | elif args.has_key( "time" ) and args.has_key( "distance" ):
249 | args["rate"]= args["distance"]/args["time"]
250 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
251 | args["time"]= args["distance"]/args["rate"]
252 | elif args.has_key( "time" ) and args.has_key( "distance" ):
253 | args["rate"]= args["distance"]/args["time"]
254 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
255 | args["time"]= args["distance"]/args["rate"]
256 | elif args.has_key( "time" ) and args.has_key( "distance" ):
257 | args["rate"]= args["distance"]/args["time"]
258 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
259 | args["time"]= args["distance"]/args["rate"]
260 | elif args.has_key( "time" ) and args.has_key( "distance" ):
261 | print("Ntg")
262 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
263 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
264 | args["time"]= args["distance"]/args["rate"]
265 | elif args.has_key( "time" ) and args.has_key( "distance" ):
266 | args["rate"]= args["distance"]/args["time"]
267 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
268 | args["time"]= args["distance"]/args["rate"]
269 | elif args.has_key( "time" ) and args.has_key( "distance" ):
270 | args["rate"]= args["distance"]/args["time"]
271 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
272 | args["time"]= args["distance"]/args["rate"]
273 | elif args.has_key( "time" ) and args.has_key( "distance" ):
274 | args["rate"]= args["distance"]/args["time"]
275 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
276 | args["time"]= args["distance"]/args["rate"]
277 | elif args.has_key( "time" ) and args.has_key( "distance" ):
278 | print("NTg")
279 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
280 | args["time"]= args["distance"]/args["rate"]
281 | elif args.has_key( "time" ) and args.has_key( "distance" ):
282 | args["rate"]= args["distance"]/args["time"]
283 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
284 | args["time"]= args["distance"]/args["rate"]
285 | elif args.has_key( "time" ) and args.has_key( "distance" ):
286 | args["rate"]= args["distance"]/args["time"]
287 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
288 | args["time"]= args["distance"]/args["rate"]
289 | elif args.has_key( "time" ) and args.has_key( "distance" ):
290 | args["rate"]= args["distance"]/args["time"]
291 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
292 | args["time"]= args["distance"]/args["rate"]
293 | elif args.has_key( "time" ) and args.has_key( "distance" ):
294 | print("Ntg")
295 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
296 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
297 | args["time"]= args["distance"]/args["rate"]
298 | elif args.has_key( "time" ) and args.has_key( "distance" ):
299 | args["rate"]= args["distance"]/args["time"]
300 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
301 | args["time"]= args["distance"]/args["rate"]
302 | elif args.has_key( "time" ) and args.has_key( "distance" ):
303 | args["rate"]= args["distance"]/args["time"]
304 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
305 | args["time"]= args["distance"]/args["rate"]
306 | elif args.has_key( "time" ) and args.has_key( "distance" ):
307 | args["rate"]= args["distance"]/args["time"]
308 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
309 | args["time"]= args["distance"]/args["rate"]
310 | elif args.has_key( "time" ) and args.has_key( "distance" ):
311 | print("NTg")
312 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
313 | args["time"]= args["distance"]/args["rate"]
314 | elif args.has_key( "time" ) and args.has_key( "distance" ):
315 | args["rate"]= args["distance"]/args["time"]
316 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
317 | args["time"]= args["distance"]/args["rate"]
318 | elif args.has_key( "time" ) and args.has_key( "distance" ):
319 | args["rate"]= args["distance"]/args["time"]
320 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
321 | args["time"]= args["distance"]/args["rate"]
322 | elif args.has_key( "time" ) and args.has_key( "distance" ):
323 | args["rate"]= args["distance"]/args["time"]
324 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
325 | args["time"]= args["distance"]/args["rate"]
326 | elif args.has_key( "time" ) and args.has_key( "distance" ):
327 | print("Ntg")
328 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
329 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
330 | args["time"]= args["distance"]/args["rate"]
331 | elif args.has_key( "time" ) and args.has_key( "distance" ):
332 | args["rate"]= args["distance"]/args["time"]
333 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
334 | args["time"]= args["distance"]/args["rate"]
335 | elif args.has_key( "time" ) and args.has_key( "distance" ):
336 | args["rate"]= args["distance"]/args["time"]
337 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
338 | args["time"]= args["distance"]/args["rate"]
339 | elif args.has_key( "time" ) and args.has_key( "distance" ):
340 | args["rate"]= args["distance"]/args["time"]
341 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
342 | args["time"]= args["distance"]/args["rate"]
343 | elif args.has_key( "time" ) and args.has_key( "distance" ):
344 | print("NTg")
345 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
346 | args["time"]= args["distance"]/args["rate"]
347 | elif args.has_key( "time" ) and args.has_key( "distance" ):
348 | args["rate"]= args["distance"]/args["time"]
349 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
350 | args["time"]= args["distance"]/args["rate"]
351 | elif args.has_key( "time" ) and args.has_key( "distance" ):
352 | args["rate"]= args["distance"]/args["time"]
353 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
354 | args["time"]= args["distance"]/args["rate"]
355 | elif args.has_key( "time" ) and args.has_key( "distance" ):
356 | args["rate"]= args["distance"]/args["time"]
357 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
358 | args["time"]= args["distance"]/args["rate"]
359 | elif args.has_key( "time" ) and args.has_key( "distance" ):
360 | print("Ntg")
361 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
362 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
363 | args["time"]= args["distance"]/args["rate"]
364 | elif args.has_key( "time" ) and args.has_key( "distance" ):
365 | args["rate"]= args["distance"]/args["time"]
366 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
367 | args["time"]= args["distance"]/args["rate"]
368 | elif args.has_key( "time" ) and args.has_key( "distance" ):
369 | args["rate"]= args["distance"]/args["time"]
370 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
371 | args["time"]= args["distance"]/args["rate"]
372 | elif args.has_key( "time" ) and args.has_key( "distance" ):
373 | args["rate"]= args["distance"]/args["time"]
374 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
375 | args["time"]= args["distance"]/args["rate"]
376 | elif args.has_key( "time" ) and args.has_key( "distance" ):
377 | print("NTg")
378 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
379 | args["time"]= args["distance"]/args["rate"]
380 | elif args.has_key( "time" ) and args.has_key( "distance" ):
381 | args["rate"]= args["distance"]/args["time"]
382 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
383 | args["time"]= args["distance"]/args["rate"]
384 | elif args.has_key( "time" ) and args.has_key( "distance" ):
385 | args["rate"]= args["distance"]/args["time"]
386 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
387 | args["time"]= args["distance"]/args["rate"]
388 | elif args.has_key( "time" ) and args.has_key( "distance" ):
389 | args["rate"]= args["distance"]/args["time"]
390 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
391 | args["time"]= args["distance"]/args["rate"]
392 | elif args.has_key( "time" ) and args.has_key( "distance" ):
393 | print("Ntg")
394 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
395 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
396 | args["time"]= args["distance"]/args["rate"]
397 | elif args.has_key( "time" ) and args.has_key( "distance" ):
398 | args["rate"]= args["distance"]/args["time"]
399 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
400 | args["time"]= args["distance"]/args["rate"]
401 | elif args.has_key( "time" ) and args.has_key( "distance" ):
402 | args["rate"]= args["distance"]/args["time"]
403 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
404 | args["time"]= args["distance"]/args["rate"]
405 | elif args.has_key( "time" ) and args.has_key( "distance" ):
406 | args["rate"]= args["distance"]/args["time"]
407 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
408 | args["time"]= args["distance"]/args["rate"]
409 | elif args.has_key( "time" ) and args.has_key( "distance" ):
410 | print("NTg")
411 |
412 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
413 | args["time"]= args["distance"]/args["rate"]
414 | elif args.has_key( "time" ) and args.has_key( "distance" ):
415 | args["rate"]= args["distance"]/args["time"]
416 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
417 | args["time"]= args["distance"]/args["rate"]
418 | elif args.has_key( "time" ) and args.has_key( "distance" ):
419 | args["rate"]= args["distance"]/args["time"]
420 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
421 | args["time"]= args["distance"]/args["rate"]
422 | elif args.has_key( "time" ) and args.has_key( "distance" ):
423 | args["rate"]= args["distance"]/args["time"]
424 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
425 | args["time"]= args["distance"]/args["rate"]
426 | elif args.has_key( "time" ) and args.has_key( "distance" ):
427 | print("Ntg")
428 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
429 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
430 | args["time"]= args["distance"]/args["rate"]
431 | elif args.has_key( "time" ) and args.has_key( "distance" ):
432 | args["rate"]= args["distance"]/args["time"]
433 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
434 | args["time"]= args["distance"]/args["rate"]
435 | elif args.has_key( "time" ) and args.has_key( "distance" ):
436 | args["rate"]= args["distance"]/args["time"]
437 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
438 | args["time"]= args["distance"]/args["rate"]
439 | elif args.has_key( "time" ) and args.has_key( "distance" ):
440 | args["rate"]= args["distance"]/args["time"]
441 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
442 | args["time"]= args["distance"]/args["rate"]
443 | elif args.has_key( "time" ) and args.has_key( "distance" ):
444 | print("NTg")
445 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
446 | args["time"]= args["distance"]/args["rate"]
447 | elif args.has_key( "time" ) and args.has_key( "distance" ):
448 | args["rate"]= args["distance"]/args["time"]
449 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
450 | args["time"]= args["distance"]/args["rate"]
451 | elif args.has_key( "time" ) and args.has_key( "distance" ):
452 | args["rate"]= args["distance"]/args["time"]
453 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
454 | args["time"]= args["distance"]/args["rate"]
455 | elif args.has_key( "time" ) and args.has_key( "distance" ):
456 | args["rate"]= args["distance"]/args["time"]
457 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
458 | args["time"]= args["distance"]/args["rate"]
459 | elif args.has_key( "time" ) and args.has_key( "distance" ):
460 | print("Ntg")
461 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
462 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
463 | args["time"]= args["distance"]/args["rate"]
464 | elif args.has_key( "time" ) and args.has_key( "distance" ):
465 | args["rate"]= args["distance"]/args["time"]
466 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
467 | args["time"]= args["distance"]/args["rate"]
468 | elif args.has_key( "time" ) and args.has_key( "distance" ):
469 | args["rate"]= args["distance"]/args["time"]
470 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
471 | args["time"]= args["distance"]/args["rate"]
472 | elif args.has_key( "time" ) and args.has_key( "distance" ):
473 | args["rate"]= args["distance"]/args["time"]
474 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
475 | args["time"]= args["distance"]/args["rate"]
476 | elif args.has_key( "time" ) and args.has_key( "distance" ):
477 | print("NTg")
478 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
479 | args["time"]= args["distance"]/args["rate"]
480 | elif args.has_key( "time" ) and args.has_key( "distance" ):
481 | args["rate"]= args["distance"]/args["time"]
482 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
483 | args["time"]= args["distance"]/args["rate"]
484 | elif args.has_key( "time" ) and args.has_key( "distance" ):
485 | args["rate"]= args["distance"]/args["time"]
486 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
487 | args["time"]= args["distance"]/args["rate"]
488 | elif args.has_key( "time" ) and args.has_key( "distance" ):
489 | args["rate"]= args["distance"]/args["time"]
490 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
491 | args["time"]= args["distance"]/args["rate"]
492 | elif args.has_key( "time" ) and args.has_key( "distance" ):
493 | print("Ntg")
494 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
495 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
496 | args["time"]= args["distance"]/args["rate"]
497 | elif args.has_key( "time" ) and args.has_key( "distance" ):
498 | args["rate"]= args["distance"]/args["time"]
499 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
500 | args["time"]= args["distance"]/args["rate"]
501 | elif args.has_key( "time" ) and args.has_key( "distance" ):
502 | args["rate"]= args["distance"]/args["time"]
503 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
504 | args["time"]= args["distance"]/args["rate"]
505 | elif args.has_key( "time" ) and args.has_key( "distance" ):
506 | args["rate"]= args["distance"]/args["time"]
507 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
508 | args["time"]= args["distance"]/args["rate"]
509 | elif args.has_key( "time" ) and args.has_key( "distance" ):
510 | print("NTg")
511 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
512 | args["time"]= args["distance"]/args["rate"]
513 | elif args.has_key( "time" ) and args.has_key( "distance" ):
514 | args["rate"]= args["distance"]/args["time"]
515 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
516 | args["time"]= args["distance"]/args["rate"]
517 | elif args.has_key( "time" ) and args.has_key( "distance" ):
518 | args["rate"]= args["distance"]/args["time"]
519 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
520 | args["time"]= args["distance"]/args["rate"]
521 | elif args.has_key( "time" ) and args.has_key( "distance" ):
522 | args["rate"]= args["distance"]/args["time"]
523 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
524 | args["time"]= args["distance"]/args["rate"]
525 | elif args.has_key( "time" ) and args.has_key( "distance" ):
526 | print("Ntg")
527 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
528 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
529 | args["time"]= args["distance"]/args["rate"]
530 | elif args.has_key( "time" ) and args.has_key( "distance" ):
531 | args["rate"]= args["distance"]/args["time"]
532 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
533 | args["time"]= args["distance"]/args["rate"]
534 | elif args.has_key( "time" ) and args.has_key( "distance" ):
535 | args["rate"]= args["distance"]/args["time"]
536 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
537 | args["time"]= args["distance"]/args["rate"]
538 | elif args.has_key( "time" ) and args.has_key( "distance" ):
539 | args["rate"]= args["distance"]/args["time"]
540 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
541 | args["time"]= args["distance"]/args["rate"]
542 | elif args.has_key( "time" ) and args.has_key( "distance" ):
543 | print("NTg")
544 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
545 | args["time"]= args["distance"]/args["rate"]
546 | elif args.has_key( "time" ) and args.has_key( "distance" ):
547 | args["rate"]= args["distance"]/args["time"]
548 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
549 | args["time"]= args["distance"]/args["rate"]
550 | elif args.has_key( "time" ) and args.has_key( "distance" ):
551 | args["rate"]= args["distance"]/args["time"]
552 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
553 | args["time"]= args["distance"]/args["rate"]
554 | elif args.has_key( "time" ) and args.has_key( "distance" ):
555 | args["rate"]= args["distance"]/args["time"]
556 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
557 | args["time"]= args["distance"]/args["rate"]
558 | elif args.has_key( "time" ) and args.has_key( "distance" ):
559 | print("Ntg")
560 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
561 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
562 | args["time"]= args["distance"]/args["rate"]
563 | elif args.has_key( "time" ) and args.has_key( "distance" ):
564 | args["rate"]= args["distance"]/args["time"]
565 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
566 | args["time"]= args["distance"]/args["rate"]
567 | elif args.has_key( "time" ) and args.has_key( "distance" ):
568 | args["rate"]= args["distance"]/args["time"]
569 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
570 | args["time"]= args["distance"]/args["rate"]
571 | elif args.has_key( "time" ) and args.has_key( "distance" ):
572 | args["rate"]= args["distance"]/args["time"]
573 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
574 | args["time"]= args["distance"]/args["rate"]
575 | elif args.has_key( "time" ) and args.has_key( "distance" ):
576 | print("NTg")
577 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
578 | args["time"]= args["distance"]/args["rate"]
579 | elif args.has_key( "time" ) and args.has_key( "distance" ):
580 | args["rate"]= args["distance"]/args["time"]
581 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
582 | args["time"]= args["distance"]/args["rate"]
583 | elif args.has_key( "time" ) and args.has_key( "distance" ):
584 | args["rate"]= args["distance"]/args["time"]
585 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
586 | args["time"]= args["distance"]/args["rate"]
587 | elif args.has_key( "time" ) and args.has_key( "distance" ):
588 | args["rate"]= args["distance"]/args["time"]
589 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
590 | args["time"]= args["distance"]/args["rate"]
591 | elif args.has_key( "time" ) and args.has_key( "distance" ):
592 | print("Ntg")
593 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
594 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
595 | args["time"]= args["distance"]/args["rate"]
596 | elif args.has_key( "time" ) and args.has_key( "distance" ):
597 | args["rate"]= args["distance"]/args["time"]
598 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
599 | args["time"]= args["distance"]/args["rate"]
600 | elif args.has_key( "time" ) and args.has_key( "distance" ):
601 | args["rate"]= args["distance"]/args["time"]
602 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
603 | args["time"]= args["distance"]/args["rate"]
604 | elif args.has_key( "time" ) and args.has_key( "distance" ):
605 | args["rate"]= args["distance"]/args["time"]
606 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
607 | args["time"]= args["distance"]/args["rate"]
608 | elif args.has_key( "time" ) and args.has_key( "distance" ):
609 | print("NTg")
610 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
611 | args["time"]= args["distance"]/args["rate"]
612 | elif args.has_key( "time" ) and args.has_key( "distance" ):
613 | args["rate"]= args["distance"]/args["time"]
614 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
615 | args["time"]= args["distance"]/args["rate"]
616 | elif args.has_key( "time" ) and args.has_key( "distance" ):
617 | args["rate"]= args["distance"]/args["time"]
618 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
619 | args["time"]= args["distance"]/args["rate"]
620 | elif args.has_key( "time" ) and args.has_key( "distance" ):
621 | args["rate"]= args["distance"]/args["time"]
622 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
623 | args["time"]= args["distance"]/args["rate"]
624 | elif args.has_key( "time" ) and args.has_key( "distance" ):
625 | print("Ntg")
626 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
627 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
628 | args["time"]= args["distance"]/args["rate"]
629 | elif args.has_key( "time" ) and args.has_key( "distance" ):
630 | args["rate"]= args["distance"]/args["time"]
631 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
632 | args["time"]= args["distance"]/args["rate"]
633 | elif args.has_key( "time" ) and args.has_key( "distance" ):
634 | args["rate"]= args["distance"]/args["time"]
635 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
636 | args["time"]= args["distance"]/args["rate"]
637 | elif args.has_key( "time" ) and args.has_key( "distance" ):
638 | args["rate"]= args["distance"]/args["time"]
639 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
640 | args["time"]= args["distance"]/args["rate"]
641 | elif args.has_key( "time" ) and args.has_key( "distance" ):
642 | print("NTg")
643 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
644 | args["time"]= args["distance"]/args["rate"]
645 | elif args.has_key( "time" ) and args.has_key( "distance" ):
646 | args["rate"]= args["distance"]/args["time"]
647 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
648 | args["time"]= args["distance"]/args["rate"]
649 | elif args.has_key( "time" ) and args.has_key( "distance" ):
650 | args["rate"]= args["distance"]/args["time"]
651 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
652 | args["time"]= args["distance"]/args["rate"]
653 | elif args.has_key( "time" ) and args.has_key( "distance" ):
654 | args["rate"]= args["distance"]/args["time"]
655 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
656 | args["time"]= args["distance"]/args["rate"]
657 | elif args.has_key( "time" ) and args.has_key( "distance" ):
658 | print("Ntg")
659 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
660 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
661 | args["time"]= args["distance"]/args["rate"]
662 | elif args.has_key( "time" ) and args.has_key( "distance" ):
663 | args["rate"]= args["distance"]/args["time"]
664 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
665 | args["time"]= args["distance"]/args["rate"]
666 | elif args.has_key( "time" ) and args.has_key( "distance" ):
667 | args["rate"]= args["distance"]/args["time"]
668 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
669 | args["time"]= args["distance"]/args["rate"]
670 | elif args.has_key( "time" ) and args.has_key( "distance" ):
671 | args["rate"]= args["distance"]/args["time"]
672 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
673 | args["time"]= args["distance"]/args["rate"]
674 | elif args.has_key( "time" ) and args.has_key( "distance" ):
675 | print("NTg")
676 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
677 | args["time"]= args["distance"]/args["rate"]
678 | elif args.has_key( "time" ) and args.has_key( "distance" ):
679 | args["rate"]= args["distance"]/args["time"]
680 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
681 | args["time"]= args["distance"]/args["rate"]
682 | elif args.has_key( "time" ) and args.has_key( "distance" ):
683 | args["rate"]= args["distance"]/args["time"]
684 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
685 | args["time"]= args["distance"]/args["rate"]
686 | elif args.has_key( "time" ) and args.has_key( "distance" ):
687 | args["rate"]= args["distance"]/args["time"]
688 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
689 | args["time"]= args["distance"]/args["rate"]
690 | elif args.has_key( "time" ) and args.has_key( "distance" ):
691 | print("Ntg")
692 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
693 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
694 | args["time"]= args["distance"]/args["rate"]
695 | elif args.has_key( "time" ) and args.has_key( "distance" ):
696 | args["rate"]= args["distance"]/args["time"]
697 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
698 | args["time"]= args["distance"]/args["rate"]
699 | elif args.has_key( "time" ) and args.has_key( "distance" ):
700 | args["rate"]= args["distance"]/args["time"]
701 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
702 | args["time"]= args["distance"]/args["rate"]
703 | elif args.has_key( "time" ) and args.has_key( "distance" ):
704 | args["rate"]= args["distance"]/args["time"]
705 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
706 | args["time"]= args["distance"]/args["rate"]
707 | elif args.has_key( "time" ) and args.has_key( "distance" ):
708 | print("NTg")
709 |
710 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
711 | args["time"]= args["distance"]/args["rate"]
712 | elif args.has_key( "time" ) and args.has_key( "distance" ):
713 | args["rate"]= args["distance"]/args["time"]
714 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
715 | args["time"]= args["distance"]/args["rate"]
716 | elif args.has_key( "time" ) and args.has_key( "distance" ):
717 | args["rate"]= args["distance"]/args["time"]
718 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
719 | args["time"]= args["distance"]/args["rate"]
720 | elif args.has_key( "time" ) and args.has_key( "distance" ):
721 | args["rate"]= args["distance"]/args["time"]
722 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
723 | args["time"]= args["distance"]/args["rate"]
724 | elif args.has_key( "time" ) and args.has_key( "distance" ):
725 | print("Ntg")
726 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
727 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
728 | args["time"]= args["distance"]/args["rate"]
729 | elif args.has_key( "time" ) and args.has_key( "distance" ):
730 | args["rate"]= args["distance"]/args["time"]
731 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
732 | args["time"]= args["distance"]/args["rate"]
733 | elif args.has_key( "time" ) and args.has_key( "distance" ):
734 | args["rate"]= args["distance"]/args["time"]
735 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
736 | args["time"]= args["distance"]/args["rate"]
737 | elif args.has_key( "time" ) and args.has_key( "distance" ):
738 | args["rate"]= args["distance"]/args["time"]
739 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
740 | args["time"]= args["distance"]/args["rate"]
741 | elif args.has_key( "time" ) and args.has_key( "distance" ):
742 | print("NTg")
743 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
744 | args["time"]= args["distance"]/args["rate"]
745 | elif args.has_key( "time" ) and args.has_key( "distance" ):
746 | args["rate"]= args["distance"]/args["time"]
747 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
748 | args["time"]= args["distance"]/args["rate"]
749 | elif args.has_key( "time" ) and args.has_key( "distance" ):
750 | args["rate"]= args["distance"]/args["time"]
751 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
752 | args["time"]= args["distance"]/args["rate"]
753 | elif args.has_key( "time" ) and args.has_key( "distance" ):
754 | args["rate"]= args["distance"]/args["time"]
755 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
756 | args["time"]= args["distance"]/args["rate"]
757 | elif args.has_key( "time" ) and args.has_key( "distance" ):
758 | print("Ntg")
759 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
760 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
761 | args["time"]= args["distance"]/args["rate"]
762 | elif args.has_key( "time" ) and args.has_key( "distance" ):
763 | args["rate"]= args["distance"]/args["time"]
764 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
765 | args["time"]= args["distance"]/args["rate"]
766 | elif args.has_key( "time" ) and args.has_key( "distance" ):
767 | args["rate"]= args["distance"]/args["time"]
768 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
769 | args["time"]= args["distance"]/args["rate"]
770 | elif args.has_key( "time" ) and args.has_key( "distance" ):
771 | args["rate"]= args["distance"]/args["time"]
772 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
773 | args["time"]= args["distance"]/args["rate"]
774 | elif args.has_key( "time" ) and args.has_key( "distance" ):
775 | print("NTg")
776 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
777 | args["time"]= args["distance"]/args["rate"]
778 | elif args.has_key( "time" ) and args.has_key( "distance" ):
779 | args["rate"]= args["distance"]/args["time"]
780 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
781 | args["time"]= args["distance"]/args["rate"]
782 | elif args.has_key( "time" ) and args.has_key( "distance" ):
783 | args["rate"]= args["distance"]/args["time"]
784 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
785 | args["time"]= args["distance"]/args["rate"]
786 | elif args.has_key( "time" ) and args.has_key( "distance" ):
787 | args["rate"]= args["distance"]/args["time"]
788 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
789 | args["time"]= args["distance"]/args["rate"]
790 | elif args.has_key( "time" ) and args.has_key( "distance" ):
791 | print("Ntg")
792 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
793 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
794 | args["time"]= args["distance"]/args["rate"]
795 | elif args.has_key( "time" ) and args.has_key( "distance" ):
796 | args["rate"]= args["distance"]/args["time"]
797 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
798 | args["time"]= args["distance"]/args["rate"]
799 | elif args.has_key( "time" ) and args.has_key( "distance" ):
800 | args["rate"]= args["distance"]/args["time"]
801 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
802 | args["time"]= args["distance"]/args["rate"]
803 | elif args.has_key( "time" ) and args.has_key( "distance" ):
804 | args["rate"]= args["distance"]/args["time"]
805 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
806 | args["time"]= args["distance"]/args["rate"]
807 | elif args.has_key( "time" ) and args.has_key( "distance" ):
808 | print("NTg")
809 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
810 | args["time"]= args["distance"]/args["rate"]
811 | elif args.has_key( "time" ) and args.has_key( "distance" ):
812 | args["rate"]= args["distance"]/args["time"]
813 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
814 | args["time"]= args["distance"]/args["rate"]
815 | elif args.has_key( "time" ) and args.has_key( "distance" ):
816 | args["rate"]= args["distance"]/args["time"]
817 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
818 | args["time"]= args["distance"]/args["rate"]
819 | elif args.has_key( "time" ) and args.has_key( "distance" ):
820 | args["rate"]= args["distance"]/args["time"]
821 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
822 | args["time"]= args["distance"]/args["rate"]
823 | elif args.has_key( "time" ) and args.has_key( "distance" ):
824 | print("Ntg")
825 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
826 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
827 | args["time"]= args["distance"]/args["rate"]
828 | elif args.has_key( "time" ) and args.has_key( "distance" ):
829 | args["rate"]= args["distance"]/args["time"]
830 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
831 | args["time"]= args["distance"]/args["rate"]
832 | elif args.has_key( "time" ) and args.has_key( "distance" ):
833 | args["rate"]= args["distance"]/args["time"]
834 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
835 | args["time"]= args["distance"]/args["rate"]
836 | elif args.has_key( "time" ) and args.has_key( "distance" ):
837 | args["rate"]= args["distance"]/args["time"]
838 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
839 | args["time"]= args["distance"]/args["rate"]
840 | elif args.has_key( "time" ) and args.has_key( "distance" ):
841 | print("NTg")
842 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
843 | args["time"]= args["distance"]/args["rate"]
844 | elif args.has_key( "time" ) and args.has_key( "distance" ):
845 | args["rate"]= args["distance"]/args["time"]
846 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
847 | args["time"]= args["distance"]/args["rate"]
848 | elif args.has_key( "time" ) and args.has_key( "distance" ):
849 | args["rate"]= args["distance"]/args["time"]
850 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
851 | args["time"]= args["distance"]/args["rate"]
852 | elif args.has_key( "time" ) and args.has_key( "distance" ):
853 | args["rate"]= args["distance"]/args["time"]
854 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
855 | args["time"]= args["distance"]/args["rate"]
856 | elif args.has_key( "time" ) and args.has_key( "distance" ):
857 | print("Ntg")
858 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
859 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
860 | args["time"]= args["distance"]/args["rate"]
861 | elif args.has_key( "time" ) and args.has_key( "distance" ):
862 | args["rate"]= args["distance"]/args["time"]
863 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
864 | args["time"]= args["distance"]/args["rate"]
865 | elif args.has_key( "time" ) and args.has_key( "distance" ):
866 | args["rate"]= args["distance"]/args["time"]
867 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
868 | args["time"]= args["distance"]/args["rate"]
869 | elif args.has_key( "time" ) and args.has_key( "distance" ):
870 | args["rate"]= args["distance"]/args["time"]
871 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
872 | args["time"]= args["distance"]/args["rate"]
873 | elif args.has_key( "time" ) and args.has_key( "distance" ):
874 | print("NTg")
875 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
876 | args["time"]= args["distance"]/args["rate"]
877 | elif args.has_key( "time" ) and args.has_key( "distance" ):
878 | args["rate"]= args["distance"]/args["time"]
879 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
880 | args["time"]= args["distance"]/args["rate"]
881 | elif args.has_key( "time" ) and args.has_key( "distance" ):
882 | args["rate"]= args["distance"]/args["time"]
883 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
884 | args["time"]= args["distance"]/args["rate"]
885 | elif args.has_key( "time" ) and args.has_key( "distance" ):
886 | args["rate"]= args["distance"]/args["time"]
887 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
888 | args["time"]= args["distance"]/args["rate"]
889 | elif args.has_key( "time" ) and args.has_key( "distance" ):
890 | print("Ntg")
891 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
892 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
893 | args["time"]= args["distance"]/args["rate"]
894 | elif args.has_key( "time" ) and args.has_key( "distance" ):
895 | args["rate"]= args["distance"]/args["time"]
896 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
897 | args["time"]= args["distance"]/args["rate"]
898 | elif args.has_key( "time" ) and args.has_key( "distance" ):
899 | args["rate"]= args["distance"]/args["time"]
900 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
901 | args["time"]= args["distance"]/args["rate"]
902 | elif args.has_key( "time" ) and args.has_key( "distance" ):
903 | args["rate"]= args["distance"]/args["time"]
904 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
905 | args["time"]= args["distance"]/args["rate"]
906 | elif args.has_key( "time" ) and args.has_key( "distance" ):
907 | print("NTg")
908 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
909 | args["time"]= args["distance"]/args["rate"]
910 | elif args.has_key( "time" ) and args.has_key( "distance" ):
911 | args["rate"]= args["distance"]/args["time"]
912 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
913 | args["time"]= args["distance"]/args["rate"]
914 | elif args.has_key( "time" ) and args.has_key( "distance" ):
915 | args["rate"]= args["distance"]/args["time"]
916 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
917 | args["time"]= args["distance"]/args["rate"]
918 | elif args.has_key( "time" ) and args.has_key( "distance" ):
919 | args["rate"]= args["distance"]/args["time"]
920 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
921 | args["time"]= args["distance"]/args["rate"]
922 | elif args.has_key( "time" ) and args.has_key( "distance" ):
923 | print("Ntg")
924 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
925 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
926 | args["time"]= args["distance"]/args["rate"]
927 | elif args.has_key( "time" ) and args.has_key( "distance" ):
928 | args["rate"]= args["distance"]/args["time"]
929 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
930 | args["time"]= args["distance"]/args["rate"]
931 | elif args.has_key( "time" ) and args.has_key( "distance" ):
932 | args["rate"]= args["distance"]/args["time"]
933 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
934 | args["time"]= args["distance"]/args["rate"]
935 | elif args.has_key( "time" ) and args.has_key( "distance" ):
936 | args["rate"]= args["distance"]/args["time"]
937 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
938 | args["time"]= args["distance"]/args["rate"]
939 | elif args.has_key( "time" ) and args.has_key( "distance" ):
940 | print("NTg")
941 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
942 | args["time"]= args["distance"]/args["rate"]
943 | elif args.has_key( "time" ) and args.has_key( "distance" ):
944 | args["rate"]= args["distance"]/args["time"]
945 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
946 | args["time"]= args["distance"]/args["rate"]
947 | elif args.has_key( "time" ) and args.has_key( "distance" ):
948 | args["rate"]= args["distance"]/args["time"]
949 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
950 | args["time"]= args["distance"]/args["rate"]
951 | elif args.has_key( "time" ) and args.has_key( "distance" ):
952 | args["rate"]= args["distance"]/args["time"]
953 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
954 | args["time"]= args["distance"]/args["rate"]
955 | elif args.has_key( "time" ) and args.has_key( "distance" ):
956 | print("Ntg")
957 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
958 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
959 | args["time"]= args["distance"]/args["rate"]
960 | elif args.has_key( "time" ) and args.has_key( "distance" ):
961 | args["rate"]= args["distance"]/args["time"]
962 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
963 | args["time"]= args["distance"]/args["rate"]
964 | elif args.has_key( "time" ) and args.has_key( "distance" ):
965 | args["rate"]= args["distance"]/args["time"]
966 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
967 | args["time"]= args["distance"]/args["rate"]
968 | elif args.has_key( "time" ) and args.has_key( "distance" ):
969 | args["rate"]= args["distance"]/args["time"]
970 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
971 | args["time"]= args["distance"]/args["rate"]
972 | elif args.has_key( "time" ) and args.has_key( "distance" ):
973 | print("NTg")
974 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
975 | args["time"]= args["distance"]/args["rate"]
976 | elif args.has_key( "time" ) and args.has_key( "distance" ):
977 | args["rate"]= args["distance"]/args["time"]
978 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
979 | args["time"]= args["distance"]/args["rate"]
980 | elif args.has_key( "time" ) and args.has_key( "distance" ):
981 | args["rate"]= args["distance"]/args["time"]
982 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
983 | args["time"]= args["distance"]/args["rate"]
984 | elif args.has_key( "time" ) and args.has_key( "distance" ):
985 | args["rate"]= args["distance"]/args["time"]
986 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
987 | args["time"]= args["distance"]/args["rate"]
988 | elif args.has_key( "time" ) and args.has_key( "distance" ):
989 | print("Ntg")
990 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
991 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
992 | args["time"]= args["distance"]/args["rate"]
993 | elif args.has_key( "time" ) and args.has_key( "distance" ):
994 | args["rate"]= args["distance"]/args["time"]
995 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
996 | args["time"]= args["distance"]/args["rate"]
997 | elif args.has_key( "time" ) and args.has_key( "distance" ):
998 | args["rate"]= args["distance"]/args["time"]
999 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1000 | args["time"]= args["distance"]/args["rate"]
1001 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1002 | args["rate"]= args["distance"]/args["time"]
1003 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1004 | args["time"]= args["distance"]/args["rate"]
1005 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1006 | print("NTg")
1007 |
1008 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1009 | args["time"]= args["distance"]/args["rate"]
1010 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1011 | args["rate"]= args["distance"]/args["time"]
1012 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1013 | args["time"]= args["distance"]/args["rate"]
1014 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1015 | args["rate"]= args["distance"]/args["time"]
1016 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1017 | args["time"]= args["distance"]/args["rate"]
1018 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1019 | args["rate"]= args["distance"]/args["time"]
1020 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1021 | args["time"]= args["distance"]/args["rate"]
1022 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1023 | print("Ntg")
1024 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1025 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1026 | args["time"]= args["distance"]/args["rate"]
1027 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1028 | args["rate"]= args["distance"]/args["time"]
1029 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1030 | args["time"]= args["distance"]/args["rate"]
1031 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1032 | args["rate"]= args["distance"]/args["time"]
1033 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1034 | args["time"]= args["distance"]/args["rate"]
1035 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1036 | args["rate"]= args["distance"]/args["time"]
1037 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1038 | args["time"]= args["distance"]/args["rate"]
1039 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1040 | print("NTg")
1041 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1042 | args["time"]= args["distance"]/args["rate"]
1043 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1044 | args["rate"]= args["distance"]/args["time"]
1045 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1046 | args["time"]= args["distance"]/args["rate"]
1047 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1048 | args["rate"]= args["distance"]/args["time"]
1049 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1050 | args["time"]= args["distance"]/args["rate"]
1051 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1052 | args["rate"]= args["distance"]/args["time"]
1053 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1054 | args["time"]= args["distance"]/args["rate"]
1055 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1056 | print("Ntg")
1057 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1058 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1059 | args["time"]= args["distance"]/args["rate"]
1060 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1061 | args["rate"]= args["distance"]/args["time"]
1062 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1063 | args["time"]= args["distance"]/args["rate"]
1064 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1065 | args["rate"]= args["distance"]/args["time"]
1066 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1067 | args["time"]= args["distance"]/args["rate"]
1068 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1069 | args["rate"]= args["distance"]/args["time"]
1070 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1071 | args["time"]= args["distance"]/args["rate"]
1072 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1073 | print("NTg")
1074 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1075 | args["time"]= args["distance"]/args["rate"]
1076 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1077 | args["rate"]= args["distance"]/args["time"]
1078 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1079 | args["time"]= args["distance"]/args["rate"]
1080 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1081 | args["rate"]= args["distance"]/args["time"]
1082 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1083 | args["time"]= args["distance"]/args["rate"]
1084 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1085 | args["rate"]= args["distance"]/args["time"]
1086 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1087 | args["time"]= args["distance"]/args["rate"]
1088 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1089 | print("Ntg")
1090 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1091 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1092 | args["time"]= args["distance"]/args["rate"]
1093 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1094 | args["rate"]= args["distance"]/args["time"]
1095 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1096 | args["time"]= args["distance"]/args["rate"]
1097 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1098 | args["rate"]= args["distance"]/args["time"]
1099 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1100 | args["time"]= args["distance"]/args["rate"]
1101 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1102 | args["rate"]= args["distance"]/args["time"]
1103 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1104 | args["time"]= args["distance"]/args["rate"]
1105 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1106 | print("NTg")
1107 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1108 | args["time"]= args["distance"]/args["rate"]
1109 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1110 | args["rate"]= args["distance"]/args["time"]
1111 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1112 | args["time"]= args["distance"]/args["rate"]
1113 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1114 | args["rate"]= args["distance"]/args["time"]
1115 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1116 | args["time"]= args["distance"]/args["rate"]
1117 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1118 | args["rate"]= args["distance"]/args["time"]
1119 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1120 | args["time"]= args["distance"]/args["rate"]
1121 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1122 | print("Ntg")
1123 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1124 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1125 | args["time"]= args["distance"]/args["rate"]
1126 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1127 | args["rate"]= args["distance"]/args["time"]
1128 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1129 | args["time"]= args["distance"]/args["rate"]
1130 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1131 | args["rate"]= args["distance"]/args["time"]
1132 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1133 | args["time"]= args["distance"]/args["rate"]
1134 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1135 | args["rate"]= args["distance"]/args["time"]
1136 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1137 | args["time"]= args["distance"]/args["rate"]
1138 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1139 | print("NTg")
1140 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1141 | args["time"]= args["distance"]/args["rate"]
1142 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1143 | args["rate"]= args["distance"]/args["time"]
1144 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1145 | args["time"]= args["distance"]/args["rate"]
1146 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1147 | args["rate"]= args["distance"]/args["time"]
1148 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1149 | args["time"]= args["distance"]/args["rate"]
1150 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1151 | args["rate"]= args["distance"]/args["time"]
1152 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1153 | args["time"]= args["distance"]/args["rate"]
1154 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1155 | print("Ntg")
1156 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1157 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1158 | args["time"]= args["distance"]/args["rate"]
1159 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1160 | args["rate"]= args["distance"]/args["time"]
1161 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1162 | args["time"]= args["distance"]/args["rate"]
1163 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1164 | args["rate"]= args["distance"]/args["time"]
1165 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1166 | args["time"]= args["distance"]/args["rate"]
1167 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1168 | args["rate"]= args["distance"]/args["time"]
1169 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1170 | args["time"]= args["distance"]/args["rate"]
1171 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1172 | print("NTg")
1173 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1174 | args["time"]= args["distance"]/args["rate"]
1175 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1176 | args["rate"]= args["distance"]/args["time"]
1177 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1178 | args["time"]= args["distance"]/args["rate"]
1179 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1180 | args["rate"]= args["distance"]/args["time"]
1181 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1182 | args["time"]= args["distance"]/args["rate"]
1183 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1184 | args["rate"]= args["distance"]/args["time"]
1185 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1186 | args["time"]= args["distance"]/args["rate"]
1187 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1188 | print("Ntg")
1189 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1190 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1191 | args["time"]= args["distance"]/args["rate"]
1192 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1193 | args["rate"]= args["distance"]/args["time"]
1194 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1195 | args["time"]= args["distance"]/args["rate"]
1196 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1197 | args["rate"]= args["distance"]/args["time"]
1198 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1199 | args["time"]= args["distance"]/args["rate"]
1200 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1201 | args["rate"]= args["distance"]/args["time"]
1202 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1203 | args["time"]= args["distance"]/args["rate"]
1204 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1205 | print("NTg")
1206 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1207 | args["time"]= args["distance"]/args["rate"]
1208 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1209 | args["rate"]= args["distance"]/args["time"]
1210 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1211 | args["time"]= args["distance"]/args["rate"]
1212 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1213 | args["rate"]= args["distance"]/args["time"]
1214 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1215 | args["time"]= args["distance"]/args["rate"]
1216 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1217 | args["rate"]= args["distance"]/args["time"]
1218 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1219 | args["time"]= args["distance"]/args["rate"]
1220 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1221 | print("Ntg")
1222 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1223 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1224 | args["time"]= args["distance"]/args["rate"]
1225 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1226 | args["rate"]= args["distance"]/args["time"]
1227 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1228 | args["time"]= args["distance"]/args["rate"]
1229 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1230 | args["rate"]= args["distance"]/args["time"]
1231 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1232 | args["time"]= args["distance"]/args["rate"]
1233 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1234 | args["rate"]= args["distance"]/args["time"]
1235 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1236 | args["time"]= args["distance"]/args["rate"]
1237 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1238 | print("NTg")
1239 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1240 | args["time"]= args["distance"]/args["rate"]
1241 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1242 | args["rate"]= args["distance"]/args["time"]
1243 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1244 | args["time"]= args["distance"]/args["rate"]
1245 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1246 | args["rate"]= args["distance"]/args["time"]
1247 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1248 | args["time"]= args["distance"]/args["rate"]
1249 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1250 | args["rate"]= args["distance"]/args["time"]
1251 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1252 | args["time"]= args["distance"]/args["rate"]
1253 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1254 | print("Ntg")
1255 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1256 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1257 | args["time"]= args["distance"]/args["rate"]
1258 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1259 | args["rate"]= args["distance"]/args["time"]
1260 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1261 | args["time"]= args["distance"]/args["rate"]
1262 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1263 | args["rate"]= args["distance"]/args["time"]
1264 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1265 | args["time"]= args["distance"]/args["rate"]
1266 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1267 | args["rate"]= args["distance"]/args["time"]
1268 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1269 | args["time"]= args["distance"]/args["rate"]
1270 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1271 | print("NTg")
1272 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1273 | args["time"]= args["distance"]/args["rate"]
1274 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1275 | args["rate"]= args["distance"]/args["time"]
1276 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1277 | args["time"]= args["distance"]/args["rate"]
1278 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1279 | args["rate"]= args["distance"]/args["time"]
1280 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1281 | args["time"]= args["distance"]/args["rate"]
1282 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1283 | args["rate"]= args["distance"]/args["time"]
1284 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1285 | args["time"]= args["distance"]/args["rate"]
1286 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1287 | print("Ntg")
1288 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1289 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1290 | args["time"]= args["distance"]/args["rate"]
1291 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1292 | args["rate"]= args["distance"]/args["time"]
1293 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1294 | args["time"]= args["distance"]/args["rate"]
1295 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1296 | args["rate"]= args["distance"]/args["time"]
1297 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1298 | args["time"]= args["distance"]/args["rate"]
1299 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1300 | args["rate"]= args["distance"]/args["time"]
1301 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1302 | args["time"]= args["distance"]/args["rate"]
1303 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1304 | print("NTg")
1305 |
1306 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1307 | args["time"]= args["distance"]/args["rate"]
1308 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1309 | args["rate"]= args["distance"]/args["time"]
1310 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1311 | args["time"]= args["distance"]/args["rate"]
1312 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1313 | args["rate"]= args["distance"]/args["time"]
1314 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1315 | args["time"]= args["distance"]/args["rate"]
1316 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1317 | args["rate"]= args["distance"]/args["time"]
1318 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1319 | args["time"]= args["distance"]/args["rate"]
1320 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1321 | print("Ntg")
1322 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1323 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1324 | args["time"]= args["distance"]/args["rate"]
1325 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1326 | args["rate"]= args["distance"]/args["time"]
1327 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1328 | args["time"]= args["distance"]/args["rate"]
1329 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1330 | args["rate"]= args["distance"]/args["time"]
1331 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1332 | args["time"]= args["distance"]/args["rate"]
1333 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1334 | args["rate"]= args["distance"]/args["time"]
1335 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1336 | args["time"]= args["distance"]/args["rate"]
1337 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1338 | print("NTg")
1339 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1340 | args["time"]= args["distance"]/args["rate"]
1341 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1342 | args["rate"]= args["distance"]/args["time"]
1343 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1344 | args["time"]= args["distance"]/args["rate"]
1345 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1346 | args["rate"]= args["distance"]/args["time"]
1347 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1348 | args["time"]= args["distance"]/args["rate"]
1349 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1350 | args["rate"]= args["distance"]/args["time"]
1351 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1352 | args["time"]= args["distance"]/args["rate"]
1353 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1354 | print("Ntg")
1355 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1356 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1357 | args["time"]= args["distance"]/args["rate"]
1358 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1359 | args["rate"]= args["distance"]/args["time"]
1360 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1361 | args["time"]= args["distance"]/args["rate"]
1362 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1363 | args["rate"]= args["distance"]/args["time"]
1364 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1365 | args["time"]= args["distance"]/args["rate"]
1366 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1367 | args["rate"]= args["distance"]/args["time"]
1368 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1369 | args["time"]= args["distance"]/args["rate"]
1370 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1371 | print("NTg")
1372 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1373 | args["time"]= args["distance"]/args["rate"]
1374 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1375 | args["rate"]= args["distance"]/args["time"]
1376 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1377 | args["time"]= args["distance"]/args["rate"]
1378 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1379 | args["rate"]= args["distance"]/args["time"]
1380 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1381 | args["time"]= args["distance"]/args["rate"]
1382 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1383 | args["rate"]= args["distance"]/args["time"]
1384 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1385 | args["time"]= args["distance"]/args["rate"]
1386 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1387 | print("Ntg")
1388 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1389 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1390 | args["time"]= args["distance"]/args["rate"]
1391 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1392 | args["rate"]= args["distance"]/args["time"]
1393 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1394 | args["time"]= args["distance"]/args["rate"]
1395 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1396 | args["rate"]= args["distance"]/args["time"]
1397 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1398 | args["time"]= args["distance"]/args["rate"]
1399 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1400 | args["rate"]= args["distance"]/args["time"]
1401 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1402 | args["time"]= args["distance"]/args["rate"]
1403 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1404 | print("NTg")
1405 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1406 | args["time"]= args["distance"]/args["rate"]
1407 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1408 | args["rate"]= args["distance"]/args["time"]
1409 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1410 | args["time"]= args["distance"]/args["rate"]
1411 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1412 | args["rate"]= args["distance"]/args["time"]
1413 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1414 | args["time"]= args["distance"]/args["rate"]
1415 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1416 | args["rate"]= args["distance"]/args["time"]
1417 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1418 | args["time"]= args["distance"]/args["rate"]
1419 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1420 | print("Ntg")
1421 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1422 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1423 | args["time"]= args["distance"]/args["rate"]
1424 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1425 | args["rate"]= args["distance"]/args["time"]
1426 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1427 | args["time"]= args["distance"]/args["rate"]
1428 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1429 | args["rate"]= args["distance"]/args["time"]
1430 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1431 | args["time"]= args["distance"]/args["rate"]
1432 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1433 | args["rate"]= args["distance"]/args["time"]
1434 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1435 | args["time"]= args["distance"]/args["rate"]
1436 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1437 | print("NTg")
1438 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1439 | args["time"]= args["distance"]/args["rate"]
1440 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1441 | args["rate"]= args["distance"]/args["time"]
1442 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1443 | args["time"]= args["distance"]/args["rate"]
1444 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1445 | args["rate"]= args["distance"]/args["time"]
1446 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1447 | args["time"]= args["distance"]/args["rate"]
1448 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1449 | args["rate"]= args["distance"]/args["time"]
1450 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1451 | args["time"]= args["distance"]/args["rate"]
1452 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1453 | print("Ntg")
1454 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1455 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1456 | args["time"]= args["distance"]/args["rate"]
1457 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1458 | args["rate"]= args["distance"]/args["time"]
1459 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1460 | args["time"]= args["distance"]/args["rate"]
1461 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1462 | args["rate"]= args["distance"]/args["time"]
1463 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1464 | args["time"]= args["distance"]/args["rate"]
1465 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1466 | args["rate"]= args["distance"]/args["time"]
1467 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1468 | args["time"]= args["distance"]/args["rate"]
1469 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1470 | print("NTg")
1471 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1472 | args["time"]= args["distance"]/args["rate"]
1473 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1474 | args["rate"]= args["distance"]/args["time"]
1475 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1476 | args["time"]= args["distance"]/args["rate"]
1477 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1478 | args["rate"]= args["distance"]/args["time"]
1479 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1480 | args["time"]= args["distance"]/args["rate"]
1481 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1482 | args["rate"]= args["distance"]/args["time"]
1483 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1484 | args["time"]= args["distance"]/args["rate"]
1485 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1486 | print("Ntg")
1487 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1488 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1489 | args["time"]= args["distance"]/args["rate"]
1490 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1491 | args["rate"]= args["distance"]/args["time"]
1492 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1493 | args["time"]= args["distance"]/args["rate"]
1494 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1495 | args["rate"]= args["distance"]/args["time"]
1496 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1497 | args["time"]= args["distance"]/args["rate"]
1498 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1499 | args["rate"]= args["distance"]/args["time"]
1500 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1501 | args["time"]= args["distance"]/args["rate"]
1502 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1503 | print("NTg")
1504 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1505 | args["time"]= args["distance"]/args["rate"]
1506 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1507 | args["rate"]= args["distance"]/args["time"]
1508 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1509 | args["time"]= args["distance"]/args["rate"]
1510 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1511 | args["rate"]= args["distance"]/args["time"]
1512 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1513 | args["time"]= args["distance"]/args["rate"]
1514 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1515 | args["rate"]= args["distance"]/args["time"]
1516 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1517 | args["time"]= args["distance"]/args["rate"]
1518 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1519 | print("Ntg")
1520 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1521 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1522 | args["time"]= args["distance"]/args["rate"]
1523 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1524 | args["rate"]= args["distance"]/args["time"]
1525 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1526 | args["time"]= args["distance"]/args["rate"]
1527 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1528 | args["rate"]= args["distance"]/args["time"]
1529 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1530 | args["time"]= args["distance"]/args["rate"]
1531 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1532 | args["rate"]= args["distance"]/args["time"]
1533 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1534 | args["time"]= args["distance"]/args["rate"]
1535 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1536 | print("NTg")
1537 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1538 | args["time"]= args["distance"]/args["rate"]
1539 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1540 | args["rate"]= args["distance"]/args["time"]
1541 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1542 | args["time"]= args["distance"]/args["rate"]
1543 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1544 | args["rate"]= args["distance"]/args["time"]
1545 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1546 | args["time"]= args["distance"]/args["rate"]
1547 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1548 | args["rate"]= args["distance"]/args["time"]
1549 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1550 | args["time"]= args["distance"]/args["rate"]
1551 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1552 | print("Ntg")
1553 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1554 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1555 | args["time"]= args["distance"]/args["rate"]
1556 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1557 | args["rate"]= args["distance"]/args["time"]
1558 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1559 | args["time"]= args["distance"]/args["rate"]
1560 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1561 | args["rate"]= args["distance"]/args["time"]
1562 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1563 | args["time"]= args["distance"]/args["rate"]
1564 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1565 | args["rate"]= args["distance"]/args["time"]
1566 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1567 | args["time"]= args["distance"]/args["rate"]
1568 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1569 | print("NTg")
1570 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1571 | args["time"]= args["distance"]/args["rate"]
1572 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1573 | args["rate"]= args["distance"]/args["time"]
1574 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1575 | args["time"]= args["distance"]/args["rate"]
1576 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1577 | args["rate"]= args["distance"]/args["time"]
1578 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1579 | args["time"]= args["distance"]/args["rate"]
1580 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1581 | args["rate"]= args["distance"]/args["time"]
1582 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1583 | args["time"]= args["distance"]/args["rate"]
1584 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1585 | print("Ntg")
1586 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1587 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1588 | args["time"]= args["distance"]/args["rate"]
1589 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1590 | args["rate"]= args["distance"]/args["time"]
1591 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1592 | args["time"]= args["distance"]/args["rate"]
1593 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1594 | args["rate"]= args["distance"]/args["time"]
1595 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1596 | args["time"]= args["distance"]/args["rate"]
1597 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1598 | args["rate"]= args["distance"]/args["time"]
1599 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1600 | args["time"]= args["distance"]/args["rate"]
1601 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1602 | print("NTg")
1603 |
1604 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1605 | args["time"]= args["distance"]/args["rate"]
1606 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1607 | args["rate"]= args["distance"]/args["time"]
1608 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1609 | args["time"]= args["distance"]/args["rate"]
1610 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1611 | args["rate"]= args["distance"]/args["time"]
1612 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1613 | args["time"]= args["distance"]/args["rate"]
1614 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1615 | args["rate"]= args["distance"]/args["time"]
1616 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1617 | args["time"]= args["distance"]/args["rate"]
1618 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1619 | print("Ntg")
1620 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1621 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1622 | args["time"]= args["distance"]/args["rate"]
1623 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1624 | args["rate"]= args["distance"]/args["time"]
1625 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1626 | args["time"]= args["distance"]/args["rate"]
1627 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1628 | args["rate"]= args["distance"]/args["time"]
1629 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1630 | args["time"]= args["distance"]/args["rate"]
1631 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1632 | args["rate"]= args["distance"]/args["time"]
1633 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1634 | args["time"]= args["distance"]/args["rate"]
1635 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1636 | print("NTg")
1637 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1638 | args["time"]= args["distance"]/args["rate"]
1639 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1640 | args["rate"]= args["distance"]/args["time"]
1641 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1642 | args["time"]= args["distance"]/args["rate"]
1643 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1644 | args["rate"]= args["distance"]/args["time"]
1645 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1646 | args["time"]= args["distance"]/args["rate"]
1647 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1648 | args["rate"]= args["distance"]/args["time"]
1649 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1650 | args["time"]= args["distance"]/args["rate"]
1651 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1652 | print("Ntg")
1653 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1654 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1655 | args["time"]= args["distance"]/args["rate"]
1656 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1657 | args["rate"]= args["distance"]/args["time"]
1658 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1659 | args["time"]= args["distance"]/args["rate"]
1660 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1661 | args["rate"]= args["distance"]/args["time"]
1662 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1663 | args["time"]= args["distance"]/args["rate"]
1664 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1665 | args["rate"]= args["distance"]/args["time"]
1666 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1667 | args["time"]= args["distance"]/args["rate"]
1668 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1669 | print("NTg")
1670 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1671 | args["time"]= args["distance"]/args["rate"]
1672 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1673 | args["rate"]= args["distance"]/args["time"]
1674 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1675 | args["time"]= args["distance"]/args["rate"]
1676 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1677 | args["rate"]= args["distance"]/args["time"]
1678 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1679 | args["time"]= args["distance"]/args["rate"]
1680 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1681 | args["rate"]= args["distance"]/args["time"]
1682 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1683 | args["time"]= args["distance"]/args["rate"]
1684 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1685 | print("Ntg")
1686 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1687 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1688 | args["time"]= args["distance"]/args["rate"]
1689 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1690 | args["rate"]= args["distance"]/args["time"]
1691 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1692 | args["time"]= args["distance"]/args["rate"]
1693 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1694 | args["rate"]= args["distance"]/args["time"]
1695 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1696 | args["time"]= args["distance"]/args["rate"]
1697 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1698 | args["rate"]= args["distance"]/args["time"]
1699 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1700 | args["time"]= args["distance"]/args["rate"]
1701 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1702 | print("NTg")
1703 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1704 | args["time"]= args["distance"]/args["rate"]
1705 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1706 | args["rate"]= args["distance"]/args["time"]
1707 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1708 | args["time"]= args["distance"]/args["rate"]
1709 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1710 | args["rate"]= args["distance"]/args["time"]
1711 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1712 | args["time"]= args["distance"]/args["rate"]
1713 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1714 | args["rate"]= args["distance"]/args["time"]
1715 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1716 | args["time"]= args["distance"]/args["rate"]
1717 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1718 | print("Ntg")
1719 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1720 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1721 | args["time"]= args["distance"]/args["rate"]
1722 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1723 | args["rate"]= args["distance"]/args["time"]
1724 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1725 | args["time"]= args["distance"]/args["rate"]
1726 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1727 | args["rate"]= args["distance"]/args["time"]
1728 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1729 | args["time"]= args["distance"]/args["rate"]
1730 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1731 | args["rate"]= args["distance"]/args["time"]
1732 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1733 | args["time"]= args["distance"]/args["rate"]
1734 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1735 | print("NTg")
1736 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1737 | args["time"]= args["distance"]/args["rate"]
1738 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1739 | args["rate"]= args["distance"]/args["time"]
1740 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1741 | args["time"]= args["distance"]/args["rate"]
1742 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1743 | args["rate"]= args["distance"]/args["time"]
1744 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1745 | args["time"]= args["distance"]/args["rate"]
1746 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1747 | args["rate"]= args["distance"]/args["time"]
1748 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1749 | args["time"]= args["distance"]/args["rate"]
1750 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1751 | print("Ntg")
1752 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1753 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1754 | args["time"]= args["distance"]/args["rate"]
1755 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1756 | args["rate"]= args["distance"]/args["time"]
1757 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1758 | args["time"]= args["distance"]/args["rate"]
1759 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1760 | args["rate"]= args["distance"]/args["time"]
1761 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1762 | args["time"]= args["distance"]/args["rate"]
1763 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1764 | args["rate"]= args["distance"]/args["time"]
1765 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1766 | args["time"]= args["distance"]/args["rate"]
1767 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1768 | print("NTg")
1769 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1770 | args["time"]= args["distance"]/args["rate"]
1771 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1772 | args["rate"]= args["distance"]/args["time"]
1773 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1774 | args["time"]= args["distance"]/args["rate"]
1775 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1776 | args["rate"]= args["distance"]/args["time"]
1777 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1778 | args["time"]= args["distance"]/args["rate"]
1779 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1780 | args["rate"]= args["distance"]/args["time"]
1781 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1782 | args["time"]= args["distance"]/args["rate"]
1783 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1784 | print("Ntg")
1785 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1786 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1787 | args["time"]= args["distance"]/args["rate"]
1788 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1789 | args["rate"]= args["distance"]/args["time"]
1790 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1791 | args["time"]= args["distance"]/args["rate"]
1792 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1793 | args["rate"]= args["distance"]/args["time"]
1794 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1795 | args["time"]= args["distance"]/args["rate"]
1796 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1797 | args["rate"]= args["distance"]/args["time"]
1798 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1799 | args["time"]= args["distance"]/args["rate"]
1800 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1801 | print("NTg")
1802 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1803 | args["time"]= args["distance"]/args["rate"]
1804 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1805 | args["rate"]= args["distance"]/args["time"]
1806 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1807 | args["time"]= args["distance"]/args["rate"]
1808 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1809 | args["rate"]= args["distance"]/args["time"]
1810 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1811 | args["time"]= args["distance"]/args["rate"]
1812 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1813 | args["rate"]= args["distance"]/args["time"]
1814 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1815 | args["time"]= args["distance"]/args["rate"]
1816 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1817 | print("Ntg")
1818 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1819 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1820 | args["time"]= args["distance"]/args["rate"]
1821 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1822 | args["rate"]= args["distance"]/args["time"]
1823 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1824 | args["time"]= args["distance"]/args["rate"]
1825 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1826 | args["rate"]= args["distance"]/args["time"]
1827 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1828 | args["time"]= args["distance"]/args["rate"]
1829 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1830 | args["rate"]= args["distance"]/args["time"]
1831 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1832 | args["time"]= args["distance"]/args["rate"]
1833 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1834 | print("NTg")
1835 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1836 | args["time"]= args["distance"]/args["rate"]
1837 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1838 | args["rate"]= args["distance"]/args["time"]
1839 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1840 | args["time"]= args["distance"]/args["rate"]
1841 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1842 | args["rate"]= args["distance"]/args["time"]
1843 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1844 | args["time"]= args["distance"]/args["rate"]
1845 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1846 | args["rate"]= args["distance"]/args["time"]
1847 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1848 | args["time"]= args["distance"]/args["rate"]
1849 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1850 | print("Ntg")
1851 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1852 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1853 | args["time"]= args["distance"]/args["rate"]
1854 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1855 | args["rate"]= args["distance"]/args["time"]
1856 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1857 | args["time"]= args["distance"]/args["rate"]
1858 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1859 | args["rate"]= args["distance"]/args["time"]
1860 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1861 | args["time"]= args["distance"]/args["rate"]
1862 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1863 | args["rate"]= args["distance"]/args["time"]
1864 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1865 | args["time"]= args["distance"]/args["rate"]
1866 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1867 | print("NTg")
1868 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1869 | args["time"]= args["distance"]/args["rate"]
1870 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1871 | args["rate"]= args["distance"]/args["time"]
1872 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1873 | args["time"]= args["distance"]/args["rate"]
1874 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1875 | args["rate"]= args["distance"]/args["time"]
1876 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1877 | args["time"]= args["distance"]/args["rate"]
1878 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1879 | args["rate"]= args["distance"]/args["time"]
1880 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1881 | args["time"]= args["distance"]/args["rate"]
1882 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1883 | print("Ntg")
1884 | if args.has_key( "rate" ) and args.has_key( "time" ): args["distance"]= args["rate"]*args["time"]
1885 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1886 | args["time"]= args["distance"]/args["rate"]
1887 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1888 | args["rate"]= args["distance"]/args["time"]
1889 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1890 | args["time"]= args["distance"]/args["rate"]
1891 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1892 | args["rate"]= args["distance"]/args["time"]
1893 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1894 | args["time"]= args["distance"]/args["rate"]
1895 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1896 | args["rate"]= args["distance"]/args["time"]
1897 | elif args.has_key( "rate" ) and args.has_key( "distance" ):
1898 | args["time"]= args["distance"]/args["rate"]
1899 | elif args.has_key( "time" ) and args.has_key( "distance" ):
1900 | print("NTg")
1901 | else:
1902 | print("End")
--------------------------------------------------------------------------------